How do I diagnose the cause of a freeze after resuming in Windows XP (SP3)?

I have just built a new computer from parts. Whenever I resume from any sleep mode (S1, S3 or S4) the computer freezes within about 60 seconds of the welcome screen appearing. At this point the computer is completely non-responsive and the only recourse is to reboot.

I have updated the BIOS and all drivers to current from the motherboard manufacturer's site. I have reset BIOS settings to default, including disabling AMD Cool n Quiet.

The windows event logs are not helpful at all. Other than immediately after resuming, the system has been absolutely stable for a couple of months (as long as AMD CnQ is disabled; with Cool n Quiet active I did experience periodic freezes).

The system is:

Mobo       : MSI 790GX-G65
CPU        : AMD Phenom II 965 BE at 3.6 GHz
Memory     : Corsair DDR3 1600, at 1333 MHz and 9-9-9-21
HDDs       : 1 EIDE (System - O/S, Programs, etc), 2 SATA in RAID-0 (Data)
DVD        : 1 LITE-ON DVDRW SOHW-1673S
Card Reader: 1 multi-card reader

Keyboard is attached via PS2 and mouse is USB.

Any thoughts or pointers would be most welcome.


EDIT

It appears that the computer may not freeze if a program is left running which puts it under significant load. I left a stress test running which keeps all cores under 85% load, and my son put the computer to sleep - while this program is running it I have been able to resume from S3 successfully 9 out of 10 times, compared against about 20 tests with the computer idle which have all frozen. So this may be related to being in an idle state when it resumes.


As suggested in the other thread, you can configure (slightly different way for USB keyboards) and use a method to manually force a BSOD to dump the memory to investigate and find out what the heck is hanging your system (*now with great, though kind of lengthy video to help!*—requires SilverLight).

Since your problem is coming out of resume, one thing you could try is running BootVis, and doing a trace of the Next Standby & Resume. Then you should be able to clearly see what is causing the problem—likely one of the third-party drivers is getting hung. (Microsoft has long since removed the file download for BootVis from their sites since people were incorrectly using it to try to speed up or “tweak” their systems instead of using it for what it was actually designed for. However the last known version, 1.3.37.0—aka the leet version—is still available around the Internet.)


I have identified and resolved my problem. What I did was follow Synetech inc's advice.

Specifically:

  1. I enabled manual crash dumping using CTRL-SCROLL-SCROLL.
  2. I downloaded the WDK debugger from Microsoft's web site tools and installed them (by extracting the debugger installer from the WDK ISO).
  3. I resumed my computer 4 times to where it became non-responsive and crash dumped each time.
  4. Using WinDbg to examine the dumps I noted that in all 4 dumps, 3 of my cores were in the Windows idle function, while the 4th was always in tscomm trying to acquire a spin-lock.
  5. I searched my Windows directory and found tscomm.sys. The properties on tscomm.sys identified it with TamoSoft.
  6. Since I have TamoSoft CommView 5.0 installed I first tried disabling its TCP stack hooks without success. Finally I uninstalled CommView and my problem was resolved - successful resume from S3 sleep.

I have yet to test resume from S4 hibernate, but expect it to work because it hangs in the same place and manner as S3. Hibernate works wonderfully also.

My thanks to "Synetech inc" for not only a fix, but the information needed to debug resume failures in the future.


My guess would be to first understand the problem more intimately. You can increase the memory for a crash-dump, for instance, so you can get more information from your kernel-debugger.

The second thing you have is to do some alleviation of the symptoms. Disabling CnC in your BIOS, and disabling all other features related to clock control might be a good start. See if your PC correctly resumes from S3 now.
Related to this could be to unplug any and all USB devices you may have attached. They have been known to mess up the boot of some systems, they might interfere with wake-up, too. Of course, also try to unplug your mouse and try a PS/2 one instead.

Thirdly could be, after you have tried all previous steps, to do a clean install of your windows, using an official (thus guaranteed clean) disk. If your PC still does not correctly wake from S3, I would be inclined to call tech-support for your motherboard and see what they make of it. You might get, for example, a 'beta' BIOS which supports it. This is unlikely, though, because you are using an old OS.


I cannot say for sure on your motherboard, however, I had similar issues with an Asus motherboard.

I diagnosed by using Microsoft / Sysinternals Process Monitor and Autoruns. I ran Process Explorer, clicking on one of the four graphs at the top to bring up the history window and then entered sleep mode and resumed, I noticed that Asus's own under/over clocking power saving utility was taking up 100% cpu and was thrashing the disk doing something. I then used Autoruns to disable all Asus services to test and it was what I expected.

I hope this helps you and you are able to find out the cause of the delays. As I said, I cannot say for sure on Asus, but it most likely is something similar.