How to Repair General Protection Fault - Error repair
Are you seeing this, "This program has performed an illegal operation and will be shut down"? This is known as a GPF or General Protection Fault. Some people call it a General Protection Error, not to be confused with a General Page Fault. And Windows Protection Errors are something again.
A General Page Fault - Invalid Page Fault, is different from a General Protection Fault. A Page Fault is caused by low or damaged physical memory, low free space for the paging file (swap file) or by a program accessing data in memory that is currently being modified by another program. It is called a Page Fault because the error is in the Paging of memory.
Program Error Messages (The big red X and a message stating that such and such program performed an illegal operation and will be shut down) are Invalid Page Faults, but the OS had a built in error trap to catch the error before handing it off to the CPU. To find and fix these errors you will need to use System Sentry.
General Protection Faults are often caused by a software problem, you may need to update a device driver. It can also be cause by a program loading a DLL into memory at an address that is already used.
GPFs come from the CPU when it has exceptions and interrupts. When the CPU has exceptions and interrupts the CPU executes switches to a completely different code path to handle some external condition in the executing code. An interrupt is typically caused by an external stimulus—for example, a keystroke being hit. An exception is caused by an internal condition in the code or data that causes the processor to generate an exception. A classic example of an exception is the CPU attempting to read from a memory address that doesn't have physical RAM mapped to it. Which means there is no such memory address
Before going any further, study when and how you get a General Protection Fault. Some GPFs can because by hardware problems. One good place to check is low CPU core voltage. Another place to check is your RAM, is it all the same type. Example; EDO and Fast Page DRAM does not work well together. Once you ruled out a hardware problem continue on reading this page. After you have read this page you may wish to read our page on How to Fix GPFs . Be sure that the temperature inside your computer is cool enough. I have found that my main computer will start having GPFs at about 105 degrees or when the CPU hits about 114 degrees. The temperature on this computer is important as I have it well over clocked, 3 10,000 rpm hard drives, two CD-ROMs all in a small box. So I added a fan at the top of the box, like an attic fan. I cut a 3 1/8 hole in the top, covered with a grill. Now the CPU runs about 95 to 99 degrees.
To explain all this, let's start at the beginning. You should first read and understand what a DLL is . Now that you have read how a DLL works and what one is you are ready to learn what a GPF is. Remember that the Operating System must hand off everything to the CPU for processing.
Let's assume that a program made the call that was explained in What is a DLL, except the call was no longer available in the Kernel32.dll (also see next paragraph). If the program was using an error trap, then a message window might be displayed to tell the user an error has occurred. Or the program might use an error trap that redirects the program to do something else, like ignore the error and continue. If an error trap is not used the program will crash. If the error is effecting the OS, the OS will crash. If the OS has an error trap for this error you would get GPF, "This Program has performed an illegal operation and will be shut down. If the OS does not have an error trap for the error you get the "the blue screen of death"; thus saving a system crash.
Or the call exists but in the DLL that is in the Program folder and not in the one in System. The call might be made from another DLL that is looking in the System folder first, thus a GPF occurs. Normally a program looks to it's own directory first for a DLL and if it does not exist it then looks to System. Remember that when a program installs a shared DLL it is registered in the Registry. Let's look at this. Let's assume program X is installed on Monday, installing a shared DLL named Mydll.dll version 2.0 into the Windows\System folder and registers the version 2.0 in the Registry. Now on Tuesday program Y is being installed and has a newer version (3.0) of Mydll.dll. Program Y registers version 3.0 in the Registry but does not copy it to the System folder. Rather it leaves the newer version in its' own folder. Then on Wednesday program Z is installed requiring Mydll.dll version 3.0, but as a well written Setup program does not overwrite the current version because the Registry reflects version 3.0 already and there is a file named Mydll.dll is in System. When in reality it should have also check the version on the file itself as well. So now every time you use program Z it gets an error. Reinstalling the program will not fix this problem, the only way to fix this properly is to copy the file Mydll.dll from program's Y folder to Windows\System folder.
Now it is time to find out what errors can cause GPFs. One of the most common system errors occurs during boot up; a driver is called to be loaded, either from the Registry or the System.ini file, or from another driver. The OS places these files into memory at a memory address that is either assigned by the file or the OS assigns one. If the file is missing an error occurs because the OS has already assigned a memory address for the missing file. The OS usually can clear this type of error by displaying "the blue screen of death", a GPF. Another example, not so common, a file wants to be assigned to a specific memory address that the OS has already assigned to another file. This results in a GPF, in an attempt to clear the error. The OS will not be able to clear the error so Windows will not continue to load. This error can only be repaired by removing one of the two files from the system or rearranging the order in which they load. Since not all files demand a specific memory address, loading the one that does first, will allow Windows to load the other file to a different address. Sometimes using the Cleaning and Compacting feature in RegRepair 2000 can accomplish this.
In this example : EXPLORER caused an invalid page fault in module MYDLL.DLL at 0186:7fb92425. It is possibility that the file Mydll.dll is corrupt. Replacing the file Mydll.dll may fix the problem. If not you would need to replace the file with a different version, probably a newer version (higher number). Checking the file versions and locating a newer file can take a lot of time, using our program Sentry Sentry can do this quickly for you.