« なか卯で「5種野菜と唐あげのロカボ担々麺」を食べた。こんにゃく麺だが気にならなくてボリュームもたっぷり。 | トップページ | セブンイレブンで売っている蒙古タンメン中本 北極のカップ麺を食べた。さすがに辛い! »

2017年7月18日 (火)

Therac-25という放射線治療器で死亡事故が起きたバグ.PDP-11のアセンブラで1バイトをフラグにしてインクリメントして256回目に0になったそう、、、

このTweet見た。

えー、死亡事故が起きたバグがあったのか、、、 どんなのか見てみた。 これとか。

このプログラムは1人のプログラマによってPDP-11のアセンブラで書かれています。
セットアップ中、セットアップテストは他のイベントが発生するのを待って
再スケジュールされるため、数百回実行されます。
事故を起こしたコードでは、Class3変数は、セットアップテストを通過するたびに
1ずつインクリメントされます。
class3変数は1バイトなので、最大値255までしか含めることができません。
したがって、セットアップテストコードを256回通過するたびに、
変数はオーバーフローし、0になります。
このとき上部コリメータの障害は検出されません。
ということのようです。
こわーー。C++と直接関係しているというわけではないですが、、、

« なか卯で「5種野菜と唐あげのロカボ担々麺」を食べた。こんにゃく麺だが気にならなくてボリュームもたっぷり。 | トップページ | セブンイレブンで売っている蒙古タンメン中本 北極のカップ麺を食べた。さすがに辛い! »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« なか卯で「5種野菜と唐あげのロカボ担々麺」を食べた。こんにゃく麺だが気にならなくてボリュームもたっぷり。 | トップページ | セブンイレブンで売っている蒙古タンメン中本 北極のカップ麺を食べた。さすがに辛い! »

最近の記事

最近のコメント

2025年2月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  
フォト
無料ブログはココログ