UKT Support logo

Home
What's New
Message Board
Contact Us

Search the Site
powered by FreeFind

Acer
Advent
Amstrad
Apple
Canon
Compaq
CTX
Epson
Hewlett Packard
Mitsubishi/Apricot
Packard Bell
Other Manufact.


Easy Salon Management

File Extensions
Humour
Links
Microsoft
Reference
Scanner Support





 


Apple Mac System Error Codes


Because the Mac OS is a sophisticated, complex operating system, the problems a user encounters can be equally complex.

These are examples of some problems that may occur:

  • A handle can be de-referenced.
  • A routine can get a NIL pointer.
  • The stack can dip into the heap for just a few cycles and not be caught by the stack sniffer.
  • An application can forget to check an error code.

A Macintosh usually crashes with a system error code while running under System 6.0.x. Starting with System 7, errors are displayed in a different fashion. Instead of displaying an error code, the system translates the code to the appropriate words, like "Address Error".

Finding out what's wrong involves use of debugging tools, intricate knowledge of Macintosh memory structures, and familiarity with the application itself. Fixing it usually involves recompiling the source code. The table below explains some of the codes.

ID=01 Bus Error

This means the computer tried to access memory that doesn't exist. You can get this error on almost any Macintosh. If one of these computers tried to access one or more bytes beyond the total number of bytes in RAM, you see a bus error. You should never see this error on a Macintosh Plus or SE, because address references that are out of bounds "roll over". This means if one of these computers tries to access one byte beyond the total bytes in RAM, it actually accesses the first byte in memory. If you see this error on a Macintosh Plus or SE, it's reporting the wrong error or having hardware problems.

ID=02 Address Error

The Motorola 68000 microprocessor can access memory in increments of one byte (8 bits), one word (16 bits), or one long word (32 bits). The microprocessor can access a byte of information at an odd or even memory address. But it must access a word or long word at an even memory address. So, when the microprocessor attempts to read or write a word or long word at an odd address, you see this error. Since that's a 50/50 proposition when running random code, this one shows up quite often.

ID=03 Illegal Instruction

The computer has a specific vocabulary of machine language instructions it can understand. If a computer tries to execute an instruction that isn't in its vocabulary, you see this error code. It's less likely than error 02, but still very common.

ID=04 Zero Divide Error

This error results if the microprocessor divides two numbers, and the divisor is zero. Sometimes a programmer puts these in as debugging aids, and then forgets to take them out.

ID=05 Range Check Error

Programmers can use an instruction in the Motorola 68000 to check if a number is within a certain range. This error indicates that the number tested isn't in the specified range.

ID=06 Overflow Error

Each number stored in a computer is given a certain amount of space. The larger the number, the more space is needed to represent the number. An overflow condition results if a generated number is too big for its allotted space. A Motorola 68000 instruction tests for an overflow condition, and displays this error if it detects an overflow.

ID=07 Privilege Violation

The Motorola 68000 runs in Supervisor or User mode. The Macintosh should always be in Supervisor mode, but sometimes is placed in User mode. Some of the instructions can only be executed in Supervisor mode. If the computer attempts one of these instructions while in User mode, a Privilege Violation error results.

ID=08 Trace Mode Error

A programmer can use a runtime debugger while in Trace mode. This allows tracing through a program one instruction at a time. You see this error if a debugger isn't installed and the 68000 is accidentally placed in Trace mode.

ID=09 and ID=10 Line 1010 & 1111 Trap

There are many routines in the Macintosh ROM that can be called by placing instructions in a program that aren't in the 68000's vocabulary. When the 68000 encounters such an instruction, it looks it up in the instruction table. This table gives the location of routines paired with each instruction. If it finds an entry in the table for the instruction, it branches to the routine. If there's no entry for the instruction, you see one of these errors.

ID=12 Unimplemented Core Routine

A programmer might set breakpoints in parts of a program to inspect for errors. This requires using a debugger. If a debugger isn't installed when a breakpoint occurs, you see this error code.

ID=13 Uninstalled Interrupt

The Macintosh uses an interrupt to identify when devices like keyboards and disk drives need service. Routines must be available in memory to tell the computer how to service the device. If those routines aren't available, you see this error.

ID=15 Segment Loader Error

