3 ms·
I had to track down a bug in an application once. It turned out the bug only happened after you printed to an HP printer - the driver changed a critical floatin
by mark-r 8y ago
I had to track down a bug in an application once. It turned out the bug only happened after you printed to an HP printer - the driver changed a critical floating point flag in the processor and never restored it.
- mikestew 8y agoAh, yes, the floating point bug that set the FP error handing to "software" instead of "hardware". Of course, no one thought to inform the application software side of the house, so you were one divide-by-zero away from an application crash because the FPU said "not my problem anymore". You could fix it with a liberal sprinkling of _fpreset(), assuming your language/environment allowed that option. To be fair, HP wasn't the only one that had that bug. My SWAG is that there was some common library that a lot of drivers used, including HP, that fiddled with the FPU and never set it back.
- mark-r 8y agoThe application I worked on was quite popular, and I can guarantee our customers used every printer that was out there. The HP was the only one that exhibited this bug.
- mikestew 8y agoI'll up your anecdata with the fact that I worked at Microsoft at the time, and was trying to track this one down across a wide variety of print drivers for the product I worked on. Though HP was the most egregious (IIRC, they all repro'ed), others exhibited the bug. But, doesn't matter, it's long since been fixed regardless of who did or did not have the bug. :-)