![]() |
Windows 98 Troubleshooting #4 |
Troubleshooting Guide for General Protection Faults, Invalid Page Faults, and Illegal Operations.
There are literally hundreds of conditions which can induce these errors. There are simply too many variables outside of our control.
1st, always start by re-seating your Ram
Steps:
A General Protection Fault (GPF) occurs when a program issues a command which the Windows operating system cannot complete. Whenever you encounter a GPF, always begin the troubleshooting process by writing down the error message, word for word. Then close all programs, including Windows, and turn off your computer for at least 10 seconds. Restart your computer and then try again. This simple process tends to solve the vast majority of GPF problems. If the situation continues, however, follow each of the resolutions listed below, in order, until the problem is resolved.
Possible Cause: Corrupted Program Files
Resolution: Uninstall and reinstall the software that is producing
GPFs.
To do this, click the Start button, click Settings, click Control Panel, double-click the Add/Remove Programs icon, and then click the Install/Uninstall tab. From the list of installed programs, click (to highlight) the item you wish to uninstall and then click the Add/Remove… button. When prompted, click the Yes button to continue. After the software is successfully removed, click the OK button and then click the OK button again on the Add/Remove Programs Properties window. If the software is a web-browser, make sure you have a fresh copy of the program (either on diskette, CD ROM, or downloaded from the Internet) prior to uninstalling the potentially corrupt copy. Before reinstalling the software, close all programs except Windows. To do this, press the Control, Alt, and Delete keys (on your keyboard) at the same time. A list of currently running items will appear. If anything other than Explorer is present, click the extra item (to highlight it) and then click the End Task button. Repeat this process until only Explorer remains. Now you can safely reinstall the software, following the manufacturer’s instructions.
Possible Cause: Corrupt or excessively large Cache (Temporary Files and History)
Resolution:
Clear the Cache (Temporary Files and History). To do this in Netscape
Navigator 3.0, open Netscape ( you do not have to be online), click the
Options menu, click Network Preferences, and then click the Cache tab.
You
can then click the Clear Memory Cache Now and Clear Disk Cache Now buttons.
When done, click the OK button. To clear the Temporary Files and History
in Microsoft Internet Explorer 3.0, open Internet Explorer (you do not
have to be online), click the View menu, click Options, and then click
the Advanced tab. Under Temporary Internet Files, click the Settings button.
Then click the Empty Folder button to clear the files. When done, click
the OK button and then click the OK button again on the Options window.
Now click the Go menu and then click Open History Folder. To clear the
entire History, click the Edit menu, click Select All, click the File menu,
and then click Delete. When done, click the File menu and then click Close.
If your web browser is a different version than those listed above, open
your browser (Netscape users will need to be online) and then click the
Help menu for Cache (Temporary Files and History) clearing instructions.
Possible Cause: Memory Conflicts
Resolution:
Check for hardware memory conflicts and insufficient Conventional Memory.
Click the Start button, click Programs, and then click MS-DOS Prompt. Type
mem/c/p at the DOS prompt and press the Enter key (or Return key, on your
keyboard). A list of used memory blocks will be displayed. If there are
any question marks ( ? ) shown, then there are some hardware memory conflicts.
In such situations, contact the manufacturer or retailer of your computer
or memory (RAM). When looking for question marks, also make sure there
is at least 600K of free Conventional Memory. If not, you will need to
free up some.
Possible Cause: Disk compression is slowing the virtual memory usage to a critical level
Resolution:
Do not use disk compression. If you are currently using disk compression,
try disabling it. To do this, click the Start button, click Programs, click
Accessories, click System Tools and then click Drive Space. On the Drive
Space window, click (to highlight) the drive that you wish to uncompress
(usually C:), click the Drive menu, and then click Uncompress…
Possible Cause: The system is being overtaxed
Resolution:
Do not run too many programs concurrently. Having too many applications
running at the same time can cause your system to exceed its resources,
which can induce a GPF. Remember that Windows can only do so much, no matter
how much RAM is installed.
Possible Cause: Virus or software conflict
Resolution:
Use a virus scanner to detect and remove viruses that may be present
on your system. It is always a good idea to scan your computer for viruses
on a regular basis.
Possible Cause: Memory Resource Leak
Resolution:
Check for a memory resource leak. To do this, click the Start button,
click Settings, and then click Control Panel. Next, double-click the System
icon and then click the Performance tab. Write down the percentage of free
System Resources. Click the Cancel button. Close the Control Panel window.
Open the program that is giving you GPFs and then close it again. Go back
and check the System Resources again. Note the amount of free resources.
Open the program that is giving you GPFs and then close it. Check the System
Resources. Repeat this process one more time. If the amount of free system
resources reduces each time, there is a Windows resource leakage problem.
Possible Cause:
The TEMP directory is missing (the default location is C:\WINDOWS\TEMP)
Resolution:
Make sure a TEMP directory is present. To do this, click your Start
button, click Programs, and then click Windows Explorer. When the Windows
Explorer window opens, click the plus ( + ) sign to the left of the image
of your hard drive (usually C:) and then click the plus sign in front of
the Windows directory. If there is not a TEMP folder listed in the Windows
directory, click the File menu at the top of the window, click New, and
then click Folder. A folder titled New Folder will appear highlighted in
blue with a flashing cursor at the end to the text. Type the word temp
to change the name. Then press the Enter (or Return) key on your keyboard.
Close Windows Explorer.
Possible Cause: Winsock.dll conflict
Resolution:
Ensure that the correct winsock.dll file is being accessed by Dial-Up
Networking. Begin by double-clicking the My Computer icon on the desktop.
Next, click the View menu, click Options..., and then click the View tab
at the top of the Options window. Ensure that Show all files is selected
with a black dot. Ensure that Display the full MS-DOS path in the title
bar is checked.Ensure that Hide MS-DOS file extensions for file types that
are registered is not checked. Click the OK button, and close the My Computer
window. Next, click the Start button, click Find, click Files or Folders...,
and then type winsock.dll in the Named field. The Look in field should
display the C:\ drive (unless you have Windows installed on another drive).
Anything following C:\ should be removed. (e.g., C:\WINDOWS should be changed
to C:\).
If the box next to Include subfolders does not contain a check-mark, click the box once to enter one. Click the Find Now button. If your search fails to locate any winsock.dll files (saying 0 file(s) found at the bottom of the window), carefully perform another search. It is extremely rare for a system not to have a winsock.dll file and mistakes such as typos account for almost all failures to locate one. If no files are found on the second search, you will need to copy this file into your WINDOWS folder from your Windows 95 TM source disk(s), a friend’s computer, or some other source before you can access the Internet. The one essential winsock.dll file must be 42KB (21KB in Windows 98) in size and located in the WINDOWS folder (usually C:\WINDOWS). If you have a 42KB (21KB in Windows 98)winsock.dll file in another location, but not in the WINDOWS folder, you will need to copy it into the WINDOWS folder. 42KB (21KB in Windows 98)winsock.dll files are often found in the WINDOWS\SYSBCKUP folder, and the WINDOWS\OPTIONS\CABS folder. To copy a winsock.dll file into the WINDOWS folder, click (to highlight) the winsock.dll you wish to copy from underneath the Name column in the Find window. Click the Edit menu, then click Copy. Double-click the My Computer icon on the desktop (main screen), double-click the icon for the C:\ drive, then double-click the Windows folder icon. Click the Edit menu, then click Paste. You should now be able to locate an icon in this window labeled winsock.dll. If your search locates any non-42KB (non-21KB in Windows 98) winsock.dll files, you may experience connection difficulties due to conflicts. The standard resolution for this problem is to rename all non-42KB (non-21KB in Windows 98) winsock.dll files as winsock.old.
However, if dialer software from another Internet Service Provider (ISP) has been installed on your computer, you may find that this software will no longer function properly after renaming any associated winsock.dll files. If you are not currently using any other ISP’s dialer software, this should not be a problem. If you still intend to use dialer software other than Dial-Up Networking to access another ISP, you may find that you cannot get both dialer packages working simultaneously. This is one reason that we advise renaming (rather than deleting) any non-42KB (non-21KB in Windows 98) winsock.dll files. The renamed files will be overlooked by Windows, yet remain intact, and can always be changed back to the original name whenever you wish to use the other software.
To rename a winsock.dll file, click (to highlight) the winsock.dll you wish to rename from beneath the Name column in the Find window. Click the File menu, then click Rename. When the cursor at the end of winsock.dll begins to blink, type winsock.old, and then press the Enter (or Return) key on your keyboard to save the change. After you have ensured that there is a 42KB (21KB in Windows 98) winsock.dll file in the WINDOWS folder, and renamed any non-42KB (non-21KB in Windows 98) winsock.dll files, repeat the search process, this time searching for wsock32.dll. The one necessary wsock32.dll file must be 65KB (40KB in Windows 98) in size and located in the WINDOWS\SYSTEM folder. Other acceptable locations include the WINDOWS\SYSBCKUP and WINDOWS\OPTIONS\CABS folders. All other wsock32.dll files (regardless of size or location) must be renamed as wsock32.old via the process outlined above for winsock.dll. If you are able to find a 65KB (40KB in Windows 98) wsock32.dll, but it is not located in the WINDOWS\SYSTEM folder, copy it to the WINDOWS\SYSTEM folder, and then rename it as wsock32.old in its original location.
If you are unable to locate any 65KB (40KB in Windows 98) wsock32.dll file, you will need to copy it to the WINDOWS\SYSTEM folder from the Windows 95 TM source disk(s), or some other source before you can access the Internet.
Possible Cause:
The file paging system is stored on a bad portion of the hard drive,
corrupting the virtual memory.
Resolution:
Run a ScanDisk and a Defrag to relocate the paging system to a functional
portion of the disk. To do this, click the Start button, click Programs,
click Accessories, click System Tools, and then click ScanDisk. On the
ScanDisk window, make sure your hard drive is specified (highlighted).
If not, click the correct drive (usually C: ) once to select it. If there
is not already a dot in the circle next to Thorough, click the circle once
to enter one. When ready, click the Start button on that window to begin.
If any fragmented files are found, several choices will appear. Click a
dot into the circle next to Discard lost file fragment(s) and recover disk
space. To run a Defrag, click the Start button, click Programs, click Accessories,
click System Tools, and then click Defrag. If the hard drive you wish to
defragment is not displayed under Which Drive do you want to defragment,
click the down-arrow at the end of the field to select it from a list.
When ready, click the OK button. The program will then report what percentage
of the drive is fragmented. Click the Start button on this window to begin
the defragmentation process even if the software says that it is not necessary.
When finished, click the Yes button to exit.
Intel 80286, 80386, and 80486 CPUs can detect when a program does something wrong. The most common problems are stack faults, invalid instructions, divide errors (divide by zero), and general protection faults. These generally indicate nonstandard code in an application.
The following faults can occur in a Windows application, in Windows itself, or in a Windows device driver (for example, a video display driver).
Stack Fault (Interrupt 12)
Reasons for a stack fault are:
An instruction tries to access memory beyond the limits of the Stack segment (POP, PUSH, ENTER, LEAVE, or a stack relative access: MOV AX, [BP+6]).
Loading SS with a selector marked not present, but otherwise valid (shouldn't happen under Windows).
Stack faults are always fatal to the current application in Windows.
Invalid Instruction (Interrupt 6)
The CPU detects most invalid instructions, and generates an Interrupt
This is always fatal to the application. This should never happen,
and is usually caused by executing data instead of code.
Divide Error (Interrupt 0)
This is caused when the destination register cannot hold the result of a divide operation. It could be divide by zero, or divide overflow.
General Protection Fault (Interrupt 13)
All protection violations that do not cause another exception cause a general protection exception. This includes, but is not limited to:
Exceeding the segment limit when using the CS, DS, ES, FS, GS segments. This is a very common bug in programs, usually caused by miscalculating how much memory is required in an allocation.
Transferring execution to a segment that is not executable (for example, jumping to a location that contains garbage).
Writing to a read-only or a code segment.
Loading a bad value into a segment register.
Using a NULL pointer. A value of 0 is defined as a null pointer. In protected mode, it is always invalid to use a segment register that contains 0.
Troubleshooting General Protection Faults
First, narrow down the source of the error. Since General Protection Faults can be caused by software or hardware, the first step is to restart your computer in Safe mode. Restarting in Safe mode allows you to test your computer in a state where only essential components of the Windows operating system are loaded.
If restart your computer in Safe mode and test our computer, and the error message does not occur, the origin is more likely to be a driver or program. If you restart in Safe mode and then test your computer and your error message does occur, the issue is more likely hardware or damaged Windows core files.
Restart in Safe mode
Restart your computer, press and hold CTRL until you receive the Windows 98 Startup menu, or press F8 when Starting Windows 95 is displayed, and then choose Safe Mode.
Test your computer in Safe mode. If the error does not occur, use the appropriate steps below for your operating system. If the error does occur, there may be a problem with your Windows installation or you may be experiencing a symptom of faulty hardware. See the section of this article entitled Test Hardware.
Windows 98 After your computer restarts in Safe mode, use the System Configuration Utility tool (Msconfig.exe) to minimize conflicts that may be causing your error in Normal mode.
From Safe mode, start and use the System Information tool:
Click Start, point to Programs, point to Accessories, point to System Tools, and then click System Information.
On the Tools menu, click System Configuration Utility.
On the General tab, click Selective Startup, and then click to clear the following check boxes:
Process Config.sys File
Process Autoexec.bat File
Process Winstart.bat File (if available)
Process System.ini File
Process Win.ini File
Load Startup Group Items
Click OK, and then restart your computer in Normal mode when you are prompted. After you restart and test your computer, if you still do not receive the error message continue with the next steps.
Use these steps to narrow down the entry that is causing your issue:
Run the System Configuration Utility, click to select one item in the Selective Startup menu, click OK, follow the instructions on your screen to restart your computer and test.
Continue this process until all of the items in Selective Startup are selected. If you select an item and your issue reoccurs, click the tab of the corresponding item in Selective Startup, and remove half of the check boxes, click OK, and then restart your computer. Continue this process until you narrow down the setting that is causing your problem.
If you can restart your computer successfully when all items are checked, run the System Configuration Utility, click to select Normal Startup, click OK, and then follow the steps on the screen to restart your computer.
Q192926
How to Perform Clean-Boot Troubleshooting for Windows 98
The following steps can help you to determine if the problem that you are experiencing is due to the real-mode configuration of your computer. This could include drivers that are loaded from your Config.sys and Autoexec.bat files.
Restart your computer. When the Starting Windows 95 dialog box is displayed, press F8, and then click Step-By-Step Confirmation from the Startup menu.
When you are prompted, load the following items (if you are prompted to load any other items, press N):
Dblspace driver.
Himem.sys.
Ifshlp.sys.
Dblbuff.sys.
Load the Windows 95 graphical user interface (GUI), choosing to load all Windows drivers.
NOTE: Windows 95 does not require the Config.sys and Autoexec.bat files, but some tools installed on the computer may require them. You should never rename the Config.sys and Autoexec.bat files until you perform a successful interactive boot to verify that they are not needed.
If the clean boot of your real-mode configuration eliminates the issue, isolate the conflict with a terminate-and-stay-resident (TSR) or real-mode device driver using the Step-By-Step Confirmation function.
Load Windows 95 by booting to a command prompt and starting Windows 95 by typing win, holding down the SHIFT key for the duration of the boot. This prevents any programs from loading automatically at startup.
If the issue is resolved by preventing programs from loading at startup, investigate the following possible sources. The Winstart.bat File
The Winstart.bat file is used to load TSRs that are required for Windows-based programs and are not needed in MS-DOS sessions.
Q134402 Some TSRs Moved from Autoexec.bat to Winstart.bat During Setup
If the issue is resolved by bypassing the Startup group, remove each of the programs from the Startup group individually to isolate the program that is causing the problem. The Run Key in the Registry
WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.
For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT or Windows 2000, you should also update your Emergency Repair Disk (ERD).
You can prevent programs from loading by removing the program's string
from the following registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
Programs may also be loading from the following registry key:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
The Win.ini File
The "load=" and "run=" lines in the [Windows] section of the file can start programs automatically. See the following section for more information. Test Windows Configuration Files
To test the Windows configuration files, use the following steps:
Boot to a command prompt.
Rename the Win.ini file by typing the following command:
ren c:\windows\win.ini *.bak
Start Windows 95 by typing win. If this procedure corrects the problem, ensure that the "load=" and "run=" lines in the [Windows] section of the Win.ini file are either blank or preceded with a semicolon (;) to prevent the items from loading.
Rename the System.ini file by typing the following command:
ren c:\windows\system.ini *.bak
Windows 95 requires a System.ini file to load the GUI. Replace the original file by typing the following command:
copy c:\windows\system.cb c:\windows\system.ini
NOTE: Starting Windows 95 with the System.cb file does not load a driver
for the mouse. Edit the new System.ini file, adding the following lines:
[386Enh]
mouse=*vmouse, msmouse.vxd
[boot]
drivers=mmsystem.dll
mouse.drv=mouse.drv
Start Windows 95 by typing win at the command prompt. If replacing the original System.ini file with the System.cb file corrects the issue, the problem most likely resides with either the [boot] or [386Enh] sections of the original System.ini file. Restore the original file to troubleshoot it.
To isolate the cause of the problem, place a semicolon (;) at the beginning of a line to prevent the item from loading.
For additional information about the System.ini file and its default
entries, click the article number below to view the article in the Microsoft
Knowledge Base:
Q140441 Creating a New System.ini File Without Third-Party Drivers
Safe mode disables all protected-mode device drivers for Windows 95. You can conduct testing for incompatible components and resource conflicts by disabling the protected-mode device drivers in Device Manager. Removing Protected-Mode Device Drivers to Isolate Conflicts
Click Start, point to Settings, click Control Panel, and then double-click System.
On the Device Manager tab, click View Devices By Type.
Disable each of the protected-mode device drivers. For example:
Double-click the Floppy Disk Controllers branch to expand it.
Click Standard Floppy Disk Controller, and then click Properties.
On the General tab, click to clear the Original Configuration (Current) check box, and then click OK.
NOTE: If you have enabled hardware profiles, there is a check box for each of the configurations. Clear the check box for the hardware profile you are troubleshooting.
Repeat steps A-C for each device in Device Manager.
Click Close, and then restart the computer.
If you resolve the issue by disabling the protected-mode drivers in
Device Manager, you may have a hardware conflict or a driver may be incompatible
with your hardware.
Q133240
Troubleshooting Device Conflicts with Device Manager
If you determine that a Windows 95 protected-mode device driver is incompatible with your hardware, contact the hardware manufacturer to determine the availability of new drivers. Changing the Video Driver to a Standard VGA Display Driver
NOTE: If you followed the directions in the "Removing Protected-Mode Drivers to Isolate Conflicts" section of this article, you changed the display driver to VGA and you can skip to the next section. Disabling the display adapter sets your video to the VGA driver.
Safe mode starts Windows 95 with the VGA display driver. To determine if the issue you are experiencing is related to your video driver, change to the VGA driver for testing purposes.
NOTE: To ensure a safe return to your previous configuration, use the following steps:
Back up the System.ini file.
Note the current desktop area (resolution) and color palette.
Record the name of your current video adapter.
To change to the VGA display driver, follow these steps:
Start Windows 95 in Safe mode.
Click Start, point to Settings, click Control Panel, and then double-click Display.
On the Settings tab, click Change Display Type.
In the Adapter Type area, click Change.
Click Show All Devices.
In the Manufacturers box, click (Standard Display Types). In the Models box, click Standard Display Adapter (VGA), and then click OK.
Click OK or Close until you return to Control Panel.
Restart your computer.
If you determine that your video driver is incompatible with Windows 95, contact the hardware manufacturer to determine the availability of new drivers.
When you start Windows 95 in Safe mode the registry is read minimally. Damage to the registry may not be evident when running in Safe mode; you may need to replace the existing registry (System.dat) with a backup to determine if the issue is caused by a damaged registry. To troubleshoot a damaged registry, use the following steps:
Boot to a command prompt.
Remove the file attributes from the backup of the registry by typing the following command:
c:\windows\command\attrib -h -s -r c:\system.1st
Remove the file attributes from the current registry by typing the following command:
c:\windows\command\attrib -h -s -r c:\windows\system.dat
Rename the registry by typing the following command:
ren c:\windows\system.dat *.dax
Copy the backup file to the current registry by typing the following command:
copy c:\system.1st c:\windows\system.dat
Restart your computer.
NOTE: The System.1st file is a backup of the registry created during the final stage of Windows 95 Setup. Therefore, the "Running Windows 95 for the first time" banner is displayed and Windows 95 finalizes settings as if it is being installed.
If replacing the System.dat file with the System.1st file resolves the issue, the problem may be related to registry damage. Programs and device drivers added after you installed Windows 95 may require reinstallation to update the new registry.
If the issue is not resolved, restore the original registry using the following steps:
Restart the computer to a command prompt.
Type the following commands, pressing ENTER after each command:
c:\windows\command\attrib -s -h -r c:\windows\system.dat
copy c:\windows\system.dax c:\windows\system.dat
NOTE: Overwrite the existing System.dat file if you are prompted to do so.
Restart the computer.
The Windows 95 CD-ROM includes tools for backing up your system files
as well as the registry.
Q139437
Windows 95 Emergency Recovery Utility
Q135120
Configuration Backup Tool for Backing Up the Registry
To test your hardware, the most efficient method is to install Windows into a new, or clean, folder. If the issue occurs after you have a "clean" install, your issue is faulty hardware. Contact your hardware manufacturer or have your hardware checked by a hardware specialist. To install Windows into a new folder, use the steps in the following Microsoft Knowledge Base article:
ARTICLE-ID:
Q193902
TITLE : How to Install Windows 98 in a New Folder
ARTICLE-ID:
Q142096
TITLE : How to Install Windows 95 in a New Folder
If your issue is resolved when you install Windows into a "clean" directory, either your Windows core files are damaged, or there is a setting in your original installation that is causing the problem. You can choose to use this new installation, however, you need to reinstall your programs. If you wish to return to your old installation of Windows and continue troubleshooting, use the steps in the following Microsoft Knowledge Base articles:
ARTICLE-ID:
Q193902
TITLE : How to Install Windows 98 in a New Folder
ARTICLE-ID:
Q142096
TITLE : How to Install Windows 95 in a New Folder
ARTICLE-ID:
Q192926
TITLE : How to Perform Clean-Boot Troubleshooting for Windows 98
ARTICLE-ID:
Q243039
TITLE : How to Perform a Clean Boot in Windows 95