| UO Computing Center Microcomputer Services |
|
Troubleshooting General Protection Faults
Windows 3.0, 3.1, 3.11 and WFW |
|
If you are having problems with Segment Load
Errors, see the file Troubleshooting Segment Load Errors. You will return to this document for detailed troubleshooting instructions. Please note: The following document
is taken from the Microsoft Knowledge Base. http://www.microsoft.com/kb/default.aspThis article can be found by querying on the keywords "gp and tshoot"
======================================================================
Microsoft(R) Product Support Services Application Note (Text File)
WW0524: Troubleshooting GP Faults (UAEs)
======================================================================
Revision Date: 8/94
No Disk Included
The 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.| |
|--------------------------------------------------------------------|
INTRODUCTION
============
This 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 Reboot
-------------------------
Depending 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 FAULTS
===================================
The 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:
1. Insert a formatted disk in your floppy disk drive, type the
following command, and press ENTER:
sys c: a:
If you are using a version of MS-DOS earlier than 5.0, you also
need to copy the COMMAND.COM file to drive A by typing the
following command and pressing ENTER:
copy c:\command.com a:
2. Copy an ASCII text editor (such as MS-DOS Editor [including
QBASIC.EXE] or Edlin) to the disk in drive A by typing the
following commands, pressing ENTER after each:
copy c:\dos\edit.com a:
copy c:\dos\qbasic.exe a:
If you are running version 4.0 or earlier of Microsoft MS-DOS,
your editor is called Edlin. To copy Edlin to drive A, type the
following command and press ENTER:
copy c:\dos\edlin.com a:
3. Copy your AUTOEXEC.BAT, CONFIG.SYS, SYSTEM.INI, and WIN.INI
files to the disk in drive A with the following commands:
copy c:\autoexec.bat a:
copy c:\config.sys a:
copy c:\windows\system.ini a:
copy c:\windows\win.ini a:
NOTE: If your Windows directory is on a drive other than C,
substitute the appropriate drive letter for "c" in the above
steps.
SYSTEMATICALLY ISOLATING GP FAULTS
==================================
It 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
--------------------
1. Ensure the application was not designed for an earlier version
(2.x) of Windows.
If you are running Windows in standard or 386 enhanced mode, check
to see if you are running an application that was designed for an
earlier version (2.x) of Windows. Applications designed for
Windows 2.x cause errors when run under Windows 3.0 or 3.1 in
standard or 386 enhanced mode. Windows displays a warning message
when you run an application designed for Windows version 2.0,
2.03, 2.1, or 2.11. Such applications should be run only under
Windows 3.0 in real mode, as the dialog box suggests. Since real
mode is not available in Windows 3.1 or Windows for Workgroups,
contact the manufacturer of the application for possible
workarounds or to obtain a software upgrade.
2. Run the MS-DOS CHKDSK command with the /F switch.
NOTE: Before you run this command, you must quit Windows.
By running CHKDSK /F, any lost allocation units or other file
allocation table (FAT) errors are corrected. For more information
on CHKDSK, refer to your MS-DOS documentation.
NOTE: If you are using MS-DOS 6.2 or later, run SCANDISK instead
of CHKDSK /F.
3. Ensure system resources are above 60 percent.
From the Help menu in Program Manager, choose About Program
Manager. You should be running Windows in the highest mode your
hardware supports, and your system resources should be close to 60
percent. If system resources are lower than 60 percent, you may
have an application running in the background using resources. If
this is the case, close all applications before proceeding.
4. Check the MS-DOS version you are running.
Your machine should have the proper MS-DOS version for its
hardware type. Original equipment manufacturer (OEM) versions of
MS-DOS (such as COMPAQ(R) MS-DOS or IBM(R) PC-DOS) should be used
only on their respective OEM hardware platforms (that is, COMPAQ
MS-DOS on COMPAQ machines only and IBM PC-DOS on IBM machines
only).
NOTE: Microsoft MS-DOS 5 Upgrade and Microsoft MS-DOS 6 Upgrade
are platform independent-they function correctly on all 100-
percent IBM PC/AT(R)-compatible machines.
5. Determine if the problem occurs in standard mode.
If you are having problems with GP faults in 386 enhanced mode,
try running Windows in standard mode (WIN /S) to see if the GP
faults still occur. If the errors are present in both standard and
386 enhanced mode, the problem may be caused by a conflict between
Windows and a hardware device, or you may have a corrupted file.
NOTE: Standard mode is not available in Windows for Workgroups
3.11. Start Windows for Workgroups 3.11 by typing WIN /D:T to
prevent loading any 386 enhanced mode virtual device drivers.
6. Run Windows without using the WIN.INI file.
To determine if you are having problems with corrupted fonts, a
corrupted printer driver, or software loading from the run= or
load= line, rename the WIN.INI file with the following command,
then restart Windows:
ren c:\windows\win.ini winini.old
If this procedure corrects the problem, ensure the load= and the
run= lines in the [windows] section of the WIN.INI file are either
blank or preceded with a semicolon (;) to prevent any software
from loading. If this fails to correct the problem, contact
Microsoft Product Support Services for assistance in isolating the
problem within the WIN.INI file.
If the previous procedure does not correct the problem, rename
WININI.OLD to WIN.INI, by typing the following command:
copy c:\windows\winini.old win.ini
7. Reinstall the software that is causing the GP fault.
If the GP fault can be tracked to a specific application,
reinstall the software causing the GP fault. The files on disk may
have been corrupted or damaged, or the application may have been
improperly installed. Contact the software vendor for assistance
if you need help reinstalling the application.
Eliminate Other Software Conflicts Within Windows
-------------------------------------------------
It 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:
1. Ensure that the StartUp group is empty.
2. Ensure that no screen savers, including built-in Windows screen
savers, are running. In the Control Panel window, choose the
Desktop icon and ensure the Screen Saver Name list box is empty.
3. Ensure Windows is not being run from a menu program, such as MS-
DOS Shell.
Configure Windows for the Lowest Level Configuration
----------------------------------------------------
Use 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
-----------------------------------------
1. The installation programs of some applications modify the
SYSTEM.INI and WIN.INI files to enhance the overall functionality
of Windows or provide additional features to the Windows
environment. For example, programs such as Adobe Type Manager(R)
(ATM[R]), Bitstream(R), and SuperPrint add device drivers to the
SYSTEM.INI file. Temporarily comment out all lines relating to
third-party drivers to ensure that Windows uses a minimum
configuration for testing purposes. (To comment out a line, use an
ASCII text editor, such as Windows Notepad, to edit the .INI file
and place a semicolon at the beginning of the appropriate line.)
If this corrects the problem, the problem was most likely caused
by one of the drivers you commented out. To identify which line is
causing the problem, replace the commented-out lines one by one
until the problem reoccurs.
2. The statements below are those most commonly altered by third-
party software manufacturers. Make sure your configuration does
not differ from the default Windows configuration shown below:
SYSTEM.INI | WIN.INI
---------------------------------------------
[boot] | [windows]
shell=progman.exe | load=
system.drv=system.drv | run=
keyboard.drv=keyboard.drv |
mouse.drv=mouse.drv |
display.drv=vga.drv |
comm.drv=comm.drv |
sound.drv=mmsound.drv |
Eliminate Software Conflicts at the MS-DOS Level
------------------------------------------------
Check 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:\
|
|
Last Update |
[Home][CC Home][UO Home]
[VMS/UNIX][Network Services]
|