You are currently offline, waiting for your internet to reconnect

Many events with ID 333 are added to the System log on a Windows Server 2003-based computer

Support for Windows XP has ended

Microsoft ended support for Windows XP on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

Support for Windows Server 2003 ended on July 14, 2015

Microsoft ended support for Windows Server 2003 on July 14, 2015. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

Not sure if this is the right fix? We've added this issue to our memory dump diagnostic which can confirm.
Symptoms
A Windows Server 2003-based computer may continue to log event ID 333 in the System log every five seconds until the computer is restarted.

For example, the following Event ID 333 message my be logged in the System log:


Event Type: Error
Event Source: Application Popup
Event Category: None
Event ID: 333
Date: date
Time: time
User: N/A
Computer: computer name
Description: An I/O operation initiated by the Registry failed unrecoverably. The Registry could not read in, or write out, or flush, one of the files that contain the system's image of the Registry.

Cause
This issue may occur when the Non Paged Memory or the Paged Pool Memory is temporarily insufficient. The system keeps recording such events until the computer is restarted, or the related hive is unloaded, even though the temporary memory insufficiency stops.

Note Not all Event ID 333 errors have this cause. To identify the source of Event ID 333, use the troubleshooting process that is mentioned in the "More Information" section. You should apply this hotfix only after you complete the troubleshooting process and determine whether it is a system component or the system driver that is affected.
Resolution
A hotfix is available to resolve this issue. After you apply this hotfix and then create the corresponding registry entry, the computer records only one Event ID 333 when the temporary memory becomes insufficient. Additionally, by controlling the registry entry, you can make the system trigger a Stop error for diagnostic purposes when the memory becomes insufficient.

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must have Windows Server 2003 Service Pack 1 or Service Pack 2 installed.

Restart requirement

You have to restart the computer after you apply this hotfix.

Registry information

To enable this hotfix, add the following registry entry, and set the value to 1 or 2.
Location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session ManagerName: RegistryFlushErrorSubsideType: REG_DWORDValue: 1 or 2

If you set the value of the RegistryFlushErrorSubside registry entry to 1, the system only records one event 333 when the temporary memory insufficiency occurs. If the value is set to 2, the system triggers a Stop error for diagnostic purposes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Windows Server 2003 SP1, x86-based versions
File nameFile versionFile sizeDateTimePlatformSP requirement
Ntkrnlmp.exe5.2.3790.33282,469,37617-Apr-200911:51Not ApplicableSP1
Ntkrnlpa.exe5.2.3790.33282,281,47217-Apr-200911:04x86SP1
Ntkrpamp.exe5.2.3790.33282,321,40817-Apr-200911:03Not ApplicableSP1
Ntoskrnl.exe5.2.3790.33282,427,90417-Apr-200911:49x86SP1
Windows Server 2003 SP2, x86-based versions
File nameFile versionFile sizeDateTimePlatformSP requirement
Ntkrnlmp.exe5.2.3790.44972,498,56017-Apr-200912:28Not ApplicableSP2
Ntkrnlpa.exe5.2.3790.44972,310,14417-Apr-200911:19x86SP2
Ntkrpamp.exe5.2.3790.44972,350,59217-Apr-200916:29Not ApplicableSP2
Ntoskrnl.exe5.2.3790.44972,457,08817-Apr-200912:28x86SP2
Windows Server 2003 and Windows XP, x64-based versions
File nameFile versionFile sizeDateTimePlatformSP requirement
Hal.dll5.2.3790.3191280,06418-Apr-200904:06x64SP1
Ntkrnlmp.exe5.2.3790.33284,655,61618-Apr-200904:06x64SP1
Ntoskrnl.exe5.2.3790.33284,509,18418-Apr-200904:06x64SP1
Windows Server 2003 SP2 and Windows XP SP2, x64-based versions
File nameFile versionFile sizeDateTimePlatformSP requirement
Hal.dll5.2.3790.4354280,06418-Apr-200908:05x64SP2
Ntkrnlmp.exe5.2.3790.44974,612,60818-Apr-200908:05x64SP2
Ntoskrnl.exe5.2.3790.44974,540,41618-Apr-200908:05x64SP2
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
More information

Sample troubleshooting process

