A Strange Problem

December 21st, 2005
 

I have emailed Jay Lee at the Houston Chronicle with the following unusual problem:

Here’s a Christmas challenge for you. I have a peculiar problem with my computer. I have my own theories about what’s going on, but I’m not much of a Windows guru, so I’ll defer to more experienced Windows users.

Every now and then my PC (a home-built system based around an Asus NCCH-DL motherboard and running Windows XP Home SP2) will freeze. The mouse won’t move and the keyboard won’t acknowledge input. It stays that way for about 15 seconds, then everything breaks free and functions normally. No reboot, no crash, just a short freeze. The freeze happens maybe once every couple of weeks. When it freezes, there are no screen updates at all, and no disk activity. I haven’t been able to correlate it to any particular application or activity on the computer, except as noted below. My system is remarkably stable, even during activities that require a lot of CPU load or disk I/O.

There are some really odd symptoms that accompany this problem. First, if I click the mouse while the system is frozen, then after about the tenth or eleventh click, I’ll hear a beep from the motherboard. Not a Windows system sound played through my speakers, but a monotone beep from the speaker on the motherboard. Second, the frequency of these freeze-ups increased dramatically when I allowed Google Desktop search to index a network drive. The network drive is a RAID-5 filesystem exported from my linux file server using Samba; when Google is indexing this filesystem, the rate of freeze-ups increased to several per hour. I verified the correlation to the Google software by suspending its crawl of the drive; I got no more freezes.

The first few times this freeze-up occured, I rebooted the system as soon as I could. Later I tried letting the system run, and saw no ill effects. Even with these freezes, my system is stable. I can’t remember a single hard lockup or crash in the eight or nine months I’ve been using this motherboard. (I have no doubt that if I were still running one of the DOS-based Windows versions, this problem would result in a spectacular crash.)

I’m not going to list all the hardware in my system, because I’m not so much interested in what’s causing the problem as I am in understanding the odd symptoms. In particular:

  1. What could be going on at such a low level as to produce a beep from the motherboard?
  2. Why did the frequency increase when Google Desktop Search was indexing my network drive?

I’ve tried to do my own research on this problem, including searches at Google and Microsoft’s knowledge base. Neither turned up anything like my particular problem. Again, I’m not looking for a specific cause/solution from you, but some insightful speculation about the unusual symptoms.

Things like this shouldn’t happen with a modern computer and operating system. In older days, when computers were slow and before innovations like DMA became commonplace, it was fairly easy to overwhelm a PC with too much data – either from a disk drive, a modem, a mouse, or even a keyboard. Computers that couldn’t keep up would lose data or sometimes even crash.

More modern computers are spectacularly fast and have advanced I/O subsystems to help them move huge quantities of data at astonishing speeds without losing any of it. Normally our computers can move all this data without even appearing to be too busy. So I’m perplexed at why my computer’s problem seems to be correlated to network I/O. Networks are relatively slow devices, especially compared to the USB, SCSI, and SATA disks I use with my system, so it should be very easy for the computer to keep up with a network drive. Why, then, would moving a lot of data across the network cause me problems?

Maybe it’s because I’m using a network driver that’s poorly written. Drivers are small bits of software that handle a particular device in the computer. Drivers are buried deep, deep within the operating system, so when they behave poorly, they have the power to lock up the system (or even to crash it). So the first part of my theory is that my network driver is the primary culprit. Even though my computer should easily be able to keep up with the data coming across the network, if the network driver isn’t written correctly, then it’s possible that it sometimes has trouble and I see that trouble when the system freezes. I expect Jay Lee wil suggest that I check my driver to ensure that I’m using the latest version of the driver and that it’s “Microsoft Certified”.

The second symptom I asked him to explain, the beep from the motherboard, is probably explained as follows: when Windows becomes too busy to do anything but listen to the network, it’s unable to collect any data coming from any other device. The chipset that controls the USB devices notices that Windows is not receiving any data, and when enough data backs up in the chipset’s internal buffer that the device has begun to lose data, it notifies me the only way it can: by beeping the motherboard’s speaker. This is a very low-level, primitive type of notification because the error is occurring in the hardware, and not in the operating system.

There’s one other possible explanation for the freezes, although it seems unlikely. A process running at realtime priority can preempt everything else going on in the system, including I/O, and can cause the system to appear to freeze while the realtime process is busy. However, I know of no processes running in my system at realtime priority.

If Jay Lee comes through with an explanation, I’ll post it here.




One Response to “A Strange Problem”

  1. brem Says:

    Interesting.

    The only time my motherboard beeped at me was because it was so hot inside the room that it went over the secure level temperature.

    Keep us updated on that…

    brem