ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

マイナンバーカード管理システムの不具合が分かったという件


マイナンバーカード管理システムの不具合、J-LISが障害原因を特定
http://itpro.nikkeibp.co.jp/atcl/news/16/042801270/

によると、バグは2つあったらしい

<<バグ1>>
ハードウェア監視ツールからの状態確認が行われると、
本来、処理結果を返さなければいけない「耐タンパ装置」
(暗号化・複号化行っている)に処理結果を返さない


<<バグ2>>
業務アプリケーションがデータ処理を開始する前に、
(=データ処理を開始していないから
  メモリー内に作業領域を確保していないのに)
Windowsからタイムアウトの通知を受け取った場合、
 終了処理をしていた。
この結果、まだメモリー確保していない(=存在しない)
 作業領域を解放しようとして・・・
そりゃ、異常終了するよね(^^;)


バグ2は、レビューでも気づいて不思議はないよね。
レビュー観点が甘いのか?それとも、よほど複雑な遷移なのか?
そうでないとしたら、バグ2のバグは、ほかにもありそうだなあ、多分。

そのプログラマは、たぶん、同じようにクローズするとき、
他でも、無条件でメモリー解放するように書いているから、
(そこまで馬鹿じゃない?ちゃんと、nullでなかったら、メモリー解放っていう
プログラムを書いていたけど、たまたま領域をとっていないところが、nullで
なかった(不定値だった)のかなあ・・?いずれにせよ、他でも書いているはず)
おんなじように領域とってないのにフリーしているところはあるはず。

横並びチェックしたのかなあ?

してないと、モグラたたきで、また、バグでるよ、違うところで・・・