WW0524: Troubleshooting GP Faults (UAEs)Last reviewed: May 1, 1997Article ID: Q95505 |
3.00 3.0a 3.10 3.11
WINDOWS
kbnetwork kbdisplay kbsound kbtool kb3rdparty kbtshoot kbfile
The information in this article applies to:
Microsoft has an Application Note titled "WW0524: Troubleshooting GP Faults (UAEs)" that can help you troubleshoot general protection (GP) faults in Windows 3.1, Windows for Workgroups 3.1 and 3.11, and unrecoverable application errors (UAEs) in Windows 3.0. You can obtain this Application Note from the following sources:
THE TEXT OF WW0524
Microsoft(R) Product Support Services Application Note (Text File) WW0524: Troubleshooting GP Faults (UAEs) Revision Date: 8/94 No Disk IncludedThe following information applies to Windows(TM) & Windows for Workgroups, versions 3.0, 3.1, and 3.11.
| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an Application| | Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER | | EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED | | WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR | | PURPOSE. The user assumes the entire risk as to the accuracy and | | the use of this Application Note. This Application Note may be | | copied and distributed subject to the following conditions: 1) All| | text must be copied without modification and all pages must be | | included; 2) If software is included, all files on the disk(s) | | must be copied without modification (the MS-DOS(R) utility diskcopy| | is appropriate for this purpose); 3) All components of this | | Application Note must be distributed together; and 4) This | | Application Note may not be distributed for profit. | | | | Copyright (C) 1992-1994 Microsoft Corporation. All Rights Reserved.| | Microsoft and MS-DOS are registered trademarks and Windows is a | | trademark of Microsoft Corporation. | | 3+Open, 3+Share, and 3Com are registered trademarks of 3Com | | Corporation. Adaptec is a trademark of Adaptec, Inc. Adobe Type | | Manager and ATM are registered trademarks of Adobe Systems, Inc. | | AST is a registered trademark of AST Research, Inc. AT&T is a | | registered trademark of American Telephone and Telegraph Company. | | Banyan and VINES are registered trademarks of Banyan Systems, Inc. | | Bitstream is a registered trademark of Bitstream, Inc. COMPAQ is a | | registered trademark of Compaq Computer Corporation. DEC is a | | registered trademark and Pathworks is a trademark of Digital | | Equipment Corporation. Everex is a trademark of Everex | | Systems, Inc. Hewlett-Packard is a registered trademark of | | Hewlett-Packard Company. AT, IBM, Micro Channel, OS/2, and PS/2 are| | registered trademarks of International Business Machines | | Corporation. Intel is a registered trademark of Intel Corporation. | | Artisoft and LANtastic are registered trademarks of Artisoft, Inc. | | NEC is a registered trademark of NEC Corporation. NetWare and | | Novell are registered trademarks of Novell, Inc. PC Tools is a | | trademark of Central Point Software, Inc. Qemm is a trademark of | | Quarterdeck Office Systems. SpeedStor is a registered trademark of | | Storage Dimensions. Stacker is a trademark of STAC Electronics. | | TCS is a registered trademark of Eurotherm International P.L.C. | | Toshiba is a registered trademark of Kabushiki Kaisha Toshiba. | | Zenith is a registered trademark of Zenith Electronics Corporation.| | |--------------------------------------------------------------------| INTRODUCTIONThis document describes general protection (GP) faults (referred to as unrecoverable application errors [UAEs] in Windows 3.0), details the causes of these errors, and provides a systematic approach to eliminate them.
WHAT IS A GENERAL PROTECTION (GP) FAULT?GP faults occur only in the standard and 386 enhanced modes of Windows; they cannot occur in the real mode of Windows 3.0. A GP fault signifies that something unexpected has happened within the Windows environment, typically an improper memory access. For example, an application or a Windows component might read or write to a memory location that has not been allocated to it (memory that it does not "own"), potentially overwriting and corrupting other program code in that area of memory. Another situation where a GP fault may occur involves the passing of parameters between applications and the Windows environment. Invalid parameters can cause invalid instructions to be executed, resulting in GP faults. This is usually the result of an application's internal program code incorrectly passing specific data that could not be correctly interpreted by Windows or a Windows-based application.
What Is a System Integrity Violation?A system integrity violation error message indicates that an MS- DOS-based application has caused a GP fault. Similar to a GP fault, system integrity violations indicate that an MS-DOS-based application has accessed memory that does not belong to it. Because Windows is managing memory in this situation, the MS-DOS- based application's memory access often corrupts Windows program code or data. The result is an application execution error generated from Windows that reports the "application has violated system integrity due to an invalid general protection fault and will be terminated." This message can also occur when an MS-DOS- based application has tried to directly access a hardware component of the system. HOW DO WINDOWS 3.1 AND WINDOWS FOR WORKGROUPS 3.1 AND 3.11 HANDLE GP FAULTS?The parameter validation feature allows Windows 3.1 and both versions of Windows for Workgroups to check for invalid parameters passed between Windows and Windows-based applications. Windows 3.1 and Windows for Workgroups are also designed to better manage and maintain which applications "own" specific memory locations and system resources. As a result, Windows 3.1 and Windows for Workgroups are better at recovering a particular application's memory and system resources if the application causes a GP fault and subsequently stops responding (hangs). When you see a GP fault message while running Windows 3.1 or Windows for Workgroups, the message provides specific information about which applications and Windows components were running at the time of the error, and where the error occurred. If the GP fault is not too severe, Windows can continue to run the application that caused the fault, allowing you to save your work before you close the application.
Performing a Local RebootDepending on the severity of a GP fault in Windows 3.1 or Windows for Workgroups, you may be able to press CTRL+ALT+DEL to display information concerning system integrity and the application that caused the fault. The severity of a GP fault can be measured by how well an application functions after the fault has occurred. When you press CTRL+ALT+DEL after a less severe fault occurs, the following message appears:
System has either become busy or has become unstable - Press any key to return to Windows and wait - Press CTRL+ALT+DEL again to restart your computer (all unsaved information will be lost)When you get this message, you can return to Windows and wait for the system to recover, but you will probably have to restart the system. When you press CTRL+ALT+DEL after a more severe fault occurs, the following message appears:
This Windows application has stopped responding to the system - Press ESC to cancel and return to Windows - Press ENTER to close this application (all unsaved information will be lost) - Press CTRL+ALT+DEL again to restart your computer (all unsaved information will be lost)When you get this error message, you can usually press the ESC key to return to your application and save your work (if possible) or press the ENTER key to close the application and return to Windows; this is known as a local reboot. Once you have saved your work or returned to Windows, quit Windows and restart your computer to prevent additional GP faults.
PREPARING TO TROUBLESHOOT GP FAULTSThe procedures in the following section provide a proven way to troubleshoot GP faults. Many of these troubleshooting steps require changes to system configuration files. These changes are not intended to be permanent; they should be used as techniques for isolating the conflict that caused the GP fault. Before you begin making changes, you should back up your system files and make a startup (also known as system or boot) disk. This gives you the ability to restart your computer and edit your CONFIG.SYS or AUTOEXEC.BAT files should any changes cause the system to hang. This also ensures that you can return to your original system configuration by restoring your original system files after you have determined the source of the problem. To create a startup disk with the necessary files:
SYSTEMATICALLY ISOLATING GP FAULTSIt is important that you follow the steps in this section in sequence. GP faults are usually caused by the interaction of two or more applications; therefore, skipping steps may prolong the time required to isolate the problem. NOTE: Most people find the cause of the GP fault in the first half of these procedures.
Eliminate the Basics
Eliminate Other Software Conflicts Within WindowsIt is essential to determine whether the GP fault is caused by a conflict between Windows and your hardware or a conflict between Windows and other software. To do this, eliminate possible software conflicts before testing your hardware. After you remove the software listed below, restart your computer and try to reproduce the GP fault. To eliminate possible software conflicts:
Configure Windows for the Lowest Level ConfigurationUse the Windows Setup program to configure Windows for the minimum necessary hardware devices. Run the MS-DOS version of Windows Setup (from the Windows directory [usually named WINDOWS], type setup) and select the lowest level configuration of device drivers. When you troubleshoot GP faults, use only the standard Windows device drivers listed below, if possible.
Display: VGA (Version 3.0) Mouse: No mouse or other pointing device Network: No network installed (This is not an option for Windows for Workgroups.) NOTE: Systems with EGA cards and/or monitors should use the EGA display driver. Check for Unsupported Third-Party Drivers
Eliminate Software Conflicts at the MS-DOS LevelCheck for incompatible terminate-and-stay-resident (TSR) programs or unsupported device drivers in your CONFIG.SYS and AUTOEXEC.BAT files. Temporarily comment out all lines relating to device drivers and TSR programs that are not required to start your system. These may include virus-detection programs, disk-imaging programs, undelete utilities, caching programs, CD-ROM drivers, multimedia drivers, terminal-emulation software, and so on. (To comment out a line, use a text editor, such as MS-DOS Editor or Edlin, open the AUTOEXEC.BAT or CONFIG.SYS file, and type "rem" (without the quotation marks) at the beginning of the line, then save the file and restart your computer.) NOTE: Do not comment out network files if the Windows files are on a network server. Minimum MS-DOS configuration for Windows versions 3.0 and 3.1:
CONFIG.SYS | AUTOEXEC.BAT files=50 | path c:\;c:\dos;c:\windows buffers=30 | prompt $p$g device=c:\<path>\himem.sys | set temp=c:\ stacks=9,256 (Windows 3.1 only) |Minimum MS-DOS configuration for Windows for Workgroups 3.1 (with the Microsoft Windows network):
CONFIG.SYS | AUTOEXEC.BAT files=50 | c:\<path>\net start buffers=30 | path c:\;c:\dos;c:\windows device=c:\<path>\himem.sys | prompt $p$g stacks=9,256 | set temp=c:\ *device=c:\<path>\protman.dos | /I:<path>\protocol.ini | device=c:\<path>\<mac driver>.dos | device=c:\ <path>\workgrp.sys |*NOTE: This should appear on a single line in your CONFIG.SYS file. Minimum MS-DOS configuration for Windows for Workgroups 3.11 (with the Microsoft Windows network):
CONFIG.SYS | AUTOEXEC.BAT files=50 | c:\<path>\net start buffers=30 | path c:\;c:\dos;c:\windows device=c:\<path>\himem.sys | prompt $p$g stacks=9,256 | set temp=c:\ device=c:\<path>\ifshlp.sys |CAUTION: Before modifying these files, make sure you don't comment out lines pertaining to other hardware-specific device drivers, such as disk-compression utilities, extended memory boards, third- party disk-partitioning programs, and so on. If you do not know the purpose of a line in your CONFIG.SYS or AUTOEXEC.BAT file, do not comment it out. The following drivers may be required to start the computer or to access your hard disk:
Device driver | Function SSWAP.COM | Stacker(TM) disk compression STACKER.COM | Stacker disk compression DASDDRVR.SYS | IBM BIOS fix DMDRVR.SYS | Ontrack disk partition SSTORE.SYS | SpeedStor(R) disk compression ASPI4DOS.SYS | Adaptec(TM) SCSI BIOS extensions SCSIHA.SYS | Adaptec SCSI buffering deviceIf the previous procedure corrects the problem, the problem is related to one of the drivers or TSR programs that you commented out. To identify which line is loading the TSR program or device driver that causes the error, restore the commented-out lines one by one until the problem reoccurs.
Eliminate Potential Network ConflictsIf the machine is running on a network, disabling the network software is the easiest and quickest way to determine whether the network software is causing the problem. To disable the network software:
Eliminate Potential Video ConflictsIf a poorly designed or corrupted video driver is installed, GP faults may occur at seemingly random times, sometimes very frequently. You may also see a blank screen or the system may hang when you quit an MS-DOS-based application that is running in a window. These problems can be caused by a poorly designed or corrupted video driver or by the use of the incorrect video grabber file. Use the following steps to ensure you are using a compatible video driver:
Ensure You Are Using the Correct Switch for HIMEM.SYSHIMEM.SYS is the default device driver Windows uses in the standard and 386 enhanced modes to access extended memory, including the high memory area (HMA)--the first 64K of extended memory (1024K-1088K). HIMEM.SYS accesses the HMA through the A20 line of memory using A20 "handlers." The method used to access the HMA depends on the hardware you are using, so HIMEM.SYS has been designed to use several different A20 handlers. HIMEM.SYS follows a routine at load time to determine which A20 handler is appropriate for your machine. Unfortunately, some nonstandard machines do not respond to the HIMEM.SYS tests, which can result in the wrong A20 handler being selected. Using the incorrect A20 handler can result in many problems, such as slow system performance and GP faults. The system may also hang when HIMEM.SYS loads, leaving the following message on the screen:
HIMEM: DOS XMS Driver, Version x.xx - MM/DD/YYThe /MACHINE switch is used to gain control of the A20 line by forcing HIMEM.SYS to use a specific handler. For example:
device=c:\<path>\himem.sys /machine:1 -or- device=c:\<path>\himem.sys /m:1To test the different HIMEM.SYS switches on your machine, edit the CONFIG.SYS file with an ASCII text editor and add the /MACHINE switch with one of the machine-specific handler numbers (1-16). If you do not know which number to use, refer to your current MS-DOS or Windows documentation. For most IBM PC/AT 100 percent- compatible machines, one of the IBM PC/AT compatible A20 handler switches (/M:1, /M:11, /M:12, /M:13) should work. If your computer is not listed in the documentation, you are not sure which number to use, or the machine number for your computer doesn't correct the problem, try these machine numbers in the following order: 1, 11, 12, 13, 8, 2-7, 9-10, 14-16. Check your current MS-DOS or Windows documentation for the list of machines that require a specific A20 handler. WARNING: When you are testing to see which A20 handler is appropriate, make sure you have a startup MS-DOS disk with an ASCII text editor (such as MS-DOS Editor or Edlin), because some A20 handlers will cause your machine to hang. For MS-DOS versions 6.2 and later, you can force the testing of XMS memory with the TESTMEM:ON parameter. If you continue to have problems accessing extended memory, try enabling and disabling XMS testing. For example:
device=c:\<path>\himem.sys /testmem:on -or- device=c:\<path>\himem.sys /testmem:off Ensure Windows Is Configured for the Correct Computer Type and NetworkSome machines and networks require that you override the Windows Setup default setting for the computer type and network. If the correct selection is not made during Setup, Windows may not operate correctly, or you may receive GP faults. Machines that must be specifically selected during Windows Setup include the following:
Windows | Workgroups Machine 3.0 | 3.1/3.11 | 3.1 | 3.11 AST(R)--all 80386- and 80486-based machines X | X | | AST Premium 386/25 and 386/33 (CUPID) | | X | X AT&T(R) PC | X | X | X AT&T NSX 20--Safari Notebook | X | X | X Everex(TM) Step 386/25 (or compatible) X | X | X | X Hewlett-Packard(R)--all machines X | X | X | X IBM PS/2(R) Model 70P | X | X | X IBM PS/2 Model L40sx | X | X | X Intel(R) 386SL-based system with APM | X | X | X MS-DOS system with APM | X | X | X NCR-all 80386- and 80486-based machines | X | X | X NCR PC386sx X | X | | NCR PC 925 X | | | NEC(R) PowerMate SX Plus X | X | X | X NEC ProSpeed 386 X | X | X | X Toshiba(R) 1200XE | X | X | Toshiba 1600 X | X | X | X Toshiba 5200 X | X | X | X Zenith(R)-all 80386-based machines X | X | | Zenith Data Systems-all 80386-based machines | X | | Zenith-all 386/486-based machines | | | XNetworks that must be specifically selected during Windows Setup include the following: NOTE: This information does not apply to Windows for Workgroups.
Windows Network 3.0 | 3.1/3.11 3Com(R) 3+Open(R) LAN Manager (XNS only) X | 3Com 3+Open | X 3Com 3+Share(R) X | X Artisoft(R) LANtastic(R) | X Banyan(R) VINES(R) 4.0 X | X DEC(R) Pathworks(TM) | X IBM OS/2(R) Lan Server | X IBM PC LAN Program X | X LAN Manager versions 1.x (or 100-percent compatible) X | X LAN Manager 2.0 (or 100-percent compatible) X | X LAN Manager 2.1 (or 100-percent compatible) | X Novell(R) NetWare(R) | X TCS(R) 10NET | XIf your computer and/or network is on either of these lists and you did not select your computer type or network specifically during Setup, quit Windows and run the MS-DOS version of Setup from the WINDOWS directory. This allows you to make the proper selection without having to reinstall Windows.
Use 386 Enhanced Mode for TroubleshootingIf GP faults occur in 386 enhanced mode but do not occur in standard mode, your system may have a memory conflict in the upper memory blocks (UMBs). Such errors occur only in 386 enhanced mode and most frequently in Windows 3.0, because version 3.0 does not inherit UMB usage from the expanded memory manager (EMM). To eliminate the possibility of a UMB conflict:
REINSTALLING WINDOWSIf you have followed all the above steps and still receive GP faults, there is most likely a problem with the machine or the way the hardware is configured. Use the following procedure to reinstall Windows to eliminate any possible remaining software or disk-integrity conflicts:
TO OBTAIN THIS APPLICATION NOTEThe following file is available for download from the Microsoft Software Library:
~ Ww0524.exe (size: 26599 bytes)For more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q119591 TITLE : How to Obtain Microsoft Support Files from Online Services
|
KBCategory: kbnetwork kbdisplay kbsound kbtool kb3rdparty kbtshoot kbfile
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |