Bomb (icon)

The bomb icon (💣) has several different applications in computing, and typically indicates a fatal system error.

Mac OS
The bomb icon in Mac OS is a symbol designed by Susan Kare that was displayed inside the System Error alert box when the "classic" Macintosh operating system had a crash which the system decided was unrecoverable. Since the classic Mac OS offered no 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, 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, presenting only information such as "System Error 11" or "address 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, being based on BSD's UNIX-like kernel, the system architecture is vastly different from that in the classic Mac OS, and an application crash cannot 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 system call to display a "bomb box" was called DSError, for "Deep Shit". This was deemed obscene, and became 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 first version of TOS used mushroom clouds.


 * 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

Unicode
Bomb emoji was added to Miscellaneous Symbols and Pictographs character block in Unicode version 6.0 with code point.