In reality, the Mac’s error codes aren’t nearly that enlightening. For one thing, the error definitions themselves provide little information that you can actually use; knowing that your crash was caused by an “unimplemented core routine” (Error 12 or Error -4) doesn’t shed much light on why a program keeps crashing. When something goes wrong deep inside the Mac, it can only report to you that something is wrong. It has no idea which specific series of keystrokes, mouse clicks, and software interactions actually caused the problem. Error messages are of primary value only to programmers—and not very helpful even to them. Furthermore, Mac error messages are often flat-out wrong. The Mac says you had an “illegal instruction” problem (Error 3) when in reality you simply used up all your RAM.
There are two categories of error messages. Those with positive numbers are the so-called DS errors (which originally stood for, well, deep doo-doo—but which Apple, concerned about its younger audiences, eventually redefined as Dire Straits). These are serious system crashes that require you to restart the machine. Errors with negative numbers aren’t so severe; usually you just have to click OK to proceed.
DS Errors
By far the most common positive-numbered error codes are Type 1, Type 3, and Type 11. You can read about them below; for now, note that the primary steps to solving repeated problems of these types are (a) update or turn off your extensions, ( B) update your hard disk driver, and © do a clean reinstall of your System Folder. Fortunately, Type 1, 3, and 11 errors have become nearly extinct in Mac OS 8 and later.
ID=01: Bus Error (Type 1 error)
The Mac has tried to access memory that doesn’t exist—for example, the program you’re using assumed that the Mac has more RAM available than it actually does. This kind of glitch—probably one of the most common—is called a bus error. You can remedy the problem by allocating more memory to the program that crashed, adding more RAM to your system, or by simply restarting your Mac so that the RAM available isn’t fragmented (but is available on contiguous chunks).
ID=02: Address Error
Mac Plus and SE only: Your processor tried to access an odd-numbered RAM address when it should have accessed an even-numbered one.
ID=03: Illegal Instruction
Your software issued an instruction your Mac’s processor model doesn’t understand. The cause may be an out-of-date system extension or hard disk driver.
ID=04: Zero Divide Error
When programmers test their works in progress, they might deliberately instruct the computer to divide a number by zero, to see how well the program handles errors. They occasionally forget to take this instruction out, as you’ve just discovered.
ID=05: Range Check Error
The software checked to see if a number—part of some internal calculation—is within a certain range. It wasn’t.
ID=06: Overflow Error
A number was too large for the space the software allotted for it.
ID=07: Privilege Violation
This only crops up during the writing of a program. The Mac attempted to process a command in User mode instead of Supervisor mode.
ID=08: Trace Mode Error
When debugging newly written software, programmers sometimes walk through it, line by line, using what’s called Trace mode. This message indicates that your Mac’s processor has accidentally switched into Trace mode.
ID=09 and ID=10: Line 1010 & 1111 Trap
Once again, the software has issued an instruction that the processor doesn’t understand.
ID= 11: Miscellaneous Hardware Exception
A Type 11 message is the Power Mac equivalent of a generic Type 1 error. It simply refers to an error that has occurred in the native Power PC code. Technically, Apple calls it a “hardware exception error.” Realistically, it’s an extension conflict, a corrupted font, or a Power Mac-hostile program. Do a clean reinstall, as described earlier in the chapter. And if you’re getting lots of Type 11 errors, remember that Apple has been methodically eliminating them with each successive release of the system software. Keep your Mac’s System Folder current.
ID=12: Unimplemented Core Routine
As with the ID=04 error, an instruction was left over from the debugging process.
ID=13: Uninstalled Interrupt
An interrupt is a moment during the running of a program when an external device, such as the keyboard or the disk drive, asks for attention. If there are no instructions in RAM that tell the Mac how to talk to that device, you get this error.
ID=15: Segment Loader Error
To conserve RAM, a non-Power Mac program is loaded into RAM insegments as needed. A system-software program called thesegment loader oversees this swapping. If, for some reason, the segment loader can’t do its thing, this error results.
ID=17-24: Package Load Error
We’ll pass this along exactly as we heard it, although we make no pretense to understanding it ourselves: The Macintosh OS contains certain “packages” of routines that perform related operations. There are eight of these packages, 0-7. Errors 17 through 24 indicate failures to load the corresponding package. For example, PACK 4 (which would get an error code of 20) is the Standard File Package (the code that handles the Open File and Save File dialog boxes).
ID=25: Memory Full Error
You’ve probably run out of memory, although this message sometimes appears erroneously.
ID=26: Bad Program Launch
Macintosh applications come in two flavors: 68K code (for pre-Power Macs) and PowerPC code. If either of the “closets” where this code is stored is damaged, you get this error message when you try to run the program. (Time to reinstall.)
ID=27: File System Corrupted
Your Mac keeps an internal map that shows it where everything is on each of your drives. If that map gets hosed, this error pops up. Disk First Aid time!
ID=28: Stack Ran into Heap
Fancy way of saying you ran out of memory.
ID=33: Negative ZbcFree Error
The Macintosh Memory Manager software is so confused, it thinks there’s a negative number of available “zone control blocks” from which to allocate memory.
Negative Error Codes
There are many more negative-numbered error messages than positive. Furthermore, they make even less sense to the nonprogrammer. (Helpful example: “Packet too large or first entry of the write-data structure didn’t contain the full 14-byte header.” Sure.)
The table below provides the general categories for each number range, along with a few that actually make sense to human beings. Note that some of the numbers may overlap, since these error messages vary according to the context (what you’re doing at the time).
The Authoritative List of Negative Error Codes
Error Number & What Causes It
0 through –8 General System errors.
–9 through –21 Color Manager errors.
–17 through –61 System errors involving files and disks (input and output).
–34 Disk is full.
–35 No such disk, or the Mac can’t find the disk it’s looking for.
–37 Illegal filename (for example, the name includes a colon).
–39 A corrupted file is on the disk, or the disk is having problems. Often accompanied by the message “end of file” or “no additional data in the format.” It points in the general direction of a corrupt file. It means that the Mac started to process a file, but couldn’t finish reading it—as if the end of the file had been chopped off. If you encounter this particular message at startup, it could mean your Launcher has become corrupt. Drag the Launcher into the Trash and reinstall it.
–41 File is too big to fit in memory.
–42 Too many files open.
–43 File not found—you’re trying to open a file that’s been moved or deleted.
–44 and –46 Disk is locked.
–45 You’re trying to save or copy something to a locked disk.
–53 through –57 Illegal disk request.
–60 Something’s wrong with the disk directory.
–64 through –66 Font problems, or the required disk (or disk drive) isn’t available.
–64 through –90 Problems reading disks (timing and track troubles).
–91 through –99 AppleTalk errors.
–108 through –117 Various memory-allocation errors.
–120 through –127 HFS errors (disks, folders)
–126 through –128 Menu problems.
–130 through –132 More HFS errors.
–147 through –158 Color management problems.
–185 through –199 Resource Manager errors (problems managing data).
–200 through –232 Problems with sound or sound files.
–250 through –261 Problems with the MIDI Manager.