When you run a program, you may receive an error message that is similar to one of the following error messages:
- Windows 95, Windows 95 OSR, Windows 98, Windows 98 Second Edition
This program has performed an illegal operation and will be shut down.
If the problem persists, contact the program vendor.
Details:
Program_name caused an invalid page fault in module KERNEL32.DLL at Fault address.
- Windows Millennium Edition (Me)
Program_name has caused an error in KERNEL32.DLL. Program_name will now close.
If you continue experiencing problems, try restarting your computer.
Notes:
- Program_name refers to the title of the program that is improperly using the uninitialized critical section.
- For specific information about the Fault address values, see the "Fault Addresses" topic in the "More Information" section of this article.
- Windows Me does not include a Details option in the error message dialog box. See the "Windows Me Fault Logging" topic in the "More Information" section of this article.
The error message occurs if a program or driver calls the Win32
EnterCriticalSection function with the address of an uninitialized CRITICAL_SECTION object. In this situation, Windows is behaving as it is designed to. The software that is listed as the cause is responsible for the error. See the "Critical Section Description" topic in the "More Information" section of this article.
This behavior is by design.
Fault Addresses
The following table documents the fault addresses that are displayed for the indicated versions of Windows (without any Kernel32.dll updates), and with the Kernel32.dll updates that are documented in the indicated Microsoft Knowledge Base articles installed:
Kernel32
version Fault address Windows version Article
-------------------------------------------------------------------------
4.90.3000 0177:BFF6BB07 Me 4.90.3000 -
4.10.2224 0167:BFF7B9A6 98 Second Edition 4.10.2222A Q272137
4.10.2223 0167:BFF7B9A6 98 Second Edition 4.10.2222A Q262516
4.10.2222 0167:BFF7B9A6 98 Second Edition 4.10.2222A -
4.10.2000 015F:BFF7B997 98 4.10.1998 Q222131
4.10.1999 015F:BFF7B997 98 4.10.1998 Q272137
4.10.1998 015F:BFF7B997 98 4.10.1998 -
4.03.1216 0157:BFF79F97 95 4.00.950B or C Q175086
4.03.1212 0157:BFF79FA4 95 4.00.950B (OSR 2.1) Note 1
4.00.1112 0137:BFF99C00 95 4.00.950B (OSR 2) Q175086
4.00.1111 0137:BFF9A3C0 95 4.00.950B (OSR 2) -
4.00.952 0137:BFF998AC 95 4.00.950A Q175086
4.00.951 0137:BFF9A08C 95 4.00.950A Q148336
4.00.950 0137:BFF9A07C 95 4.00.950A -
Note 1: Windows 95 OSR2 with the Universal Serial Bus (USB) Supplement installed has the same Kernel32.dll version as OSR 2.1. See the "References" section in this article for links to the indicated Microsoft Knowledge Base articles.
Windows Me Fault Logging
To verify the fault address, open the fault log (the Faultlog.txt file is located in the Windows folder):
- Click Start, point to Programs, point to Accessories, point to System Tools, and then click System Information.
- On the Tools menu, click Fault Log. The Faultlog.txt file is opened, with the most recent fault information at the end of the file.
Critical Section Description
The threads of a single process can use a critical section object for mutual-exclusion synchronization. The process is responsible for allocating the memory that is used by a critical section object, which it can do by declaring a variable of type CRITICAL_SECTION. Before using a critical section, some thread of the process must call the
InitializeCriticalSection or
InitializeCriticalSectionAndSpinCount function to initialize the object.
General
158238Â
(http://kbalertz.com/Feedback.aspx?kbNumber=158238/EN-US/
)
How to Determine the Version of Windows 95/98/Me in Use
253756Â
(http://kbalertz.com/Feedback.aspx?kbNumber=253756/EN-US/
)
Availability of Universal Serial Bus Support in Windows 95
Microsoft Windows 95
148336Â
(http://kbalertz.com/Feedback.aspx?kbNumber=148336/EN-US/
)
Memory Leak in Windows 95 Kernel Using Windows Sockets
Windows 95 and Windows 95 OSR
175086Â
(http://kbalertz.com/Feedback.aspx?kbNumber=175086/EN-US/
)
Regional Settings Specified in User Profile Are Not Applied
Windows 98
222131Â
(http://kbalertz.com/Feedback.aspx?kbNumber=222131/EN-US/
)
Computer Hangs Clicking Close Button in Close Program Dialog Box
Windows 98 and Windows 98 Second Edition
272137Â
(http://kbalertz.com/Feedback.aspx?kbNumber=272137/EN-US/
)
GetShortPathName() Does Not Work When It Is Passed a Long File Name from A Novell NetWare Server
Windows 98 Second Edition
262516Â
(http://kbalertz.com/Feedback.aspx?kbNumber=262516/EN-US/
)
Close Program Dialog Box Hangs If You Click the Title Bar with a USB Mouse