「トレンドマイクロ」の失態

先週末から世間を賑わせてる「ウイルスバスター」のバグ?に言及。新聞やラジオニュースでの情報しか今のところ入手してないので、よく分からないが…。
ワクチンのパターンファイルの設定ミスのようです。WindowsのCPU使用率が100%になるらしいので、プログラムミスによる永久ループでしょう。
私もSE&プログラマーの端くれですが、これは本当に初歩的なミスだと思います。勿論ウイルス駆除のプログラムなので、私が作っていたソフトとは規模も複雑さも全然違うものを言っても良いぐらいの代物だとは思いますが…。
私はこの業界(最初は一企業の電算室…表現がダサイ(死語か?(括弧のネストが深い(^-^;))ね。システム開発室と今なら言うのかな?昔が電算(電子計算機を強調したかったのかナ〜…閉じカッコの場所がわからなくなった(^_^;)ここで【業界】から続くカッコ書きを閉じます)に入ったころ、(あ〜やっと話の本筋に戻ってきました〜感慨深いものが有りますね(←用例誤り)用例も誤り?あっまた話が…戻すために改行して一部重複させます)
私はこの業界に入ったころ、東京支店のシステムを大幅にリプレース(入替え)しました。そのことはバッチ処理が支流でしたが、新任SE(室長)の英断でリアルタイム処理に換えたわけです。(といっても今考えると中途半端なリアルタイム処理でした)

バッチ処理:一定期間(もしくは一定量)データを集め、まとめて一括処理を行なう方式。
※リアルタイム処理:何らかの状況変化に応じて、その変化とほぼ同時とみなせる許容時間の範囲内で、コンピュータが何らかの処理を行うことを指す。

その時にバックジョブ(エントリー業務などをしながら同時に裏で動く処理)として起動させた更新処理が永久ループに嵌り、エントリー業務は運用に耐えられないような速度になってしまいました。最初は勿論更新処理のプログラムミスなど考えてもいなかったのでその人(室長)もCPUのスペックを上げるべきか、ディスクのアクセスに問題があるならキャッシュメモリーを増やすべきか、更新ファイルのブロック長を大きくすべきか、その場で皆を集めて打合せしました。

※永久ループ:プログラムミスによりある条件の場合に同じ処理を繰り返すようになり、その部分の処理を永遠に繰り返すこと。通常その処理にCPUが食われてしまい、その他の処理はほぼストップしてしまう。
キャッシュメモリー:ディスクのアクセスを早くするためにディスクの一部の情報を記録するメモリー
※更新ファイルのブロック長を大きく:このころのシステムはファイルの読み込みはブロックを言う単位で行なわれるため、それを大きくすることで入出力の回数を減らす事出来る。減らす事により処理速度は上がる。ブロック長を大きくすることはメモリーを多く消化することになるが…。

結局、更新処理プログラムのミス(永久ループ)で他の業務に影響を与えた訳ですが、後日その影響(他にもミスがあったが)でその室長はその支店長に謝罪を求められ、文書で謝罪してました。
(あ、このプログラムを作ったのは私ではありません〜念のため〜。ずぅーと先輩のプログラマーでした。)
話が長くなりましたが、今回の「トレンドマイクロ社」はホントに初歩的なミスで何故こんなミスをチェックせずに正式にアップしたのかが、問われることでしょう。
このあと、信頼を取り戻すのにどれぐらい掛かるかな?