Guru Meditation(グル・メディテーション)とは、コモドールのパーソナルコンピュータAmigaの初期のバージョンがクラッシュしたときに表示されるエラーメッセージである。これは、Microsoft WindowsブルースクリーンやUnixのカーネルパニックに相当するものである。

その後、Varnish Cache[1]VirtualBox[2]などのソフトウェアでも、回復不可能なエラーのメッセージとして使用されるようになった。

概要 編集

Guru Meditationが表示されたとき、ユーザが取ることのできる選択肢は、マウスの左ボタンを押して装置を再起動するか、マウスの右ボタンを押してROMWackを起動するかである(ROMWackはオペレーティングシステムに組み込まれた最小限のデバッガで、9600bpsの端末をシリアルポートに接続することでアクセスできる)。

 
Guru Meditationの表示イメージ
 
Nintendo DS用の自作ソフトDSOrganizeにおけるGuru Meditationエラー

アラート自体は、画面の上部にある黒い長方形のボックスとして表示される。その境界線とテキストは、通常のGuru Meditationの場合は赤色、別の種類のGuru Meditationである回復可能なアラート(recoverable alert)の場合は緑色または黄色である。画面が真っ暗になり、アラートが表示される直前に電源LEDとディスクアクティビティLEDが点滅する場合がある。ROMにプログラムされたAmigaOS 1.x(Kickstart 1.1、1.2、1.3として知られる)では、エラーは常に赤である。AmigaOS 2.x、3.xでは回復可能なアラートは黄色で表示されるが、2.xの最初期のバージョンでは緑色だった。

システムに致命的な問題が発生したときにこのアラートが発生した。システムに回復の手段がない場合、システムに多数の重大な欠陥がある場合であっても、アラートは表示できる。極端な場合、システムのメモリが完全に枯渇した場合にアラートが表示されることもある。

エラーコードは、ピリオドで区切られた2つのフィールドとして表示される。その形式は、CPUエラーの場合は#0000000x.yyyyyyyy、システムソフトウェアエラーの場合は#aabbcccc.ddddddddである。1つ目のフィールドは、システムソフトウェアエラーの場合、発生したMC68000例外番号(CPUエラーが発生した場合)または内部エラー識別子(「メモリ不足」コードなど)のいずれかである。2つ目は、タスク構造体のアドレス、または割り当てもしくは割り当て解除に失敗したメモリブロックのアドレスである。エラーの原因となったコードのアドレスではない。クラッシュの原因が不明な場合、この番号は48454C50と表示される。これは、16進ASCIIコードで「HELP」を表す(48 = H、45 = E、4C = L、50 = P)。

アラートメッセージのテキストは、ほとんどのユーザにとっては完全に不可解なものだった。技術的に熟達したAmigaユーザならば、例えば例外3はアドレスエラーであり、プログラムがメモリ上の境界整列されていないワードにアクセスしていることがわかる。この専門知識を持たないユーザは、「グル」を探すか、単にマシンを再起動して今度は正しく動作することを期待する以外に手段はない。

Guru Meditationハンドラ 編集

バージョン2.04より前のAmigaOSには、Hypertek/Silicon Springs Development corp製のGOMF(Get Outta My Face)と呼ばれる市販のエラーハンドラがあった。それは多くの種類のエラーに対処することができ、ユーザに問題のプロセスと関連する画面を削除するか、マシンがGuru Meditationを表示できるようにするかの選択をユーザができるようにした。多くの場合、問題のあるプロセスを削除すると、データを保存し、システムを再起動する前に実行中のプログラムを終了することができる。エラーが広範囲ではない場合は、マシンを使用し続けることができた。ただし、このエラーが時々発生する可能性があるため、ユーザーを全てのエラーから救うことはできなかった。

回復可能なアラート 編集

回復可能なアラート(Recoverable Alert)は、コンピュータシステムの重大ではないクラッシュである。通常の赤色のGuru Meditationは常に即座に再起動するが、ほとんどの場合、回復可能なアラートが発生しても、作業を再開してファイルを保存することができる。ただし、システムが予測不可能な状態になってデータ破損を引き起こす可能性があるため、回復可能なアラートが発生した後はできるだけ早く再起動した方が良い。

起源 編集

"Guru Meditation"(グル瞑想)という言葉は、初期のAmigaの社内でのジョークとして始まったものである。当時のAmigaにはジョイボード英語版という製品があった。これは、足で操作するジョイスティックのようなものであり、現代のバランスWiiボードに似ている。AmigaのOSの開発の初期に、同社の開発者はシステムの頻繁なクラッシュに非常に不満を抱いた。そこで、リラックスのために、ジョイボードを使って、インドの宗教家のように瞑想する(すなわち座禅を組む)ゲームを開発した[3]。プレーヤーは、座って静止し続けなければならない。プレイヤーが動きすぎると、"guru meditation"エラーが発生した[4]Wii Fitのバランスゲームには、同様のゲームが収録されている。

レガシー 編集

  • AmigaOSバージョン4.0以降では、"Guru Meditation"が"Grim Reaper"に置き換えられたが、プロンプトボックスにGuru Meditation番号が簡単に記載されている。
  • MorphOSは、"Application Is Meditating"(アプリケーションは「瞑想中」です)というエラーメッセージを表示する。アプリケーションを閉じるとオペレーティングシステムが復活する場合があるが、再起動した方が良い。
  • Varnish Cacheは、重大なエラーのときにGuru Meditationを表示する[1]
  • マイクロコントローラESP8266ESP32では、コアダンプスタックトレースに"Guru Meditation Error: Core X panic'ed"(Xはクラッシュしたコアに応じて0または1)と表示する[5]
  • VirtualBoxでは、仮想マシンモニターの重大なエラーを表すのに"Guru Meditation"という言葉を使用している。
  • NewPipeでは、エラー報告に"Sorry, that should not have happened. Guru Meditation."と表示される。

脚注 編集

  1. ^ a b Varnish Troubleshooting: Varnish gives me Guru meditation”. 2011年12月18日閲覧。
  2. ^ What is guru meditation? (VirtualBox forum)”. 2012年11月11日閲覧。
  3. ^ How We Created the Amiga Computer by RJ Mical, Info Magazine issue 13”. 2020年3月4日閲覧。
  4. ^ Bogost, Ian. “Guru Meditation”. 2007年7月21日閲覧。
  5. ^ Fatal Errors — ESP-IDF Programming Guide v4.1-dev-279-g96b96ae24 documentation”. 2019年9月24日閲覧。 “This section explains the meaning of different error causes, printed in parens after Guru Meditation Error: Core panic'ed message.”

外部リンク 編集