Computer Modell Katalog
 

DISCUSSION
    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)

    0    noErr  0 for success
         "OR"
    0    smNotTruncated          No truncation necessary
    -1    qErr                    queue element not found during deletion
         "OR"
    -1    smTruncErr              Truncation indicator alone is wider
                                 than the specified width
    -2    vTypErr                 invalid queue element
    -3    corErr                  core routine number out of range
    -4    unimpErr                unimplemented core routine
    -5    SlpTypeErr              invalid queue element
    -8    seNoDB                  no debugger installed to
                                 handle debugger command

    Color Manager Errors

    -9   iTabPurgErr             from Color2Index/ITabMatch
    -10   noColMatch              from Color2Index/ITabMatch
    -11   qAllocErr               from MakeITable
    -12   tblAllocErr             from MakeITable
    -13   overRun                 from MakeITable
    -14   noRoomErr               from MakeITable
    -15   seOutOfRange            from SetEntry
    -16   seProtErr               from SetEntry
    -17   i2CRangeErr             from SetEntry
    -18   gdBadDev                from SetEntry
    -19   reRangeErr              from SetEntry
    -20   seInvRequest            from SetEntry
    -21   seNoMemErr              from SetEntry

    I/O System Errors

    -17   controlErr              Driver can't respond to Control call
    -18   statusErr               Driver can't respond to Status call
    -19   readErr                 Driver can't respond to Read call
    -20   writErr                 Driver can't respond to Write call
    -21   badUnitErr              Driver ref num doesn't match unit table
    -22   unitEmptyErr            Driver ref num specifies NIL handle
                                 in unit table
    -23   openErr                 Requested read/write permission doesn't
                                 match driver's open permission, or Attempt
                                 to open RAM serial Driver failed
    -24   closErr                 Close failed; Permission to close .MPP driver
                                 was denied
    -25   dRemovErr               tried to remove an open driver
    -26   dInstErr                DrvrInstall couldn't find driver in resources
    -27   abortErr                IO call aborted by KillIO; Publisher has
                                 written a new edition
         "OR"
    -27   iIOAbortErr             IO abort error (Printing Manager)
    -28   notOpenErr              Couldn't rd/wr/ctl/sts cause driver not opened
    -29   unitTblFullErr          Unit table has no more entries
    -30   dceExtErr               dce extension error

    File System Errors

    -33   dirFulErr               Directory full
    -34   dskFulErr               Disk full
    -35   nsvErr                  No such volume; volume not found
    -36   ioErr                   I/O error
    -37   bdNamErr                Bad file name; there may be no bad names
                                 in the final system!
    -38   fnOpnErr                File not open
    -39   eofErr                  End of file; no additional data in the format
    -40   posErr                  Tried to position to before start of
                                 file (r/w)
    -41   mFulErr                 Memory full (open) or file won't fit (load)
    -42   tmfoErr                 Too many files open
    -43   fnfErr                  File not found; Folder not found;Edition
                                 container not found; Target not found
    -44   wPrErr                  Disk is write-protected; Volume is locked
                                 through hardware
    -45   fLckdErr                File is locked
    -45   fLckedErr               Publisher writing to an edition
    -46   vLckdErr                Volume is locked through software
    -47   fBsyErr                 File is busy (delete); Section doing I/O
    -48   dupFNErr                Duplicate filename (rename); File found
                                 instead of folder
    -49   opWrErr                 File already open with write permission
    -50   paramErr                Error in user parameter list
    -51   rfNumErr                Reference number invalid
    -52   gfpErr                  Get file position error
    -53   volOffLinErr            Volume is off line
    -54   permErr                 Software lock on file; Not a subscriber
                                 [permissions error on file open]
    -55   volOnLinErr             drive volume already on-line at MountVol
    -56   nsDrvErr                no such drive (tried to mount a bad drive num)
    -57   noMacDskErr             not a Macintosh disk (sig bytes are wrong)
    -58   extFSErr                External file system  file system identifier
                                 is nonzero
    -59   fsRnErr                 file system internal error: during rename
                                 the old entry was deleted but could not be restored.
    -60   badMDBErr               bad master directory block
    -61   wrPermErr               Write permissions error; Not a publisher

    Font Manager Errors

    -64   fontDecError            error during font declaration
    -65   fontNotDeclared         font not declared
    -66   fontSubErr              font substitution occurred

    Disk, Serial Ports, Clock Specific Errors

    -64   lastDskErr
    -64   noDriveErr              drive not installed
    -65   offLinErr               r/w requested for an off-line drive
    -66   noNybErr                couldn't find 5 nybbles in 200 tries
    -67   noAdrMkErr              couldn't find valid addr mark
    -68   dataVerErr              read verify compare failed
    -69   badCksmErr              addr mark checksum didn't check
    -70   badBtSlpErr             bad addr mark bit slip nibbles
    -71   noDtaMkErr              couldn't find a data mark header
    -72   badDCksum               bad data mark checksum
    -73   badDBtSlp               bad data mark bit slip nibbles
    -74   wrUnderrun              write underrun occurred
    -75   cantStepErr             step handshake failed
    -76   tk0BadErr               track 0 detect doesn't change
    -77   initIWMErr              unable to initialize IWM
    -78   twoSideErr              tried to read 2nd side on a 1-sided drive
    -79   spdAdjErr               unable to correctly adjust disk speed
    -80   seekErr                 track number wrong on address mark
    -81   sectNFErr               sector number never found on a track
    -82   fmt1Err                 can't find sector 0 after track format
    -83   fmt2Err                 can't get enough sync
    -84   verErr                  track failed to verify
    -84   firstDskErr
    -85   clkRdErr                unable to read same clock value twice
    -86   clkWrErr                time written did not verify
    -87   prWrErr                 parameter RAM written didn't read-verify
    -88   prInitErr               InitUtil found the parameter RAM uninitialized
    -89   rcvrErr                 SCC receiver error (framing, parity, OR)
    -90   breakRecd               Break received (SCC)

    AppleTalk Errors

    -91   ddpSktErr               Error opening socket
         "OR"
    -91   eMultiErr               Invalid address or table is full
    -92   ddpLenErr               Data length too big
         "OR"
    -92   eLenErr                 Packet too large or first entry of the write-data
                                 structure didn't contain the full 14-byte header
    -93   noBridgeErr             No router available [for non-local send]
    -94   lapProtErr              error in attaching/detaching protocol
         "OR"
    -94   LAPProtErr              Protocol handler is already attached,
                                 node's protocol table is full, protocol
                                 not attached, or protocol handler
                                 pointer was not 0
    -95   excessCollsns           Hardware error [excessive collisions on write]
    -97   portInUse               driver Open error code (port is in use)
    -98   portNotCf               driver Open error code
                                 (parameter RAM not configured for
                                 this connection)
    -99   memROZErr               hard error in ROZ
    -99   memROZError             hard error in ROZ
    -99   memROZWarn              soft error in ROZ

    Scrap Manager Errors

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

    Storage Allocator Errors

    -108  memFullErr              Ran out of memory [not enough room
                                 in heap zone]
    -109  nilHandleErr            GetHandleSize fails on baseText or
                                 substitutionText; NIL master pointer
                                 [handle was NIL in HandleZone or other]
    -110  memAdrErr               Address was odd, or out of range
    -111  memWZErr                Attempted to operate on a free block;
                                 GetHandleSize fails on baseText
                                 or substitutionText
                                 [WhichZone failed (applied to free block)]
    -112  memPurErr               Trying to purge a locked or non-purgeable block
    -113  memAZErr                Address in zone check failed
    -114  memPCErr                Pointer Check failed
    -115  memBCErr                Block Check failed
    -116  memSCErr                Size Check failed
    -117  memLockedErr            Trying to move a locked block (MoveHHi)

    HFS Errors

    -120  dirNFErr                Directory not found
    -121  tmwdoErr                No free WDCB available
    -122  badMovErr               Move into offspring error
    -123  wrgVolTypErr            Not an HFS volume [wrong  volume type error or
                                 (obsolete) operation  not supported for MFS]
    -124  volGoneErr              Server volume has been disconnected.
    -125  updPixMemErr            Insufficient memory to update a pixmap
    -127  fsDSIntErr              Internal file system error

    Menu Manager Errors

    -126  dsMBarNFnd              System error code for  MBDF not found
    -127  dsHMenuFindErr          Couldn't find HMenu's parent in MenuKey
    -128  userCanceledErr         User canceled an operation

    HFS FileID Errors

    -130  fidNotFound             no file thread exists
    -131  fidNotAFile             directory specified
    -132  fidExists               file ID already exists

    Color QuickDraw and Color Manager Errors

    -147  regionTooBigError       Region too big or complex
    -148  pixMapTooBigErr         Pixel map record is deeper than
                                 1 bit per pixel
                                 [passed pixelmap is too large]
    -149  notEnoughStack          Not enough stack space for the
                                 necessary buffers
         "OR"
    -149  mfStackErr              Insufficient stack
    -150  cMatchErr               Color2Index failed to find an index
    -151  cTempMemErr             Failed to allocate memory for
                                 temporary structures
    -152  cNoMemErr               Failed to allocate memory for structure
    -153  cRangeErr               Range error on colorTable request
    -154  cProtectErr             ColorTable entry protection violation
    -155  cDevErr                 Invalid type of graphics device
    -156  cResErr                 Invalid resolution for MakeITable
    -157  cDepthErr               Invalid pixel depth
    -158  cParmErr                Invalid parameter

    Resource Manager Errors (other than I/O)

    -185  badExtResource          Extended resource has a bad format.
    -186  CantDecompress          Resource bent ("the bends")
                                 can't decompress a compressed resource
    -188  resourceInMemory        Resource already in memory
    -189  writingPastEnd          Writing past end of file
    -190  inputOutOfBounds        Offset or count out of bounds
    -192  resNotFound             Resource not found
    -193  resFNotFound            Resource file not found
    -194  addResFailed            AddResource failed
    -195  addRefFailed            AddReference failed
    -196  rmvResFailed            RmveResource failed
    -197  rmvRefFailed            RmveReference failed
    -198  resAttrErr              Attribute inconsistent with operation
    -199  mapReadErr              Map inconsistent with operation

    Sound Manager Errors

    -200  noHardware              Required sound hardware not available
                                 [no hardware support for the specified synthesizer]
    -201  notEnoughHardware       Insufficient hardware available
                                 [no more channels for the
                                 specified synthesizer]
    -203  queueFull               No room in the queue
    -204  resProblem              Problem loading the resource
    -205  badChannel              Channel is corrupt or  unusable
                                 [invalid channel queue length]
    -206  badFormat               Resource is corrupt or unusable
                                 [handle to 'snd ' resource was invalid]
    -207  notEnoughBufferSpace    Insufficient memory available
    -208  badFileFormat           File is corrupt or unusable, or not
                                 AIFF or AIFF-C
    -209  channel                 Channel is busy
    -210  buffersTooSmall         Buffer is too small
    -211  channelNotBusy          Channel not currently used
    -212  noMoreRealTime          Not enough CPU time available
    -213  badParam                A parameter is incorrect
    -220  siNoSoundInHardware     No sound input hardware available
    -221  siBadSoundInDevice      Invalid sound input device
    -222  siNoBufferSpecified     No buffer specified
    -223  siInvalidCompression    Invalid compression type
    -224  siHardDiskTooSlow       Hard drive too slow to record
    -225  siInvalidSampleRate     Invalid sample rate
    -226  siInvalidSampleSize     Invalid sample size
    -227  siDeviceBusyErr         Sound input device is busy
    -228  siBadDeviceName         Invalid device name
    -229  siBadRefNum             Invalid reference number
    -230  siInputDeviceErr        Input device hardware failure
    -231  siUnknownInfoType       Unknown type of information
    -232  siUnknownQuality        Unknown quality

    MIDI Manager Errors

    -250  midiNoClientErr         no client with that ID found
    -251  midiNoPortErr           no port with that ID found
    -252  midiTooManyPortsErr     too many ports already installed in the system
    -253  midiTooManyConsErr      too many connections made
    -254  midiVConnectErr         pending virtual connection created
    -255  midiVConnectMade        pending virtual connection resolved
    -256  midiVConnectRmvd        pending virtual connection removed
    -257  midiNoConErr            no connection exists between specified ports
    -258  midiWriteErr            couldn't write to all connected ports
    -259  midiNameLenErr          name supplied is longer than 31 characters
    -260  midiDupIDErr            duplicate client ID
    -261  midiInvalidCmdErr       command not supported for port type

    Copyright © 1986- 1998 Apple Computer - BACK TO HOMEPAGE