Commodore Amiga
1985
Guru Meditation: an error with a sense of humour
The Amiga's most famous error message was born from a game of keeping still on an Atari 2600 accessory, and the numbers that come with it say exactly what went wrong.
Before the computer, Amiga sold accessories for the Atari 2600 console. The most original was the Joyboard, a plastic board the player stood on and leaned forwards, backwards and sideways instead of moving a joystick. It came with a skiing game, Mogul Maniac; two others, a surfing game and a pattern game, were never released. The video game crash of 1983 killed its sales [2].
The Joyboard left an unexpected legacy. According to Jeremy Reimer, R. J. Mical, who wrote some of the trickiest routines in the system, made a simple game for it, Zen Meditation, to calm himself down: the aim was to stay absolutely still on the board. The game became an in-joke, and when the text for a serious error message had to be written, someone thought of "Guru Meditation" [1]. The image that stuck, it's said, is of a programmer sitting cross-legged on the Joyboard, like a guru [3].
The aim of the game was to stay absolutely still; whoever moved triggered a "guru meditation".
On screen, the message appears in a black box at the top, with red text when the error is fatal. Clicking the left mouse button restarts the machine; the right button opens ROMWack, a debugger. Recoverable errors, the Recoverable Alerts, appear in yellow in versions 2.x and 3.x and almost always let you save your work before restarting [3].
The two numbers that follow are not decoration. The first says what happened; the second is, as a rule, the address of the task that was running [3]. For processor errors, the first number is the 68000 exception: 3 is an access to an odd address, 4 an illegal instruction, 5 a division by zero. For system errors, the top bit marks the error as fatal, the rest of the first byte says which part of the system failed (01 is exec.library, 02 graphics.library, 07 dos.library) and the rest describes the error, such as running out of memory [4]. There is even a code, 48454C50, which reads "HELP" in ASCII, for when not even the system knows the cause [3].
Reimer recounts that the word Guru was eventually dropped from the system because a Commodore executive thought it was not serious enough, and the message was reduced to "Software Failure" [1]. Later, in AmigaOS 4.0 onwards, the guru gave way to a "Grim Reaper", Death with his scythe, which still shows the error number [3].
The name outlived the Amiga. VirtualBox calls the state in which a virtual machine locks up Guru Meditation, the ESP8266 and ESP32 microcontrollers print "Guru Meditation Error" when they panic, and the Varnish cache server also uses the phrase for serious errors [3].
Sources
- [1]A history of the Amiga, part 2: The birth of Amiga (pág. 2) · Ars Technica (Jeremy Reimer), cópia em landley.net, 2007
- [2]The 68000 Wars, Part 1: Lorraine · The Digital Antiquarian (Jimmy Maher), 2015
- [3]Guru Meditation · Wikipédia (en)
- [4]exec/alerts.h (NDK do AmigaOS, v39.3) · GitHub (kusma/amiga-dev)