This box had had problems for about a week. It was a brand new box with 4.4-STABLE on it.
It had successfully built world, installed XFree86-4, and been used
for some time. Granted, the box did fall over when trying trying to export the slides
from Star Office. But I put that down to a buggy Star Office, not X, and not FreeBSD.
Then I bought a second box, which would not build world. It started coring, sig 11, etc.
That is a classic sign of bad RAM. I was directed to
Memtest86 - A Stand-alone Memory Diagnostic.
This neat little product will install from either windows or *nix. I actually downloaded the
version installable from Windows and DOS. It fits on a floppy. You just boot from it and
away it goes. Very nice!
MemTest86 consistently found problems with one stick of ram. So I exchanged that with my
local store, and tried again. It was fine. But now the box I had had for some started giving
memory failures. Intermittently. And then it started failing build world. It would build
with 128MB but not with 256MB (either 1 stick or two sticks). And it didn't matter what
memory slots I used. It would fail with 256MB of RAM. That was very
suspect. After consulting with the shop, they agreed to replace the motherboard. That's
when I started getting the errors which prompted this article.
Once the Writing Makefile for DynaLoader errors started to occur, I started
to ask around on IRC. Kris figured it was hardware problems. He has seen that error before,
and it was hardware. I was perplexed. Two bad motherboards in a row? It was possible. So I
tried swapping the memory around. I had three sticks (2x128MB and 1x256MB) so I started using
all combinations of those. I ran out of options. The build failed repeatedly.
mux started me looking at times on files etc. He suspected that the access time was somehow
screwed up. Well, he was right. I started looking at the access times for the files which
the Makefile was looking at. We found this:
-rw-r--r-- 1 root wheel 133556 Jan 18 18:38:37 2000 Config.pm
-rw-r--r-- 1 root wheel 67988 Jan 18 18:38:36 2000 config.h
Yeah, OK, the times match up. That's about when the build world stopped... Then I checked
the build log file which was created using my build world script:
# ls -lt | head /usr/tmp
-rw-r--r-- 1 root wheel 9405257 Jan 18 2000 bw.2000.01.18.17.18.22.log
That's when the light bulb went on. 2000? The date is wrong! DOH!