Causes of System Integrity Errors in Windows 3.1Last reviewed: November 23, 1994Article ID: Q82665 |
The information in this article applies to:
SUMMARYSystem Integrity errors are caused by unexpected CPU faults. The following information provides a general overview of CPU fault causes. For more information, refer to your Intel 80386 CPU manual or "The 80386 Book," by Ross P. Nelson (published by Microsoft Press).
MORE INFORMATIONThe following are some of the more common CPU faults:
Invalid OpcodeAn invalid opcode fault occurs when an instruction that is not legal is executed. The most frequent cause of this invalid fault is executing a value that is not an instruction.
Stack ExceptionA stack exception fault occurs when an invalid stack operation is attempted. The most frequent cause of this invalid fault is trying to PUSH or POP a WORD or DWORD at an address that causes the operation to span across SP value 00000h or 0FFFFh. For example, attempting to POP a WORD with SP=0FFFFh, is attempting to read one byte of the WORD at offset 0FFFFh and the other byte of the word at offset 00000h. The CPU does not support this operation.
General Protection (GP) FaultMany things can cause a GP fault. As the name implies, this fault means something was attempted that is not allowed because it would violate the protection features built into the CPU. As with invalid opcode faults, a typical cause of this invalid fault is executing garbage, but unlike the invalid opcode, the instruction is legal; however, the particular form of the instruction is illegal at the time.
Page FaultA page fault occurs when an access is made to memory that is not currently mapped, (not currently available). The most frequent causes of this invalid fault are wild pointer accesses to memory that is not legal to look at in the current time frame. This is often a manifestation of "protection." For example, a device wants to protect a piece of memory, always, or at the current time, so that only that particular device can use it. It makes the memory unavailable by using the paging features of the CPU so that any application that tries to read or write to this memory will be stopped by an invalid page fault. This helps prevent the wild pointer in the application from damaging critical information in memory.
|
KBCategory: kbenv
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |