Hacker News new | ask | show | jobs
by Uchikoma 4520 days ago
Craziest to me is The Bug by Ellen Ullman.

Personal craziest was an Oracle performance problem on Windows NT in the 90s. Slow as hell. Going to the server, logging in, checking everything: Blazing fast. Back at the desk, slow as hell. Problem was the GL tube screen blanker with software rendering :-)

3 comments

My craziest one turned out to be caused by World War 2.

Bug report from a bank said that a customer's birth date was not accepted when trying to open an account - they'd tried and found that any data within a range of about a month in the summer of 1945 was not accepted. This was a German bank, and the application was written in Java.

I could reproduce the bug and found that the date was rejected at a very low technical level in the Calendar class (long before any domain validation happened), just as if you'd entered the 30th of February. Some debugging sessions later I found that the Calendar class calculates a lot of internal date and time fields, and the daylight savings time field containd a value of 2 hours, which was rejected by internal sanity checks.

The name of that field led me to a Java API bug report which explained everything: The Locale for Germany is "centered" on Berlin, and in the summer of 1945 Berlin and the Soviet-occupied zone of Germany actually did have a 2 hour daylight savings time (which happened to be identical to Moscow time). Some smartass in the Java development team had "corrected" the sanity check in Java 1.4 because he believed 1 hour DST to be the maximum - but Berlin is in fact not the only timezone which had a 2 hour DST at one time or another. The bug was fixed in Java 1.5

Times and dates are such a minefield for developers. I really came to appreciate this about 10 years ago when I dove into the Python datetime module documentation to fix a 'simple' problem and saw how much work went into getting things right. Combine that with how much of it comes up on RISKS (comp.risks) and I try not to ever take dates and times for granted.
We had a crazy Windows NT 4.0 + Lotus Notes bug where something in the window manager leaked memory (only when Notes was running). Maximizing and minimizing the Notes window would recover the memory. If you didn't do that, the OS would eventually hang. This was a public-facing server -- why we were running Notes for that is a whole other story of sadness and despair.

Anyway, eventually my colleague wrote a small VB program that maximized and minimized the window every few minutes. Cured the problem.

And not unique, unless you're Paul: http://thedailywtf.com/Articles/A-Fat-Pipe.aspx
WTF! No I'm not :-)