I've seen this in my professional career looking for software bugs; you find something that's definitely wrong in the code, but fixing that alone doesn't fix the problem. You find another cause and fix that, and then maybe the entire "bug" is fixed.
Just ran into an issue like this with some optos on Dirty Harry today.
Opened up the machine to troubleshoot opto switch 42 (a really tricky bastard that you have to remove the ramp to get at).... and found a wire broken off the solder lug.
Naturally I resoldered and tried it out. Nothing. Figured something might be wrong with my soldering so I reflowed. Nothing again. Swapped out the transmitter and tried that. Nothing. Found this thread and based on his comment, swapped the wires on the transmitter. Still nothing.
So I decided to go get a little flashlight at the store to put in between the optos to see if I could make the switch close (the switch has been showing as "open" when it's supposed to be closed as default).
The shiny light did nothing to the switch. Didn't make the receiver close the switch.
Tried the same light on the other optos (in the ramps) and they all responded fine. Light on, switch closed. Click light off, switch open.
So my receiver is bad, too!
Two different causes (so far). Otherwise the game is working 100%.
---
What are your experiences like this? How many different causes do you remember leading to the same single problem? More than 2? How often?
These types of "bugs" are the most frustrating!