A general protection fault (GPF) in the Intel x86 architecture is a fault indicating that a currently executing program has in some way violated the rules of the hardware on which it is running. These rules are meant both to protect programs from extremely obvious and potentially disastrous runtime errors. The errors that cause a general protection fault are in general unrecoverable and it is determined that the safest response is usually to terminate the program.
In general, there are four types of errors that will cause this type of fault to be reported.
In some versions of Microsoft Windows each of these errors is reported as a "general protection fault". In other versions, the errors may be reported by other names such as "Unrecoverable Application Error" (Windows 3.0), "Illegal operation" (Windows 9x) and "This application has encountered a problem and needs to close" (Windows XP).
In systems such as Unix and Linux, the errors are reported separately (e.g. segmentation fault for memory errors).
In this case, the program attempted to perform an action which would result in accessing a portion of memory which should not be accessed. This can include:
There are some things on a computer which are reserved for the exclusive use of the operating system. If a program which is not part of the operating system attempts to use one of these features, it may cause a general protection fault.
Additionally, there are storage locations which are reserved both for the operating system and the processor itself. As a consequence of their reservation, they are read-only and an attempt to write data to them by an unprivileged program is an error.
The Intel architecture specification defines some behaviors or conventions which programs are expected to adhere to, largely for the protection of the consistency of data within and between programs. If a program does not observe one of these conventions, it may cause a general protection fault.
This type of error will also occur if a situation arises in which two indicators are in conflict, a program performs an action which does not make sense or is not meaningful in the current context, or an invariant condition has been violated.
A general protection fault can be caused if an instruction loaded by the processor is not in the expected instruction format or is too long.
General protection faults can occur for several reasons, including:
This article is licensed under the GNU Free Documentation License.
It uses material from the
"General protection fault".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world