記事登録
2007年10月28日(日) 13時34分

1文字分のミスで大トラブルに 首都圏改札機トラブル朝日新聞

 首都圏の鉄道で12日と18日の早朝に起きた日本信号(本社・東京)製の自動改札機と窓口処理機の障害の原因は、プログラムがわずか日本語1文字分のデータの処理を誤ったためだったことがわかった。「極めて単純なプログラムミス」と専門家が指摘する欠陥は、のべ727駅、260万人の足に影響する事態に発展した。

ネガデータの流れ

 12日は改札機4378台、18日は窓口処理機101台で障害が起きた。どちらの機器も、IC乗車券「Suica(スイカ)」と「PASMO(パスモ)」の相互利用に対応している。

 日本信号によると、期限切れなどの理由で使えなくなったカードをチェックするため、無効カードの情報(ネガデータ)が相互利用センターのサーバーから各駅の駅サーバーに送られてくる。駅サーバーはデータ処理に必要な情報を加えて、改札機や窓口処理機にネガデータの情報を送る。

 両機器は毎朝の立ち上げの際、ネガデータの最新版を取り込む。その際、窓口処理機は駅サーバーから直接データを受け取るが、改札機は監視盤という機器で書き換えられたデータを受け取る。

 障害の引き金になったのが、2バイト(2進法で16けた)のデータだった。例えば改札機の場合、ネガデータは5451件分(6万5518バイト)を一区切りとして処理される。処理は4バイトずつ進めるため、最後に2バイト余る。全角ひらがなや漢字1文字分のデータ量だ。

 半端な2バイトも、件数がこの一区切りまでなら正常に処理されていた。だが、5452件以上になると「85件増すごとに5件の割合で、余った2バイトの処理を忘れる」(同社)というプログラムの欠陥があった。

 相互利用が始まった3月から9月下旬まで、ネガデータは障害が発生する件数に達していなかった。以後もたまたま障害の条件をすり抜けていたが、10月12日のデータは「5件」に合致して2バイトが欠落し、改札機が立ち上がらなくなった。

 窓口処理機でも同様の処理が行われているが、データの受け取り方の違いから12日に障害は起きなかった。だが、18日には「5件」の条件に当てはまった。

 今回の事態を受けて日本信号では、すべての機器のプログラムの見直し作業を進めている。

http://www.asahi.com/national/update/1027/TKY200710270270.html