[ TOP | Recently ]

2007-01-04 メモリ化け

NetBSDなAthlon64x2マシンがたまに落ちると思ったら、どうもメモリが化けてるっぽい落ち方をしている。ログは↓

pool_get(vmmpepl): free list modified: magic=deadbeeb, page=〜

subr_pool.cのPI_MAGIC(deadbeef)がdeadbeebになっている。完璧にメモリだなぁ。

確認にmemtest86+を回してたらテスト3週目で一回だけエラーが出た。すぐに出ない所がいやらしい。

しょうがないので化ける領域を使わないよう細工してごまかすことにする。
uvm_page_physload() から uvm_pagefree() で空きページをフリーリストに登録してる個所で、該当ページは登録スキップさせてみた。強引だなー。
綺麗に書くならば machdep.c から uvm_page_physload() 呼ぶ時に、該当部分以外を分割してphysloadしてやるのが正解だろうが、めんどくさいからいいや。

これでしばらく様子見。
他のアドレスも化けるようであれば、素直にあきらめよう。


EOF