home *** CD-ROM | disk | FTP | other *** search
/ MacAdvocate 2 / MACADVCT.ISO / mac / MacOS / Helpful Hints and FAQs / Apple Tech Info Library / Mac-Sys Err Codes Explained < prev    next >
Encoding:
Text File  |  1996-12-02  |  19.9 KB  |  416 lines  |  [TEXT/ttxt]

  1. Revised:       4/1/96
  2. Security:      Everyone
  3.  
  4. Macintosh System Error Codes Explained (11/95)
  5.  
  6. ======================================================================
  7.  
  8. Article Created: 19 February 1986
  9. Article Reviewed/Updated: 20 November 1995
  10.  
  11. TOPIC -----------------------------------------------------------
  12.  
  13. This article explains what some Macintosh system errors actually mean. You can use them to interpret what is happening when your Macintosh gives these errors.
  14.  
  15. DISCUSSION ------------------------------------------------------
  16.  
  17. Because the Macintosh is a complex operating system, the problems a user encounters can be equally complex.
  18.  
  19. These are example of some problems that may occur:
  20.  
  21. Ñ A handle can be de-referenced.
  22. Ñ╩A routine can get a NIL pointer.
  23. Ñ╩The stack can dip into the heap for just a few cycles and not be
  24.   caught by the stack sniffer.
  25. Ñ An application can forget to check an error code.
  26.  
  27. A Macintosh usually crashes with a system error code while running under System 6.0.x. System 7 changed the way errors are displayed ╨ instead of displaying an error code, it translates the code to the appropriate words, like "Address Error".
  28.  
  29. 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.
  30.  
  31. ID=01 Bus Error
  32. ---------------
  33. 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.
  34.  
  35. ID=02 Address Error
  36. -------------------
  37. 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.
  38.  
  39. ID=03 Illegal Instruction
  40. -------------------------
  41. 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.
  42.  
  43. ID=04 Zero Divide Error
  44. -----------------------
  45. 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.
  46.  
  47. ID=05 Range Check Error
  48. -----------------------
  49. 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.
  50.  
  51. ID=06 Overflow Error
  52. --------------------
  53. 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.
  54.  
  55. ID=07 Privilege Violation
  56. -------------------------
  57. 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.
  58.  
  59. ID=08 Trace Mode Error
  60. ----------------------
  61. 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.
  62.  
  63. ID=09 and ID=10 Line 1010 & 1111 Trap
  64. -------------------------------------
  65. 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.
  66.  
  67. ID=12 Unimplemented Core Routine
  68. --------------------------------
  69. 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.
  70.  
  71. ID=13 Uninstalled Interrupt
  72. ---------------------------
  73. 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.
  74.  
  75. ID=15 Segment Loader Error
  76. --------------------------
  77. 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.
  78.  
  79. ID=17 through ID=24 Missing Packages 0-7
  80. ----------------------------------------
  81. 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.
  82.  
  83. ID=25 Memory Full Error
  84. -----------------------
  85. 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.
  86.  
  87. ID=26 Bad Program Launch
  88. ------------------------
  89. The Macintosh couldn't execute the application opened.
  90.  
  91. ID=28 Stack Ran into Heap
  92. -------------------------
  93. 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.
  94.  
  95. Troubleshooting System Errors
  96. =============================
  97. 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.
  98.  
  99. If you're getting system errors frequently, investigate these possibilities:
  100.  
  101. Ñ Try to open the document with a current version copy of the application.
  102.  
  103. Ñ Try opening other documents with the same copy of the application.
  104.  
  105. Ñ Check to see if the document size exceeds the application size limits.
  106.  
  107. Ñ Boot your system with extensions off (restart while holding the Shift
  108.   key down).
  109.  
  110. Ñ Any changes (new Control Panels, extensions, etc.) you've made to
  111.   the system might give you a clue to the cause of the crashes.
  112.  
  113. Ñ Make a note of the desk accessories you had open at the time of the
  114.   crash and exactly what you did before the crash.
  115.  
  116. Ñ Also make a note of the error ID or text, and the version numbers
  117.   of the application and system software you were using.
  118.  
  119. Ñ Try to recreate the problem on another Macintosh.
  120.  
  121. Ñ Cleanly install your system software and try the application again.
  122.  
  123. Negative Error Codes
  124. ====================
  125. Here's a list of negative codes  (0 to -261) with brief explanations.
  126.  
  127. General System Errors (VBL Mgr, Queue)
  128.  
  129.  0    noErr  0 for success "OR"
  130.  0    smNotTruncated  No truncation necessary
  131. -1    qErr  queue element not found during deletion "OR"
  132. -1    smTruncErr  Truncation indicator alone is wider than the specified
  133.       width
  134. -2    vTypErr  invalid queue element
  135. -3    corErr  core routine number out of range
  136. -4    unimpErr  unimplemented core routine
  137. -5    SlpTypeErr  invalid queue element
  138. -8    seNoDB  no debugger installed to handle debugger command
  139.  
  140. Color Manager Errors
  141.  
  142.  -9   iTabPurgErr  from Color2Index/ITabMatch
  143. -10   noColMatch  from Color2Index/ITabMatch
  144. -11   qAllocErr  from MakeITable
  145. -12   tblAllocErr  from MakeITable
  146. -13   overRun  from MakeITable
  147. -14   noRoomErr  from MakeITable
  148. -15   seOutOfRange  from SetEntry
  149. -16   seProtErr  from SetEntry
  150. -17   i2CRangeErr  from SetEntry
  151. -18   gdBadDev  from SetEntry
  152. -19   reRangeErr  from SetEntry
  153. -20   seInvRequest  from SetEntry
  154. -21   seNoMemErr  from SetEntry
  155.  
  156. I/O System Errors
  157.  
  158. -17   controlErr  Driver can't respond to Control call
  159. -18   statusErr  Driver can't respond to Status call
  160. -19   readErr  Driver can't respond to Read call
  161. -20   writErr  Driver can't respond to Write call
  162. -21   badUnitErr  Driver ref num doesn't match unit table
  163. -22   unitEmptyErr  Driver ref num specifies NIL handle in unit table
  164. -23   openErr  Requested read/write permission doesn't match driver's open
  165.       permission, or Attempt to open RAM serial Driver failed
  166. -24   closErr  Close failed; Permission to close .MPP driver was denied
  167. -25   dRemovErr  tried to remove an open driver
  168. -26   dInstErr  DrvrInstall couldn't find driver in resources
  169. -27   abortErr  IO call aborted by KillIO; Publisher has written a new
  170.       edition "OR"
  171. -27   iIOAbortErr  IO abort error (Printing Manager)
  172. -28   notOpenErr  Couldn't rd/wr/ctl/sts cause driver not opened
  173. -29   unitTblFullErr  Unit table has no more entries
  174. -30   dceExtErr  dce extension error
  175.  
  176. File System Errors
  177.  
  178. -33   dirFulErr  Directory full
  179. -34   dskFulErr  Disk full
  180. -35   nsvErr  No such volume; volume not found
  181. -36   ioErr  I/O error
  182. -37   bdNamErr  Bad file name; there may be no bad names in the final
  183.       system!
  184. -38   fnOpnErr  File not open
  185. -39   eofErr  End of file; no additional data in the format
  186. -40   posErr  Tried to position to before start of file (r/w)
  187. -41   mFulErr  Memory full (open) or file won't fit (load)
  188. -42   tmfoErr  too many files open
  189. -43   fnfErr  File not found; Folder not found; Edition container not
  190.       found; Target not found
  191. -44   wPrErr  Disk is write-protected; Volume is locked through hardware
  192. -45   fLckdErr  File is locked
  193. -45   fLckedErr  Publisher writing to an edition
  194. -46   vLckdErr  Volume is locked through software
  195. -47   fBsyErr  File is busy (delete); Section doing I/O
  196. -48   dupFNErr  Duplicate filename (rename); File found instead of folder
  197. -49   opWrErr  File already open with write permission
  198. -50   paramErr  Error in user parameter list
  199. -51   rfNumErr  Reference number invalid
  200. -52   gfpErr  Get file position error
  201. -53   volOffLinErr  Volume is off line
  202. -54   permErr  Software lock on file; Not a subscriber [permissions error
  203.       on file open]
  204. -55   volOnLinErr  drive volume already on-line at MountVol
  205. -56   nsDrvErr  no such drive (tried to mount a bad drive num)
  206. -57   noMacDskErr  not a Macintosh disk (sig bytes are wrong)
  207. -58   extFSErr  External file system ╤ file system identifier is nonzero
  208. -59   fsRnErr  file system internal error: during rename the old entry was
  209.       deleted but could not be restored.
  210. -60   badMDBErr  bad master directory block
  211. -61   wrPermErr  Write permissions error; Not a publisher
  212.  
  213. Font Manager Errors
  214.  
  215. -64   fontDecError  error during font declaration
  216. -65   fontNotDeclared font not declared
  217. -66   fontSubErr  font substitution occurred
  218.  
  219. Disk, Serial Ports, Clock Specific Errors
  220.  
  221. -64   lastDskErr
  222. -64   noDriveErr  drive not installed
  223. -65   offLinErr  r/w requested for an off-line drive
  224. -66   noNybErr  couldn't find 5 nybbles in 200 tries
  225. -67   noAdrMkErr  couldn't find valid addr mark
  226. -68   dataVerErr  read verify compare failed
  227. -69   badCksmErr  addr mark checksum didn't check
  228. -70   badBtSlpErr  bad addr mark bit slip nibbles
  229. -71   noDtaMkErr  couldn't find a data mark header
  230. -72   badDCksum  bad data mark checksum
  231. -73   badDBtSlp  bad data mark bit slip nibbles
  232. -74   wrUnderrun  write underrun occurred
  233. -75   cantStepErr  step handshake failed
  234. -76   tk0BadErr  track 0 detect doesn't change
  235. -77   initIWMErr  unable to initialize IWM
  236. -78   twoSideErr  tried to read 2nd side on a 1-sided drive
  237. -79   spdAdjErr  unable to correctly adjust disk speed
  238. -80   seekErr  track number wrong on address mark
  239. -81   sectNFErr  sector number never found on a track
  240. -82   fmt1Err  can't find sector 0 after track format
  241. -83   fmt2Err  can't get enough sync
  242. -84   verErr  track failed to verify
  243. -84   firstDskErr
  244. -85   clkRdErr  unable to read same clock value twice
  245. -86   clkWrErr  time written did not verify
  246. -87   prWrErr  parameter RAM written didn't read-verify
  247. -88   prInitErr  InitUtil found the parameter RAM uninitialized
  248. -89   rcvrErr  SCC receiver error (framing, parity, OR)
  249. -90   breakRecd  Break received (SCC)
  250.  
  251. AppleTalk Errors
  252.  
  253. -91   ddpSktErr  Error opening socket "OR"
  254. -91   eMultiErr  Invalid address or table is full
  255. -92   ddpLenErr  Data length too big "OR"
  256. -92   eLenErr  Packet too large or first entry of the write-data structure
  257.       didn't contain the full 14-byte header
  258. -93   noBridgeErr  No router available [for non-local send]
  259. -94   lapProtErr  error in attaching/detaching protocol "OR"
  260. -94   LAPProtErr  Protocol handler is already attached, node's protocol
  261.       table is full, protocol not attached, or protocol handler pointer
  262.       was not 0
  263. -95   excessCollsns  Hardware error [excessive collisions on write]
  264. -97   portInUse  driver Open error code (port is in use)
  265. -98   portNotCf  driver Open error code (parameter RAM not configured for
  266.       this connection)
  267. -99   memROZErr  hard error in ROZ
  268. -99   memROZError  hard error in ROZ
  269. -99   memROZWarn  soft error in ROZ
  270.  
  271. Scrap Manager Errors
  272.  
  273. -100  noScrapErr  No scrap exists error
  274. -102  noTypeErr  Format not available [no object of that type in scrap]
  275.  
  276. Storage Allocator Errors
  277.  
  278. -108  memFullErr  Ran out of memory [not enough room in heap zone]
  279. -109  nilHandleErr  GetHandleSize fails on baseText or substitutionText;
  280.       NIL master pointer [handle was NIL in HandleZone or other]
  281. -110  memAdrErr  Address was odd, or out of range
  282. -111  memWZErr  Attempted to operate on a free block; GetHandleSize fails
  283.       on baseText or substitutionText [WhichZone failed (applied to free
  284.       block)]
  285. -112  memPurErr  Trying to purge a locked or non-purgeable block
  286. -113  memAZErr  Address in zone check failed
  287. -114  memPCErr  Pointer Check failed
  288. -115  memBCErr  Block Check failed
  289. -116  memSCErr  Size Check failed
  290. -117  memLockedErr  Trying to move a locked block (MoveHHi)
  291.  
  292. HFS Errors
  293.  
  294. -120  dirNFErr  Directory not found
  295. -121  tmwdoErr  No free WDCB available
  296. -122  badMovErr  Move into offspring error
  297. -123  wrgVolTypErr    Not an HFS volume [wrong  volume type error or
  298.       (obsolete) operation  not supported for MFS]
  299. -124  volGoneErr  Server volume has been  disconnected.
  300. -125  updPixMemErr  Insufficient memory to update a pixmap
  301. -127  fsDSIntErr  Internal file system error
  302.  
  303. Menu Manager Errors
  304.  
  305. -126  dsMBarNFnd  System error code for  MBDF not found
  306. -127  dsHMenuFindErr  Couldn't find HMenu's parent in MenuKey
  307. -128  userCanceledErr User canceled an operation
  308.  
  309. HFS FileID Errors
  310.  
  311. -130  fidNotFound  no file thread exists
  312. -131  fidNotAFile  directory specified
  313. -132  fidExists  file ID already exists
  314.  
  315. Color QuickDraw and Color Manager Errors
  316.  
  317. -147  regionTooBigError  Region too big or complex
  318. -148  pixMapTooBigErr  Pixel map record is deeper than 1 bit per pixel
  319.       [passed pixelmap is too large]
  320. -149  notEnoughStack  Not enough stack space for the necessary buffers
  321.       "OR"
  322. -149  mfStackErr  Insufficient stack
  323. -150  cMatchErr  Color2Index failed to find an index
  324. -151  cTempMemErr  Failed to allocate memory for temporary structures
  325. -152  cNoMemErr  Failed to allocate memory for structure
  326. -153  cRangeErr  Range error on colorTable request
  327. -154  cProtectErr  ColorTable entry protection violation
  328. -155  cDevErr  Invalid type of graphics device
  329. -156  cResErr  Invalid resolution for MakeITable
  330. -157  cDepthErr  Invalid pixel depth
  331. -158  cParmErr  Invalid parameter
  332.  
  333. Resource Manager Errors (other than I/O)
  334.  
  335. -185  badExtResource  Extended resource has a bad format.
  336. -186  CantDecompress  Resource bent ("the bends") can't decompress a
  337.       compressed resource
  338. -188  resourceInMemory  Resource already in memory
  339. -189  writingPastEnd  Writing past end of file
  340. -190  inputOutOfBounds  Offset or count out of bounds
  341. -192  resNotFound  Resource not found
  342. -193  resFNotFound  Resource file not found
  343. -194  addResFailed  AddResource failed
  344. -195  addRefFailed  AddReference failed
  345. -196  rmvResFailed  RmveResource failed
  346. -197  rmvRefFailed  RmveReference failed
  347. -198  resAttrErr  Attribute inconsistent with operation
  348. -199  mapReadErr  Map inconsistent with operation
  349.  
  350. Sound Manager Errors
  351.  
  352. -200  noHardware  Required sound hardware not available [no hardware
  353.       support for the specified synthesizer]
  354. -201  notEnoughHardware Insufficient hardware available [no more channels
  355.       for the specified synthesizer]
  356. -203  queueFull  No room in the queue
  357. -204  resProblem  Problem loading the resource
  358. -205  badChannel  Channel is corrupt or  unusable [invalid channel queue
  359.       length]
  360. -206  badFormat  Resource is corrupt or unusable [handle to 'snd '
  361.       resource was invalid]
  362. -207  notEnoughBufferSpace  Insufficient memory available
  363. -208  badFileFormat  File is corrupt or unusable, or not AIFF or AIFF-C
  364. -209  channel  Channel is busy
  365. -210  buffersTooSmall  Buffer is too small
  366. -211  channelNotBusy  Channel not currently used
  367. -212  noMoreRealTime  Not enough CPU time available
  368. -213  badParam  A parameter is incorrect
  369. -220  siNoSoundInHardware  No sound input hardware available
  370. -221  siBadSoundInDevice  Invalid sound input device
  371. -222  siNoBufferSpecified  No buffer specified
  372. -223  siInvalidCompression  Invalid compression type
  373. -224  siHardDiskTooSlow  Hard drive too slow to record
  374. -225  siInvalidSampleRate  Invalid sample rate
  375. -226  siInvalidSampleSize  Invalid sample size
  376. -227  siDeviceBusyErr  Sound input device is busy
  377. -228  siBadDeviceName  Invalid device name
  378. -229  siBadRefNum  Invalid reference number
  379. -230  siInputDeviceErr  Input device hardware failure
  380. -231  siUnknownInfoType  Unknown type of information
  381. -232  siUnknownQuality  Unknown quality
  382.  
  383. MIDI Manager Errors
  384.  
  385. -250  midiNoClientErr  no client with that ID found
  386. -251  midiNoPortErr  no port with that ID found
  387. -252  midiTooManyPortsErr  too many ports already installed in the system
  388. -253  midiTooManyConsErr  too many connections made
  389. -254  midiVConnectErr  pending virtual connection created
  390. -255  midiVConnectMade  pending virtual connection resolved
  391. -256  midiVConnectRmvd  pending virtual connection removed
  392. -257  midiNoConErr  no connection exists between specified ports
  393. -258  midiWriteErr  couldn't write to all connected ports
  394. -259  midiNameLenErr  name supplied is longer than 31 characters
  395. -260  midiDupIDErr  duplicate client ID
  396. -261  midiInvalidCmdErr  command not supported for port type
  397.  
  398. This article is one of many available through the Apple Fax center. For a complete list of available Fax documents, search the Tech Info Library for Apple Fax Document Index or call the Apple Fax line at 1-800-505-0171 and select document number 20000 (Apple Fax - Document Index - Product Support Literature). The Apple Fax center is available free of charge 24 hours a day, 7 days a week.
  399.  
  400.  
  401. Article Change History:
  402. 20 Nov 1995 - Added new keyword and reviewed article for technical accuracy.
  403. 19 Oct 1994 - Added negative error codes.
  404. 12 Oct 1994 - Added keyword, description, and troubleshooting tips.
  405.  
  406. Support Information Services
  407.  
  408. Copyright 1986-96, Apple Computer, Inc.
  409.  
  410. ======================================================================
  411.  
  412. Created:       2/18/86
  413. Author:        EW
  414. Source:        SIS
  415. Library:       TECHINFO
  416. Article ID:    TECHINFO-0001749