INFO: SYMBOL Checksum Error Reported When Kernel Debugging (184826)



The information in this article applies to:

  • Microsoft Windows NT Server 4.0 Terminal Server Edition SP4
  • Microsoft Windows NT Server 4.0 Terminal Server Edition SP5
  • Microsoft Windows NT Server 4.0 Terminal Server Edition SP6
  • Microsoft Windows NT Workstation 4.0 SP4
  • Microsoft Windows NT Workstation 4.0 SP5
  • Microsoft Windows NT Workstation 4.0 SP6
  • Microsoft Windows NT Workstation 4.0 SP6a
  • Microsoft Windows NT Server 4.0 SP4
  • Microsoft Windows NT Server 4.0 SP5
  • Microsoft Windows NT Server 4.0 SP6
  • Microsoft Windows NT Server 4.0 SP6a

This article was previously published under Q184826

SUMMARY

When you are loading symbols for a kernel debug against a computer running Windows NT 4.0 Service Pack 4 (SP4), the debugger reports a checksum error, symbol mismatch, against the following components:

Win32k.sys
Ntdll.dll
Kernel32.dll
Winsrv.dll


The symbols that are being used are correct, and should not report this error.

MORE INFORMATION

This behavior is by design, assuming you are debugging a computer with a single processor.

If you install SP4 on a computer with a single processor, you smash the lock prefix instructions. This matches the behavior of Windows NT setup. This behavior is new to SP4 and did not occur with Service Pack 3, so lock prefixes were left intact even on computers with a single processor.

The lock x86 instruction only comes into play on multiprocessor computers. When SP4 is installed on a computer with a single processor, we replace the lock instruction (0xF0) with a NOOP instruction (0x90).

Newer versions of Windbg know about this behavior and don't display the warning for these files. Click the link belwo to download the most recent version of Windbg from the Microsoft Web site:

Modification Type:MajorLast Reviewed:5/14/2003
Keywords:kbFEA kbinfo KB184826