back in the early days, I was tasked with rewriting the runtime library of a computer language from K&R C into ANSI C. This was on Slackware Linux using the appropriate GNU toolset.
I was stunned to find that the assembly code written by the C compiler did, in fact, not compile into object format... And the behaviour was eratic as well, in that sometimes this file and sometimes that file would produce weird error message from gcc. We were all stunned, as the PC in question was brand new and bought only a couple of days before the problem started showing up... The odd thing was, though, once the assembly code failed somewhere specific, rerunning the toolset would make it fail there again and again until the next day, when a new problem would arise that I could not find a solution for.
Having asked all the compiler people in the office, I was left to my own devices, and after another couple of days, I decided that the problem must be inside the PC's casing. So I removed the casing, and lo and behold, the CPU Fan wasn't spinning... A quick nudge with the top of my pencil sorted it out.
The office manager made sure that the manufacturer (a local PC guy) came by to fix the CPU Fan... This was rather a quick job that only meant I had to go for an early lunch downstairs at the Pizza Hut (I think it was, could have been a Domino's) and wait for your man to come and tell he had replaced the Fan.
It still spooks me when one part of a compiler toolchain cannot understand what another part of that same toolchain generates...