Therac-25という放射線治療器で死亡事故が起きたバグ.PDP-11のアセンブラで1バイトをフラグにしてインクリメントして256回目に0になったそう、、、
このTweet見た。
人が死ぬバグってあるんだな...今まで平和なプログラミングしかしたことないや。https://t.co/8EtfrW0pvp pic.twitter.com/zF9ZNLfUtu
— Daiius (@DaiiusJmst) 2017年7月17日
えー、死亡事故が起きたバグがあったのか、、、 どんなのか見てみた。 これとか。
このプログラムは1人のプログラマによってPDP-11のアセンブラで書かれています。
セットアップ中、セットアップテストは他のイベントが発生するのを待って
再スケジュールされるため、数百回実行されます。
事故を起こしたコードでは、Class3変数は、セットアップテストを通過するたびに
1ずつインクリメントされます。
class3変数は1バイトなので、最大値255までしか含めることができません。
したがって、セットアップテストコードを256回通過するたびに、
変数はオーバーフローし、0になります。
このとき上部コリメータの障害は検出されません。
ということのようです。
こわーー。C++と直接関係しているというわけではないですが、、、
« なか卯で「5種野菜と唐あげのロカボ担々麺」を食べた。こんにゃく麺だが気にならなくてボリュームもたっぷり。 | トップページ | セブンイレブンで売っている蒙古タンメン中本 北極のカップ麺を食べた。さすがに辛い! »
「日記・コラム・つぶやき」カテゴリの記事
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(1)複素行列を定義して一次方程式や逆行列、行列式などを計算する。(2023.03.24)
- BingのAIチャットに最大の素数はいくつ?と聞くと、存在しないが今知られている最大の素数は2^89589933-1だと答えた。が、これは引用している記事が誤植していて、実際は2^82589933-1だ...間違った記事を引用すると間違った答えになる。英語で聞くと1つ前のメルセンヌ素数に…(2023.03.17)
- 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース(3/16) IEEE Microwave Magazineは女性マイクロ波研究者特集、Microwave Journalで285GHz帯で30GHz帯域のOTA測定!QorvoがUWB室内ナビのデモ、STMとonsemiのBluetooth新商品、IDTechExの6Gレポート、など。(2023.03.16)
- 今日は円周率の日(3.14)ということでChatGPTとBingのAIチャットに円周率を求める面白い方法を教えてくださいと聞いてみた。ChatGPTが訳の分からない方法をRegenerateするたびに提案してくる...ピザ押し。Bingは検索していることもあってまあこんな感じか。(2023.03.15)
- Nokiaの新ロゴ、シンプルというか書きかけというかアイフルの新ロゴに似てる気がする。そういやKIAとかミューズのロゴもこんな感じになってる。流行ってるのかな。(2023.03.06)
トラックバック
この記事へのトラックバック一覧です: Therac-25という放射線治療器で死亡事故が起きたバグ.PDP-11のアセンブラで1バイトをフラグにしてインクリメントして256回目に0になったそう、、、:
« なか卯で「5種野菜と唐あげのロカボ担々麺」を食べた。こんにゃく麺だが気にならなくてボリュームもたっぷり。 | トップページ | セブンイレブンで売っている蒙古タンメン中本 北極のカップ麺を食べた。さすがに辛い! »
コメント