kokonani

一昨日の話。

午後に突然、dumpが舞い降りてきた。
なんか10台くらい同時に落ちたらしく、緊急度超大。
あやうく徹夜になりかけるところだった。
帰ったの3時だったからほぼ徹夜みたいなもんだが。

見る。
ロックが2重に獲得される寸前にassertで落ちてる。
・・・なんでロック獲得したスレッドが
もう一回ロック獲得しようとしてるんだ?

上長と一緒に3、4時間悩む。
・・・わからん。
そして別件を片付けおわったっぽい課長登場。

課長 「おい、なんか途中で割り込みレベル変わってるぞ」

課長神!
つまり詳細はこうだ。

割り込み禁止の状態でロックを獲得する
→ 想定外の場所でページフォルトが起きる(スタックオーバーフローしてた)
→ ページインするために割り込みレベルが下がる
→ 新しく入ってきた割り込み処理の中でロックを確保しようとする
→ すでにロックを持ってるからassert

解析はほぼ終了。
あとはパッチを提供するだけである。

だいたい日々こんな感じでdumpは解析されている。
blog comments powered by Disqus