Towards the end, Lomont writes:
[A]n amazing number of people guessed the bug had something to do with the 65536 row limit, showing the flaws in belief in numerology.
Um, it's a power of 2? Somehow it's not surprising that powers of 2 occur in a lot of distinct places with binary computers. (Hence the "correlation is not causation" tag on this entry -- the number of rows didn't cause the bug, nor vice versa, but both were caused by the fact that the internal architecture of the computer is binary.)
After reading the explanation of the problem, it was only "sort of" a binary bug. The programmers used FFFF as an end-of-table marker, and the bug centers around the test for that marker. Granted, FFFF is a common list sentinel because it's at the edge of the 16-bit universe, but another, non-binaryish value might have been used.
ReplyDelete