Macintosh programs are broken up into segments, and each program will always have at least one segment. Multiple segments allow loading parts of the program into memory to provide more room for data in internal RAM. The segment loader is responsible for loading a needed segment into RAM. If the segment loader can't do this, you'll see this error.

ID=17 through ID=24 Missing Packages 0-7

The Macintosh uses packages to do specific tasks. Some of the packages are International Utilities, Binary-Decimal Conversion, Standard File Utilities, and Disk Initialization. These packages are located in the System file. If you get these errors, you probably have a damaged System file. Error codes 15, 16, 26, 27, 30, and 31 also come up when the System file is damaged. Try replacing the System file.

ID=25 Memory Full Error

You've probably run out of RAM. But you can get this error when an earlier error causes the Macintosh to falsely detect an out-of-memory condition.

ID=26 Bad Program Launch

The Macintosh couldn't execute the application opened.

ID=28 Stack Ran into Heap

This is similar to the Memory Full error. It's a good idea to save your work frequently, and keep current backups of your hard disk data. When a system crash does occur, you'll lose less data if you've taken these precautions.

Troubleshooting System Errors

It's a good idea to save your work frequently, and keep current backup copies of your hard disk data. When a system crash occurs, you'll lose less data if you've taken these precautions.

If you're getting system errors frequently, investigate these possibilities:

  • Try to open the document with a current version copy of the application.
  • Try opening other documents with the same copy of the application.
  • Check to see if the document size exceeds the application size limits.
  • Boot your system with extensions off (restart while holding the Shift key down).
  • Any changes (new Control Panels, extensions, etc.) you've made to the system might give you a clue to the cause of the crashes.
  • Make a note of the desk accessories you had open at the time of the crash and exactly what you did before the crash.
  • Make a note of the error ID or text, and the version numbers of the application and system software you were using.
  • Try to recreate the problem on another Macintosh.
  • Cleanly install your system software and try the application again.

Negative Error Codes

Here is a list of negative codes (0 to -261) with brief explanations.

General System Errors (VBL Mgr, Queue)

0No Error0 For Success
0smNotTruncated      No truncation necessary
-1      qErrqueue element not found during deletion
-1smTruncErrTruncation indicator alone is wider than the specified width
-2vTypErrinvalid queue element
-3corErrcore routine number out of range
-4unimpErrunimplemented core routine
-5SlpTypeErrinvalid queue element
-8seNoDBno debugger installed to handle debugger command

Color Manager Errors

-9iTabPurgErrfrom Color2Index/ITabMatch
-10noColMatchfrom Color2Index/ITabMatch
-11qAllocErrfrom MakeITable
-12tblAllocErrfrom MakeITable
-13overRunfrom MakeITable
-14noRoomErrfrom MakeITable
-15     seOutOfRange     from SetEntry
-16seProtErrfrom SetEntry
-17i2CRangeErrfrom SetEntry
-18gdBadDevfrom SetEntry
-19reRangeErrfrom SetEntry
-20seInvRequestfrom SetEntry
-21seNoMemErrfrom SetEntry

I/O System Errors

-17controlErrDriver can't respond to Control call
-18statusErrDriver can't respond to Status call
-19readErrDriver can't respond to Read call
-20writErrDriver can't respond to Write call
-21badUnitErrDriver ref num doesn't match unit table
-22     unitEmptyErr     Driver ref num specifies NIL handle in unit table
-23openErrRequested read/write permission doesn't match driver's open permission
or Attempt to open RAM serial Driver failed
-24closErrClose failed; Permission to close. MPP driver was denied
-25dRemovErrtried to remove an open driver
-26dInstErrDrvrInstall couldn't find driver in resources
-27abortErrIO call aborted by KillIO; Publisher has written a new edition
-27iIOAbortErrIO abort error (Printing Manager)
-28notOpenErrCouldn't rd/wr/ctl/sts cause driver not opened
-29unitTblFullErrUnit table has no more entries
-30dceExtErrdce extension error

File System Errors

