I did diagnostic software for a militarized microcomputer. It was a back-plane design. One day, I got a work order: computers with the latest rev of the timing card keep crashing. So, set up a duplicate system and, yes, it failed diagnostics. Put a card extender into the back-plane so we can put probes on the new timing card. Everything worked fine. Rats.
It took two of us a week with a logic analyser. The original microcode violated some of the rules, and did a read/modify/write in a single cycle. Not supposed to do that but it worked and it saved a single microcode instruction. Turns out, it worked because one of the chips on the timing card was slow enough internally that certain outputs stayed high long enough for the operation to complete. But the latest rev used a new revision of the chip. While it met the same specs, internally it was faster, so some of the outputs dropped faster than they used to, and the microcode cratered.
Mucho satisfaction finding and fixing that bug.