Service as low as $12.46 per month
 
pennswoods logo
Weather
My Account |

 

MacOS System Errors

This is just the beginning. For a full list, check out http://www.appleerrorcodes.com/
ID and name Explanation
1 (Bus error) A memory reference was invalid. This is the most common type of system error. An application might have tried to access memory in another application's partition or in a portion of memory not accessible to the application. Typically, this error occurs if your application uses a handle or pointer reference that is no longer valid or was never valid. For example, if your application does not initialize a variable of type Handle or Ptr to the correct value and then tries to use that value as a memory reference, a bus error could occur. Or if you have made an error in performing pointer arithmetic, a bus error could occur. This error could also occur if your application attempts to access a block of memory that has been moved or disposed of. Once your application disposes of a block of memory, either directly or indirectly, all pointer and handle references to that block of memory are invalid and could cause bus errors. If your application dereferences a handle, calls a routine that could move or purge memory, and then relies on the master pointer value, a bus error could occur. If your application is careless in using the Memory Manager's BlockMove procedure or another technique to copy bytes directly, data structures used by the Memory Manager could be altered and a bus error generated.
2 (Address error) A reference to a word (2 bytes) or long word (4 bytes) was not on a word boundary. An address error is often simply a bus error in which the memory reference happens to be odd. Thus, any programming errors that could cause a bus error might result in an address error as well. Indeed, sometimes the same programming error can generate both types of errors if you execute the offending code several times. Address errors are often microprocessor-specific. That is, code that executes correctly on MC68030 microprocessors might generate an address error on MC68000 microprocessors. This is most likely to be a problem for assembly-language programmers.
3 (Illegal instruction) The microprocessor attempted to execute an instruction not defined for that version of the microprocessor. This might occur if you set a compiler to generate MC68030 code and then attempt to execute that code on a MC68000 microprocessor. Attempting to execute PowerPC code on a MC680x0 microprocessor could also cause this problem. Typically, this problem occurs only if you are programming in assembly language or if your compiler generates illegal instructions. If your application (either intentionally or unintentionally) modifies its own code while executing, then this problem could also occur.
4 (Zero divide) The microprocessor received a signed divide (DIVS) or unsigned divide (DIVU) instruction, but the divisor was 0. When you write code that performs the division operation, you should ensure that the divisor can never be 0, unless you are using Operating System or SANE numeric types that support division by 0.
5 (Check exception) The microprocessor executed a check-register-against-bounds (CHK) instruction and detected an out-of-bounds value. If you are programming in a high-level language, this might occur if you have enabled range-checking and a value is out of range (for example, you attempt to access the sixth element of a five-element array).
6 (TrapV exception) The microprocessor executed a trap-on-overflow (TRAPV) instruction and detected an overflow. If you are programming in a high-level language, this might occur if you have enabled integer-arithmetic overflow checking and an overflow occurs.
7 (Privilege violation) The Macintosh computer was in a mode that did not allow execution of the specified microprocessor instruction. This should not happen because the Macintosh computer always runs in supervisor mode. However, if you are programming in assembly language, this error could occur if you execute an erroneous return-from-execution (RTE) instruction.
8 (Trace exception) The trace bit in the status register is set. Debuggers use this error to force code execution to stop at a certain point. If you are programming in a high-level language, this system error should always be intercepted by your low-level debugger.
9 (A-line exception) The trap dispatcher failed to execute the specified system software routine. This error might occur if you attempt to execute a Toolbox routine that is not defined in the version of the system software that is running.
10 (F-line exception) Your application executed an illegal instruction.
11 (Miscellaneous exception) The microprocessor invoked an exception not covered by system error IDs 1 to 10. This exception might be generated in the case of a hardware failure.
12 (Unimplemented core routine) The Operating System encountered an unimplemented trap number.
13 (Spurious interrupt) The interrupt vector table entry for a particular level of interrupt is NIL. This error usually occurs with level 4, 5, 6, or 7 interrupts. Typically, this error should affect only developers of low-level device drivers, NuBus cards, and other expansion devices.
14 (I/O system error) A Device Manager or Operating System queue operation failed. This might occur if the File Manager attempts to remove an entry from an I/O request queue, but the queue entry has an invalid queue type (perhaps the queue entry is unlocked). Or this might occur as a result of a call to Fetch or Stash, but the dCtlQHead field was NIL. This error can also occur if your driver has purged a needed device control entry (DCE).
15 (Segment loader error) A call was made to load a code segment, but a call to GetResource to read the segment into memory failed. This could occur if your application attempts to load a segment that does not exist, or if your application attempts to load a segment but there is not enough memory for it in the application heap. When an attempt to load a code resource with resource ID 0 fails, a system error with ID 26 is generated instead.
16 (Floating-point error) The halt bit in the floating-point environment word was set.
17-24 (Can't load package) The Package Manager attempted to load a package into memory, but the call to GetResource failed. This could occur because the system file is corrupted, or because there is not enough memory for the package to be loaded. For example, if you call a List Manager routine when memory is very low, the SysError procedure could be executed.
25 (Out of memory) The requested memory block could not be allocated in the heap because there is insufficient free space. Typically, a Toolbox routine generates this system error if it requires heap space to run but there is insufficient space. Your application should prevent this from occurring by ensuring that it always leaves enough memory for Toolbox operations. You can also get this error if the Package Manager was unable to load the Apple Event Manager (Pack 8). See the chapter "Package Manager" in this book for an explanation of this error.
26 (Segment loader error) A call was made to load a code segment with resource ID 0, but the call to GetResource failed. This usually occurs if your application attempts to execute a nonexecutable file. You can also get this error if the Package Manager was unable to load the Program-to-Program Communications (PPC) Toolbox package (Pack 9). See the chapter "Package Manager" in this book for an explanation of this error.
27 (File map destroyed) The File Manager encountered a paradox. A logical block number was found that is greater than the number of the last logical block on the volume or less than the logical block number of the first allocation block on the volume. The disk is probably corrupted.
28 (Stack overflow error) The Operating System detected that the application's stack collided with its heap. This could happen when a deeply nested routine is executed or when interrupt routines use more stack space than available. If your application relies on recursion, it should monitor the size of the stack to prevent such an error from occurring. If this error occurs simply because your application attempted to execute a deeply nested routine, you can prevent this from occurring by increasing the minimum size of the stack at application startup. Because the size of the stack may differ from one Macintosh model to another, an application might encounter no problems on a Macintosh LC but crash on a Macintosh Plus, for example. You can also get this error if the Package Manager was unable to load the Edition Manager (Pack 11). See the chapter "Package Manager" in this book for an explanation of this error.
30 (Disk insertion required) A necessary disk is not available. The System Error Handler responds to this error by requesting that the user insert the requested disk. Often, the user can cancel this alert box by pressing Command-period repeatedly; in certain circumstances, however, pressing Command-period repeatedly can lead to a system crash. You can also get this error if the Package Manager was unable to load the Data Access Manager (Pack 13). See the chapter "Package Manager" in this book for an explanation of this error.
31 (Wrong disk inserted) The user inserted the incorrect disk in response to a disk-insertion request. The System Error Handler ejects the disk and allows the user to insert another. You can also get this error if the Package Manager was unable to load the Help Manager (Pack 14). See the chapter "Package Manager" in this book for an explanation of this error.
33 (Negative zcbFree value) The Memory Manager's calculation of the number of bytes free in a heap zone (that is, the value of the zcbFree field) resulted in a negative number. Your application might have used up too much memory in the heap zone, or the heap is corrupted
41 (Finder not found) The Operating System could not locate the Finder on the disk. The disk might be corrupted.
84 (Menu purged) The Menu Manager attempted to access information about a menu, but the menu record was purged. You should ensure that all menus stored in your application's resource file are marked as unpurgeable.
100 (Can't mount system startup volume) The Operating System could not mount the system startup volume and thus is unable to read the system resource file into memory. The startup volume could be corrupted or broken. Your application can force startup on another volume by clearing parameter RAM, as discussed in the chapter "Parameter RAM Utilities" in this book.
32767 (Default system error) This is the default system error that executes when an undefined problem occurs. Your application can call the SysError procedure with this value.