-33dirFulErrDirectory full
-34dskFulErrDisk full
-35nsvErrNo such volume; volume not found
-36ioErrI/O error
-37bdNamErrBad file name; there may be no bad names in the final system!
-38fnOpnErrFile not open
-39eofErrEnd of file; no additional data in the format
-40posErrTried to position to before start of file (r/w)
-41mFulErrMemory full (open) or file won't fit (load)
-42tmfoErrToo many files open
-43fnfErrFile not found; Folder not found; Edition container not found;
Target not found
-44wPrErrDisk is write-protected; Volume is locked through hardware
-45fLckdErrFile is locked
-45fLckedErrPublisher writing to an edition
-46vLckdErrVolume is locked through software
-47fBsyErrFile is busy (delete); Section doing I/O
-48dupFNErrDuplicate filename (rename); File found instead of folder
-49opWrErrFile already open with write permission
-50paramErrError in user parameter list
-51rfNumErrReference number invalid
-52gfpErrGet file position error
-53volOffLinErrVolume is off line
-54permErrSoftware lock on file; Not a subscriber
[permissions error on file open]
-55volOnLinErrdrive volume already on-line at MountVol
-56nsDrvErrno such drive (tried to mount a bad drive num)
-57     noMacDskErr     not a Macintosh disk (sig bytes are wrong)
-58extFSErrExternal file system file system identifier is nonzero
-59fsRnErrfile system internal error: during rename the old entry was
deleted but could not be restored.
-60badMDBErrbad master directory block
-61wrPermErrWrite permissions error; Not a publisher

Font Manager Errors

-64fontDecErrorerror during font declaration
-65     fontNotDeclared     font not declared
-66fontSubErrfont substitution occurred

Disk, Serial Ports, Clock Specific Errors

-64lastDskErr 
-64noDriveErrdrive not installed
-65offLinErrr/w requested for an off-line drive
-66noNybErrcouldn't find 5 nybbles in 200 tries
-67     noAdrMkErr      couldn't find valid addr mark
-68dataVerErrread verify compare failed
-69badCksmErraddr mark checksum didn't check
-70badBtSlpErrbad addr mark bit slip nibbles
-71noDtaMkErrcouldn't find a data mark header
-72badDCksumbad data mark checksum
-73badDBtSlpbad data mark bit slip nibbles
-74wrUnderrunwrite underrun occurred
-75cantStepErrstep handshake failed
-76tk0BadErrtrack 0 detect doesn't change
-77initIWMErrunable to initialize IWM
-78twoSideErrtried to read 2nd side on a 1-sided drive
-79spdAdjErrunable to correctly adjust disk speed
-80seekErrtrack number wrong on address mark
-81sectNFErrsector number never found on a track
-82fmt1Errcan't find sector 0 after track format
-83fmt2Errcan't get enough sync
-84verErrtrack failed to verify
-84firstDskErr 
-85clkRdErrunable to read same clock value twice
-86clkWrErrtime written did not verify
-87prWrErrparameter RAM written didn't read-verify
-88prInitErrInitUtil found the parameter RAM uninitialized
-89rcvrErrSCC receiver error (framing, parity, OR)
-90breakRecdBreak received (SCC)

AppleTalk Errors

-91ddpSktErrError opening socket
-91eMultiErrInvalid address or table is full
-92ddpLenErrData length too big
-92eLenErrPacket too large or first entry of the write-data structure
didn't contain the full 14-byte header
-93noBridgeErrNo router available [for non-local send]
-94lapProtErrerror in attaching/detaching protocol
-94LAPProtErrProtocol handler is already attached, node's protocol table is full,
protocol not attached, or protocol handler pointer was not 0
-95excessCollsnsHardware error [excessive collisions on write]
-97portInUsedriver Open error code (port is in use)
-98portNotCfdriver Open error code
(parameter RAM not configured for this connection)
-99memROZErrhard error in ROZ
-99memROZErrorhard error in ROZ
-99     memROZWarn     soft error in ROZ

Scrap Manager Errors

-100     noScrapErr      No scrap exists error
-102noTypeErrFormat not available [no object of that type in scrap]

Storage Allocator Errors

-108memFullErrRan out of memory [not enough room in heap zone]
-109nilHandleErrGetHandleSize fails on baseText or substitutionText;
NIL master pointer [handle was NIL in HandleZone or other]
-110memAdrErrAddress was odd, or out of range
-111memWZErrAttempted to operate on a free block;
GetHandleSize fails on baseText or substitutionText
[WhichZone failed (applied to free block)]
-112memPurErrTrying to purge a locked or non-purgeable block
-113memAZErrAddress in zone check failed
-114memPCErrPointer Check failed
-115memBCErrBlock Check failed
-116memSCErrSize Check failed
-117     memLockedErr     Trying to move a locked block (MoveHHi)

