Don't be so quick to be convinced
Helped a student out today with a bug in their Java. The compiler was doing the impossible, complaining about something which was obviously not true. Now I have a really strong policy in this area, in that I reckon if you let the person with the bug convince you that everything they have done is right and it is a fault in the universe you have lost the battle. The problem was that, after five minutes of staring at the code I had allowed myself to begin to wonder if this was the case.
So, if someone is explaining a problem to you, don't agree with them. Argue every point. If you find yourself nodding along with them, stop and demand a more detailed explanation. And then check any assumptions. "Is it really using this file?" "Is this the geniune output?" "What version are you using?" etc etc.
Eventually I found the cause. The Java class which was giving the problem had a constructor of type void (sorry if this is a bit techy). This meant it was not a constructor at all, but a method. Trying to construct things with it just caused an error. The fact that Java allows this little foible (C# does not) had cost this chap a whole load of work and worry. Python calls the constructor method new (as does Visual Basic). I reckon this is a good plan.