The most common reason for failure is that the system is out of Non Paged Memory or Paged Pool Memory. Here is a sample troubleshooting process:
  1. This is the Stop error code that is generated.
    Bugcheck code 00000051Arguments 00000003 00000004 e12b1750 00000000

    Note You can determine the registry hive that is being flushed by running the !reg baseblock command with the third parameter. For example:
    kd> !reg baseblock e12b1750FileName : emRoot\System32\Config\SOFTWARE
  2. This is the stack trace that leads to the Stop error.
    1: kd> kbn # ChildEBP RetAddr  Args to Child              00 f8a3ed18 808b7d96 00000051 00000003 00000004 nt!KeBugCheckEx+0x1b01 f8a3ed3c 808b92bb e12b1701 82f42660 808a03c8 nt!HvSyncHive+0xd402 f8a3ed58 808c29f9 00000000 e12b1a48 f8a3ed78 nt!CmpDoFlushNextHive+0xe103 f8a3ed80 8087c157 00000000 00000000 82f42660 nt!CmpLazyFlushWorker+0x7f04 f8a3edac 80941a1a 00000000 00000000 00000000 nt!ExpWorkerThread+0xeb05 f8a3eddc 80889d8e 8087c06c 00000001 00000000 nt!PspSystemThreadStartup+0x2e06 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
  3. You can use the following information to confirm pool resource depletion.
    1: kd> !vm*** Virtual Memory Usage ***	Physical Memory:       65345 (    261380 Kb)	Page File: \??\C:\pagefile.sys	  Current:    393216 Kb  Free Space:    332368 Kb	  Minimum:    393216 Kb  Maximum:       786432 Kb	Available Pages:        9600 (     38400 Kb)	ResAvail Pages:        44603 (    178412 Kb)	Locked IO Pages:         342 (      1368 Kb)	Free System PTEs:      81060 (    324240 Kb)	Free NP PTEs:          27507 (    110028 Kb)	Free Special NP:           0 (         0 Kb)	Modified Pages:           31 (       124 Kb)	Modified PF Pages:        31 (       124 Kb)	NonPagedPool Usage:     2669 (     10676 Kb)	NonPagedPool Max:      30300 (    121200 Kb)	PagedPool 0 Usage:      1146 (      4584 Kb)	PagedPool 1 Usage:     11498 (     45992 Kb)	PagedPool 2 Usage:     11501 (     46004 Kb)	PagedPool 3 Usage:     11468 (     45872 Kb)	PagedPool 4 Usage:     11491 (     45964 Kb)	********** Excessive Paged Pool Usage *****	PagedPool Usage:       47104 (    188416 Kb)	PagedPool Maximum:     47104 (    188416 Kb)	********** 2509 pool allocations have failed **********From the output of the !vm command, we see that Paged Pool usage is excessive. Therefore, we use "4" in the !poolused command.  If Non Paged Pool usage is excessive, we would use "2".  The "/t 10" simply means to display the top 10 tags.1: kd> !poolused /t 10 4   Sorting by  Paged Pool Consumed  Pool Used:            NonPaged            Paged Tag    Allocs     Used    Allocs     Used Leak        0        0     44988 92495328	UNKNOWN pooltag 'Leak', please update pooltag.txt VmbK       44   364544         8   876544	Volume Manager Extension , Binary: volmgrx.sys Gh05        0        0       139   796728	GDITAG_HMGR_SPRITE_TYPE , Binary: win32k.sys
  4. Visit the following Web site to search for the pool tag that is known as the primary consumer to determine the system component or the driver that is responsible for the memory allocation:

    For more information about pool tags, click the following article number to view the article in the Microsoft Knowledge Base:
    298102 How to find pool tags that are used by third-party drivers
    Note The MmSt tag is a common tag that is frequently identified as a primary consumer of paged pool memory.

    Note If Paged Pool does not appear to be exhausted, check the following global variable. If this is set to one in the memory.dmp, this means that the Registry Quota limit has been reached and is likely the root cause of the failure. There are no pool failures logged for registry quota failures, this is a separately tracked resource.

    1: kd> dd nt!CmpQuotaWarningPopupDisplayed l1809e21b0 00000001

    Please follow KB304101 to properly set PagedPoolSize properly if the max appears to be low (i.e. 160MB) as Registry Quota is based on total Paged Pool configured amount and also make sure there is no arbitrary Registry Quota configured via KB124594 as this is the other controlling setting.

    For more information about how to limit this tag's usage, click the following article number to view the article in the Microsoft Knowledge Base:
    304101 Backup program is unsuccessful when you back up a large system volume

References
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
177415 How to use Memory Pool Monitor (Poolmon.exe) to troubleshoot kernel mode memory leaks
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
248345 How to create a log using System Monitor in Windows
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
244139 Windows feature lets you generate a memory dump file by using the keyboard
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
Properties

Article ID: 970054 - Last Review: 10/09/2014 12:44:00 - Revision: 8.0

Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Datacenter x64 Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard x64 Edition, Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows XP Professional x64 Edition

  • kbmdd kbautohotfix kbexpertiseadvanced kbfix kbsurveynew kbqfe KB970054
Feedback
dy>