数年越しで発覚したプログラムのバグ(汗)

ユーザーからシステムの動作がおかしいと連絡が来た。
症状を聞くと過去に聞いたことが無い不具合が起きているようだ。
ソフトの開発者と連絡を取り合いながら対処したところ、どうも特定の手順で処理をさせた場合のみ発生するらしいということが判った。
#私もその部分の開発に携わっていて処理の中身は理解できるので助言が出来た。
ということは少し違う手順で処理をさせれば回避できるということで、開発者が実際にやってみると不具合は発生しなかった。
ほぼ同時にユーザーからも同じような内容の連絡が来たので、一応は回避できることが確定。
その後さらに調べると不具合が発生した際はプログラム内で使っているグローバル変数の値がリセットされていないことが判明。
通常時はかならず特定の範囲の値がセットされ、それ以外の場合は初期値がセットするようにしているので不定値がセットされることが無く、プログラムが”落ち無い”ので見逃していたようだ。
今回は別のルーチンでセットされた値がそのまま使われてしまったために不具合が表面に出てしまった。
対策として処理毎に必要な値をセットするようなステップを処理の前段に追加したので今後は発生しない筈。
とはいえ、複数のプログラムで同じ修正が必要になるので、見落としがあれば再発するなぁ(汗)。

←クリックしてくれると嬉しいです。
【広告】

コメントを残す