HFS Errors

-120dirNFErrDirectory not found
-121tmwdoErrNo free WDCB available
-122badMovErrMove into offspring error
-123wrgVolTypErrNot an HFS volume [wrong volume type error or (obsolete)
operation not supported for MFS]
-124volGoneErrServer volume has been disconnected.
-125    updPixMemErr     Insufficient memory to update a pixmap
-127fsDSIntErrInternal file system error

Menu Manager Errors

-126dsMBarNFndSystem error code for MBDF not found
-127     dsHMenuFindErr     Couldn't find HMenu's parent in MenuKey
-128userCanceledErrUser canceled an operation

HFS FileID Errors

-130     fidNotFound     no file thread exists
-131fidNotAFiledirectory specified
-132fidExistsfile ID already exists

Color QuickDraw and Color Manager Errors

-147     regionTooBigError     Region too big or complex
-148pixMapTooBigErrPixel map record is deeper than 1 bit per pixel
[passed pixelmap is too large]
-149notEnoughStackNot enough stack space for the necessary buffers
-149mfStackErrInsufficient stack
-150cMatchErrColor2Index failed to find an index
-151cTempMemErrFailed to allocate memory for temporary structures
-152cNoMemErrFailed to allocate memory for structure
-153cRangeErrRange error on colorTable request
-154cProtectErrColorTable entry protection violation
-155cDevErrInvalid type of graphics device
-156cResErrInvalid resolution for MakeITable
-157cDepthErrInvalid pixel depth
-158cParmErrInvalid parameter

Resource Manager Errors (other than I/O)

-185badExtResourceExtended resource has a bad format
-186CantDecompressResource bent ("the bends") can't decompress a
compressed resource
-188     resourceInMemory     Resource already in memory
-189writingPastEndWriting past end of file
-190inputOutOfBoundsOffset or count out of bounds
-192resNotFoundResource not found
-193resFNotFoundResource file not found
-194addResFailedAddResource failed
-195addRefFailedAddReference failed
-196rmvResFailedRmveResource failed
-197rmvRefFailedRmveReference failed
-198resAttrErrAttribute inconsistent with operation
-199mapReadErrMap inconsistent with operation

Sound Manager Errors

-200noHardwareRequired sound hardware not available
[no hardware support for the specified synthesizer]
-201notEnoughHardwareInsufficient hardware available
[no more channels for the specified synthesizer]
-203queueFullNo room in the queue
-204resProblemProblem loading the resource
-205badChannelChannel is corrupt or unusable [invalid channel queue length]
-206badFormatResource is corrupt or unusable
[handle to 'snd ' resource was invalid]
-207     notEnoughBufferSpace     Insufficient memory available
-208badFileFormatFile is corrupt or unusable, or not AIFF or AIFF-C
-209channelChannel is busy
-210buffersTooSmallBuffer is too small
-211channelNotBusyChannel not currently used
-212noMoreRealTimeNot enough CPU time available
-213badParamA parameter is incorrect
-220siNoSoundInHardwareNo sound input hardware available
-221siBadSoundInDeviceInvalid sound input device
-222siNoBufferSpecifiedNo buffer specified
-223siInvalidCompressionInvalid compression type
-224siHardDiskTooSlowHard drive too slow to record
-225siInvalidSampleRateInvalid sample rate
-226siInvalidSampleSizeInvalid sample size
-227siDeviceBusyErrSound input device is busy
-228siBadDeviceNameInvalid device name
-229siBadRefNumInvalid reference number
-230siInputDeviceErrInput device hardware failure
-231siUnknownInfoTypeUnknown type of information
-232siUnknownQualityUnknown quality

MIDI Manager Errors

-250midiNoClientErrno client with that ID found
-251midiNoPortErrno port with that ID found
-252     midiTooManyPortsErr     too many ports already installed in the system
-253midiTooManyConsErrtoo many connections made
-254midiVConnectErrpending virtual connection created
-255midiVConnectMadepending virtual connection resolved
-256midiVConnectRmvdpending virtual connection removed
-257midiNoConErrno connection exists between specified ports
-258midiWriteErrcouldn't write to all connected ports
-259midiNameLenErrname supplied is longer than 31 characters
-260midiDupIDErrduplicate client ID
-261midiInvalidCmdErrcommand not supported for port type