|This article needs additional citations for verification. (February 2008) (Learn how and when to remove this template message)|
The Bomb icon is a symbol designed by Susan Kare that was displayed inside the System Error alert box when the "classic" Macintosh operating system (pre-Mac OS X) had a crash which the system decided was unrecoverable. It was similar to a dialog box in Windows 9x that said "This program has performed an illegal operation and will be shut down." Since the classic Mac OS offered little memory protection, an application crash would often take down the entire system.
The bomb symbol first appeared on the original Macintosh in 1984. Often, a reason for the crash, including the error code, was displayed in the dialog. In some cases, a "Resume" button would be available, allowing the user to dismiss the dialog and force the offending program to quit, but most often the resume button would be disabled and the computer would have to be restarted. Originally, the resume button was unavailable unless the running program had provided the OS with code to allow recovery. With the advent of System 7, if the OS thought it could handle recovery,[clarification needed] a normal error dialog box was displayed, and the application was forced to quit. This was helped by the classic Mac OS providing a little bit of protection against heap corruption using guard pages; if the application was to crash and the application's heap was corrupt, it could be thrown away.
The debugger program MacsBug was sometimes used even by end users to provide basic (though not always reliable) error recovery, and could be used for troubleshooting purposes, much as the output of a Unix kernel panic or a Windows NT Blue Screen of Death could be. Mac OS Classic bomb boxes were often ridiculed for providing little or no useful information about the error; this was a conscious decision by the Macintosh team to eliminate any information that the end user could not make sense of. The error code was intended to be included in a bug report to the developer.
In Mac OS X, the system architecture is vastly different from that in the classic Mac OS, and an application crash can not usually bring down the entire system. A kernel panic screen (either text overwritten on the screen in older versions, or simplified to a reboot message in more recent versions) replaces the bomb symbol but appears less often due to the radically different system architecture. The bomb symbol is not used in Mac OS X, but a test application called Bomb.app, specifically written to cause a non-fatal crash, is included with Xcode and uses a rendition of the bomb symbol as its icon.
In the original Mac OS, the operating system call to display a "bomb box" was named DSError, and the corresponding alert table information was stored in resources of type 'DSAT'. "DS", as in the "DS Manager." For documentation purposes, this was renamed the 'System Error Manager.'
Atari ST TOS
TOS-based systems, such as the Atari ST, used a row of bombs to indicate a critical system error. The number of bombs displayed revealed information about the occurred error. The error (also called an exception) is reported by the Motorola 68000 microprocessor. The very first version of TOS used mushroom clouds; this was quickly changed, as it was considered politically incorrect.
- 1 bomb: Reset, Initial PC2
- 2 bombs: Bus Error
- 3 bombs: Address Error
- 4 bombs: Illegal Instruction
- 5 bombs: Division by zero
- 6 bombs: CHK Instruction
- 7 bombs: TRAPV Instruction
- 8 bombs: Privilege Violation
- 9 bombs: Trace
- 10 bombs: Line 1010 Emulator
- 11 bombs: Line 1111 Emulator
- 12–13 bombs: Reserved
- 14 bombs: Format Error
- 15 bombs: Uninitialized Interrupt Vector
- 16–23 bombs: Reserved
- 24 bombs: Spurious Interrupt
- 25 bombs: Level 1 Interrupt Autovector
- 26 bombs: Level 2 Interrupt Autovector
- 27 bombs: Level 3 Interrupt Autovector
- 28 bombs: Level 4 Interrupt Autovector
- 29 bombs: Level 5 Interrupt Autovector
- 30 bombs: Level 6 Interrupt Autovector
- 31 bombs: Level 7 Interrupt Autovector
- 32–47 bombs: Trap Instruction Vectors
- 48–63 bombs: Reserved
- 64–255 bombs: User Interrupt Vectors