A General Protection Fault is nothing more mysterious or complex than a program attempting to access a region of memory outside of that which is permitted by the Operating System. When a program misbehaves in this way under UNIX, the OS usually signals the fact that it's terminating the offending program by yelling "Segmentation fault". Windows would rather call this a GPF: different terminology, same problem.

Where the GPF has been caused by a third-party piece of software, this is no more an indication of a problem with Windows than when you receive a segfault from Netscape on a UNIX machine. Unfortunately, due to Microsoft's very tight integration of non-kernel features with the Windows kernel (Internet Explorer being the prime example), situations can arise where the Windows kernel itself can be affected by this kind of memory error. In this situation Windows may hang, give the famous Blue Screen of Death or behave unpredictably in other ways.

General Protection Faults (GPFs) occur when a program violates the integrity of the system, such as trying to access memory that is not part of its memory allocation. The GPF is a defensive mechanism used by the operating system to stop offending programs before damage is done.

  • GPFs in DOS Programs
    Since DOS runs on a virtual machine (VM), only that VM is affected. You will see a Win9x message indicating that the program failed. Clicking on the OK button will terminate the program and the VM. If you click on the DETAILS button, you will get a stack dump, which will display what was in the registers at the time of the crash. If you have a lot of problems with a particular program, capture the stack dump and give the information to the tech support person, since it may help solve your problem.

  • GPFs in 16-bit Windows Programs
    Since all 16-bit programs use cooperative and preemptive multitasking, all 16-bit programs will stop should one crash. Clearing the offending 16-bit program will possibly release the resources to the other 16-bit programs, who will (normally) continue. When a 16-bit program has a GPF error, you will see a Windows 3.1-style dialog box. After the program is cleared, you will see a Windows 95-style dialog box. Clicking the OK button will terminate the application and the resources may be returned to the other programs.

  • GPFs in 32-bit Windows Programs
    Should a 32-bit program fail, it normally does not affect other programs. You will see a Windows 95 dialog box. Clicking the OK button will terminate the program and release the resources to the operating system.

  • GPFs in Device Drivers
    Driver GPFs are serious problems because they are the hardware access translators, and they have direct hardware access. Driver GPFs can affect the entire operating system, and possibly damage parts. For example, a CD-ROM burner can accidently burn data on a disk, rendering it useless. Driver GPFs can cause the Blue Screen of Death. You should reboot as soon as possible.

  • Kernel GPFs
    A Kernel GPF is normally caused by an associated program encroaching on memory allocated to the OS Kernel. Kernel GPFs result in the famous Blue Screen of Death. You should reboot as soon as possible.
  • Log in or register to write something here or to contact authors.