« beatsX 〜イヤフォンジャックの復活を望む俺〜 | トップページ | GPD Pocketとポメラ DM200にLoeのカバーを使っています。 »

2018年8月15日 (水)

原因判明まで一年半かかったバグの話。

バグが無いプログラムは無い。

じゃ、あえて作り込むのかというと
それは違う。

プログラムを完成品にして
発売する前に徹底的なデバッグをやる。

が。。。
不幸にも事故が起きてしまう。

この話は、
私のプログラマー人生の中で
原因が判明するまでに一番時間を要したバグの話。

現象は、OSがクラッシュ(システムダウン)するというもの。

直接的な現象は、カーネル空間の1ビットがON("1")に
なるという摩訶不思議な現象。

いろいろ調べてみましたが、1度目の発生時は、
原因不明(時間切れ)となってしまいました。

ハードウェアの不良なら
もっと豪快にメモリを破壊すると考えていたので
ソフトウェアの問題だとは考えていたのですが。。。

そしたら、
1年後、同じお客様で同じ現象が発生!

もう、3度目を起こすわけにいかないので
1回目の調査資料と2度目の調査資料を見比べて
再度、徹底的に調査。

が、あるアプリが動作すると発生するみたい?
という状況証拠はあるのだが、
決定的証拠が見つからない。
(アプリの開発元は、「そんなことは無い。」としか言わないし。。。)

そこで、
お客様にお願いして
ワナをかけることに。

ワナのアルゴリズムは、
1ビットがONになる(ビットが化ける)場所は分かっていたので、
定期的にメモリチェックするというもの。

流石に本現象を検出したら
システムをフリーズさせる(これなら、その瞬間を捉えることができるので)
という案は却下されましたが、
メモリの修復と必要と思われるログの採取を行えるようにしました。

そして。。。

さらに約半年が経過した頃
「ワナにかかった!」という報告が。


今度は、犯人を逃すわけにはいかないので、
決定的証拠をつけて
アプリの開発元へ。

犯人はゲロしました。

いやー
原因判明するまでに
長い時間がかかったけど、
解決すると、
その苦労も報われます。

よかった。(o・ω・)ノ))

« beatsX 〜イヤフォンジャックの復活を望む俺〜 | トップページ | GPD Pocketとポメラ DM200にLoeのカバーを使っています。 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 原因判明まで一年半かかったバグの話。:

« beatsX 〜イヤフォンジャックの復活を望む俺〜 | トップページ | GPD Pocketとポメラ DM200にLoeのカバーを使っています。 »

フォト
無料ブログはココログ

bigmoroの関連リンク