Commodore Amiga
1985
Guru Meditation : une erreur pleine d'humour
Le message d'erreur le plus célèbre de l'Amiga est né d'un jeu où il fallait rester immobile sur un accessoire pour l'Atari 2600, et les nombres qui l'accompagnent disent exactement ce qui a mal tourné.
Avant l'ordinateur, Amiga vendait des accessoires pour la console Atari 2600. Le plus original était le Joyboard, une planche en plastique sur laquelle le joueur se tenait debout et se penchait en avant, en arrière et sur les côtés au lieu de manier un joystick. Il était livré avec un jeu de ski, Mogul Maniac ; deux autres, un de surf et un de motifs, ne sont jamais sortis. Le krach du jeu vidéo de 1983 a tué ses ventes [2].
Le Joyboard a laissé un héritage inattendu. Selon Jeremy Reimer, R. J. Mical, qui écrivait certaines des routines les plus complexes du système, a créé pour lui un jeu simple, Zen Meditation, pour se calmer : le but était de rester absolument immobile sur la planche. Le jeu est devenu une blague interne, et quand il a fallu rédiger le texte d'un message d'erreur grave, quelqu'un a pensé à « Guru Meditation » [1]. L'image qui est restée, dit-on, est celle d'un programmeur assis en tailleur sur le Joyboard, comme un gourou [3].
Le but du jeu était de rester absolument immobile ; quiconque bougeait provoquait une « guru meditation ».
À l'écran, le message apparaît dans un rectangle noir en haut, avec un texte rouge quand l'erreur est fatale. Un clic sur le bouton gauche de la souris redémarre la machine ; le bouton droit ouvre ROMWack, un débogueur. Les erreurs récupérables, les Recoverable Alerts, s'affichent en jaune dans les versions 2.x et 3.x et permettent, presque toujours, d'enregistrer son travail avant de redémarrer [3].
Les deux nombres qui suivent ne sont pas décoratifs. Le premier dit ce qui s'est passé ; le second est, en général, l'adresse de la tâche qui tournait [3]. Pour les erreurs du processeur, le premier nombre est l'exception du 68000 : 3 est un accès à une adresse impaire, 4 une instruction illégale, 5 une division par zéro. Pour les erreurs du système, le bit de poids fort marque l'erreur comme fatale, le reste du premier octet indique quelle partie du système a échoué (01 est l'exec.library, 02 la graphics.library, 07 la dos.library) et le reste décrit l'erreur, comme un manque de mémoire [4]. Il existe même un code, 48454C50, qui se lit « HELP » en ASCII, pour quand même le système ignore la cause [3].
Reimer raconte que le mot Guru a fini par disparaître du système parce qu'un cadre de Commodore le trouvait peu sérieux, et le message a été réduit à « Software Failure » [1]. Plus tard, dans AmigaOS 4.0 et suivants, le gourou a cédé la place à un « Grim Reaper », la Faucheuse, qui affiche toujours le numéro de l'erreur [3].
Le nom a survécu à l'Amiga. VirtualBox appelle Guru Meditation l'état dans lequel une machine virtuelle se bloque, les microcontrôleurs ESP8266 et ESP32 écrivent « Guru Meditation Error » quand ils paniquent, et le serveur de cache Varnish utilise aussi l'expression pour ses erreurs graves [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)