T
Self-repair can be problematic other places, if it's not implemented correctly.
Specifically, any time a device performs self-repair, it should log sufficiently that a repairman can come in later and do a proper job of it, if needed. (It is possible that some self-repair may be able to fix the problem correctly, on its own. However, just because that code can do it correctly some of the time, does not mean that there cannot be times when a slightly different problem arises, and its self-repair is ineffective.)
Once upon a time, I had a server which performed that stunt. Automated monitoring would report it down, but by the time I could get out of bed, VPN in, and check on it, it was always up again, and only the automated monitor showed it having ever had an issue. Eventually, it got to the point where it was doing this multiple times a night, and I had to stay up late until it did it, so I could catch it in the act. I think it was something like a failing power supply clicking off, and the redundant power source wasn't supplying quite enough juice at that time, due to some other systems over-consuming for some late-night processing.