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

2017年7月18日 (火)

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

このTweet見た。

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

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

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

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

コメント

コメントを書く

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

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/512682/65551362

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

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

最近の記事

最近のコメント

2017年12月
          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 29 30
31            
フォト
無料ブログはココログ