General Protection Fault: not a quake
Question: Recently I’ve been getting “Error — Close Program” messages in Windows 95. They say that the program I am running has caused an “internal page fault” or a “general protection fault”. Oh, no! What have I done? —G.H.
Answer: Remember when Sesame Street had those cute segments on the merits of sharing? Well, if Windows was your neighborhood, a General Protection Fault or Internal Page Fault would be the actions of a selfish kid who ignored those lessons and was outside, chasing squirrels, stomping on flower beds, and snatching candy from babies.
General protection faults and internal page faults are signs that programs on your system aren’t sharing memory or software or hardware resources very nicely.
Remember, Windows is a resource-sharing operating system. Tasks share processor time, memory, and system files. When a program runs, it gets allocated a corner of memory to do what it needs to do. If it reads or writes data to a part of the system that it hasn’t been given access to, or if it overwrites memory space it doesn’t own, the whole system can come to a nasty standstill. Then, like muddy footprints in a flower bed, a cryptic message informs you that things have gone awry.
More specifically, “general protection faults happen when a program tries to access a resource, or attempts a process that the system will not allow,” explained Jeremy Schumland, one of my trusted advisers over at CompuSmart’s West Edmonton store. “Most commonly, it happens when a process attempts to read or write to a protected memory address.”
That’s why GPFs only occur in Windows 95, NT, and 3.x in standard mode. They don’t occur in DOS or in Windows 3.x’s real mode, because memory space is not protected in those versions.
“Internal page faults occur when a process attempts to access memory that has been allocated to another program or process,” said Schumland. “This has the potential of overwriting and/or corrupting another process’s program code. It can also happen when a poorly programmed application incorrectly passes specific data that, in turn, cannot be interpreted by Windows or another piece of programming code.”
The most difficult chore involving GPFs and IPFs, besides having to re-type your Pulitzer-worthy novel which was lost during the crash (you do have back-ups of that novel, don’t you?), is determining the cause of the fault.
In Windows 95, the error might generate a dialogue box with the close and ignore buttons. Unlike Windows 3.1, the ignore button might get you around the error. Choosing close will bring up a new Windows 95 message box that says: “This program has performed an illegal operation and will be shut down.” Selecting the close button will exit the error message. The details button is the key to troubleshooting.
If you intend to pursue the error with a technician, make a note of error. The first clue to the problem lies in the first line. It usually looks something like this: “MYPROG caused a general protection fault in module MYPROG.EXE at 008d:00001290.” Often “MYPROG.EXE” will be familiar to you. If you recognize it as a program you refer to in your question, try removing it completely from the system and reinstalling.
Some time ago, Netscape was playing havoc with my system and I was confronted with a festival of GPFs. I removed it and did a full reinstall of Windows 95 and the machine runs much more smoothly now. I was lucky. It only cost me a day.
Under Windows 95, a handy resource to start with is the desktop troubleshooting wizard. Many problems can be solved by following its instructions. To access it click the Start button > Help > Contents tab > Troubleshooting book. Then, select the topic you need to troubleshoot and follow the instructions.
The sections “If you run out of memory” and “If you have a hardware conflict” are often good places to start.
If you can duplicate the error at will, the error may be documented by the company that makes the software and a patch or fix might be available for downloading or by calling their help line. A good place to start looking is in the knowledge base at microsoft.com. Pick the software from the pull-down list and type in GPF or IPF in the search area. If the suspect software is not made by Microsoft, pick your operating system from the pull-down menu and enter the name of the third-party software that might be causing the problem.
If the error occurs frequently in different applications, then Windows 95 is probably at fault. Look at your device driver setup by clicking Start > Settings > Control panel > System and then the Device Manager tab. Little yellow circles with exclamation marks on specific driver listings indicate problems. Click on the marked listings and then click Properties to see what’s wrong.
Also check to see if your system resources are low. To determine this, click through to Systems as above but pick the Performance tab. System resources will be listed as a percentage remaining.
If you can get that number into the 70%-80% range and the errors still occur, then it’s unlikely that resources are the cause of the errors. Some specific software may be the source of your error. If resources are low, exiting and restarting Windows should improve your situation.
A great resource on the net with a more in-depth look at GPF and IPF problems is available at help.netscape.com.
For Windows 3.1 users, look at support.plato.com and www.umax.com.