10月12日早朝から首都圏のJR東日本や私鉄、地下鉄の一部の駅で自動改札機が作動しないシステム障害が発生した。
今回の起動障害はJR東日本や私鉄、地下鉄の合計662駅で発生しているが、日本信号の機種に集中していて、他のオムロン、東芝の機種では障害になっていない事から、日本信号の改札機における不正カード判定プログラムの潜在バグだった模様。
ITmediaの記事によると
更新までに1年ほどあったというテスト期間では“魔物”は見つからず、運用開始から半年以上経ったこの日の朝、本番環境で判明するという最悪の事態になった。とか
ネガデータにダミーを挟むなどして条件を変えれば問題なく読み込めることは分かっているとされているので、どうやらセクタなりセグメントなりのバウンド処理をしくじった類である気配が濃厚。
一般的に自前の試験では作り手の思い込みから抜けられないので、想定外のシナリオを描きやすい第三者に試験してもらう方が問題を見つけやすいのだが、「ある長さ、ある件数といった条件が重なった時にデータが読み込めなくなる不具合」だとすると、第三者の方が見つけやすくなるとも思えない。
基本的にこのようなバグを防ぐ施策としては、設計レビューやソースコードレビューを充実させるというのがセオリーなのだが、だからと言ってこういう複雑で厄介なシナリオまでシミュレートしてチェックできるか?というとそれも微妙だ。やはりプログラマにバウンドをうまく処理する事ができるだけのセンスとスキルを身につけさせるのが一番の解決策であり、そういう資産や人材を持っていたオムロンや東芝ではバグが出なかったという事だろう。
まぁ、日本信号のプログラムも全て自社社員による開発とは限らないし、派遣プログラマはおろか、大手SIerへの丸投げかもしれない。そういう意味ではオムロンや東芝もまた同じで万全とは言い難い。何をもってどこが良いかを論じるのは大変難しいところだ。
今回は予約に関係無かったので改札開放で利用者への甚大な影響は避けられたようだが、この秋から始まったANAのskipサービスでも同じ様な事が起こったら予約が絡むので大変な事になりそうな予感がヒシヒシ。
【参照】
●日経ITPro http://itpro.nikkeibp.co.jp/
┣JR東日本のSuicaで初の大規模トラブル、首都圏3分の1以上の駅で改札ゲートが閉鎖 2006年12月1日
┣【速報】JR東など首都圏の自動改札でシステム障害、特定機種のソフト問題か 2007年10月12日
┣【続報】首都圏の自動改札障害は、日本信号機の通信トラブル 2007年10月12日
┣【続々報】首都圏の自動改札障害は接続認証のエラー、「昨晩は保守をしていない」 2007年10月12日
┗【自動改札障害】盗難カードの管理プログラムが問題、原因はいまだ不明 2007年10月13日
●ITmedia http://www.itmedia.co.jp/
┣12月1日になった途端、Suica改札機通れず――184駅でトラブル 2006年12月1日
┣首都圏で改札機動かず 再起動で解消 2007年10月12日
┗260万人の朝の足を直撃 プログラムに潜んだ“魔物” 2007年10月12日
●東日本旅客鉄道株式会社 http://www.jreast.co.jp/
┗(お詫び)首都圏の自動改札機での不具合について 2007年10月12日
●日本信号株式会社 http://www.signal.co.jp/