« ActionMailerでenvelope-fromを指定する | Main | 続:メモリ不具合疑惑 »
2007年3月 7日
メモリ不具合疑惑
最近、OSXの不具合ばっかりですが、また落ちました。
とはいっても、今度は前回までとちと様子がちがう。
panic(cpu 0 caller 0x001944A8): pmap_enter: null pv_list! Backtrace, Format - Frame : Return Address (4 potential args on stack) 0x363fbd28 : 0x128d08 (0x3c9ac4 0x363fbd4c 0x131de5 0x0) 0x363fbd68 : 0x1944a8 (0x3cd0cc 0x1519000 0x0 0x0) 0x363fbdf8 : 0x160ab6 (0x657ac70 0x1519000 0x0 0x76783) 0x363fbf48 : 0x1a350e (0x52cc000 0x1519000 0x0 0x1) 0x363fbfc8 : 0x19a864 (0x5bbd180 0x0 0x19d0b5 0x5442960) No mapping exists for f rame pointer Backtrace terminated-invalid frame pointer 0xbfffe808
これ、まさにターミナルからmakeって打った瞬間に落ちたんですけど、さすがに今どきpmapまわりが腐ってることはないだろうと。そんなことがあったら、先日のmbufよりたちが悪い。しかも、前日の夜にFinderは激しく落ちるわ、gccは転けまくるわ(しかも転ける場所は不定)、Terminalも落ちるわのお祭りでした。なので、このpanicでさすがにこれはメモリが腐ってるでしょうと疑わざるを得なくなったわけです(というか、重い腰をあげたって感じ)。
さて、i386なら(って、MacBook Proもi386だけど、EFIじゃないふつーのBIOSならってことね)memtest86で終わりなんですが、いかんせんMacBook Proなのでどうしたものかと。で、ちょっと探してみるとRemberというメモリチェッカがありました。本家はここで、日本語化したのはMacのメモリ専用ショップ(これもすごいと思うが)のマックメムさん。本家から取得してもたぶん日本語化されていると思います。メモリチェッカなので英語のままでもいいと思いますけど。
RemberはOSXの上で動きます。本当はこんなでかいOSの上で動かさない方がいいんだけど、面倒な気分でいっぱいなのでこれでいくことにします。以下、一部整形済み結果。
Memtest version 4.13 (32-bit) Copyright (C) 2004 Charles Cazabon Copyright (C) 2004, 2005 Tony Scaminaci (Macintosh port) Licensed under the GNU General Public License version 2 only MacOS X (Darwin) running in multiuser mode POSIX version 200112 Pagesize is 4096 Requested memory: 2598MB (2724560896 bytes) Available memory: 2598MB (2724560896 bytes) Allocated memory: 2269MB (2380234752 bytes) at local address 0x02008000 Attempting memory lock... locked successfully Creating test buffers... Buffer A: 1134MB (1190117376 bytes) at local address 0x02008000 Buffer B: 1134MB (1190117376 bytes) at local address 0x48f04000 Running 1 test sequence... Test sequence 1 of 1: Stuck Address : FAILURE: possible bad address line at offset 0x0f473802. Skipping to next test... Random Value : FAILURE: 0xc2b75a9b != 0xf2b75a9b at offset 0x0f473802. FAILURE: 0xd7ffd72b != 0x77ffd72b at offset 0x0f47380a. FAILURE: 0x677fe5da != 0xf77fe5da at offset 0x0f473812. (略) FAILURE: 0xcc9c8bdd != 0x5c9c8bdd at offset 0x0f473bfa. FAILURE: 0x4bbf0351 != 0xfbbf0351 at offset 0x0f473df2. Compare XOR : FAILURE: 0xc608ce22 != 0x9608ce22 at offset 0x0f473802. FAILURE: 0xd3404392 != 0x13404392 at offset 0x0f47380a. FAILURE: 0x63c07163 != 0x93c07163 at offset 0x0f473812. (略) FAILURE: 0xc8231f64 != 0x38231f64 at offset 0x0f473bfa. FAILURE: 0x4f0097e8 != 0x9f0097e8 at offset 0x0f473df2. Compare SUB : FAILURE: 0xce1a3c5a != 0x9e1a3c5a at offset 0x0f473802. FAILURE: 0x5b51b1ca != 0x1b51b1ca at offset 0x0f47380a. FAILURE: 0x6bd1df9b != 0x9bd1df9b at offset 0x0f473812. (略) FAILURE: 0xc0348d9c != 0x40348d9c at offset 0x0f473bfa. FAILURE: 0x47120620 != 0xa7120620 at offset 0x0f473df2. Compare MUL : FAILURE: 0xcafacae4 != 0x2afacae4 at offset 0x0f473802. FAILURE: 0x585d8244 != 0xc85d8244 at offset 0x0f47380a. FAILURE: 0x66772bde != 0x46772bde at offset 0x0f473812. (略) FAILURE: 0xc8edac58 != 0xb8edac58 at offset 0x0f473bfa. FAILURE: 0x4f016b40 != 0xaf016b40 at offset 0x0f473df2. Compare DIV : FAILURE: 0x40000000 != 0x00000000 at offset 0x0f473802. FAILURE: 0x50000000 != 0x00000000 at offset 0x0f47380a. FAILURE: 0x40000000 != 0x00000000 at offset 0x0f473812. (略) FAILURE: 0x20000000 != 0x00000000 at offset 0x0f473bf2. FAILURE: 0xc0000000 != 0x00000000 at offset 0x0f473bfa. Compare OR : FAILURE: 0xcda73066 != 0xada73066 at offset 0x0f473802. FAILURE: 0xdda73066 != 0xada73066 at offset 0x0f47380a. FAILURE: 0x6da73066 != 0xada73066 at offset 0x0f473812. (略) FAILURE: 0xcda73066 != 0xada73066 at offset 0x0f473bfa. FAILURE: 0x4da73066 != 0xada73066 at offset 0x0f473df2. Compare AND : FAILURE: 0xc9853002 != 0x29853002 at offset 0x0f473802. FAILURE: 0x59853002 != 0x29853002 at offset 0x0f47380a. FAILURE: 0x69853002 != 0x29853002 at offset 0x0f473812. (略) FAILURE: 0xc9853002 != 0x29853002 at offset 0x0f473bfa. FAILURE: 0x49853002 != 0x29853002 at offset 0x0f473df2. Sequential Increment: FAILURE: 0xcef9e7ff != 0x8ef9e7ff at offset 0x0f473802. FAILURE: 0x5ef9e807 != 0x8ef9e807 at offset 0x0f47380a. FAILURE: 0x6ef9e80f != 0x8ef9e80f at offset 0x0f473812. (略) FAILURE: 0xcef9ebf7 != 0x8ef9ebf7 at offset 0x0f473bfa. FAILURE: 0x4ef9edef != 0x8ef9edef at offset 0x0f473df2. Solid Bits : FAILURE: 0xcfffffff != 0xffffffff at offset 0x0f473802. FAILURE: 0x6fffffff != 0xffffffff at offset 0x0f473812. FAILURE: 0x6fffffff != 0xffffffff at offset 0x0f473822. (略) FAILURE: 0xcfffffff != 0xffffffff at offset 0x0f473bfa. FAILURE: 0x5fffffff != 0xffffffff at offset 0x0f473df2. Block Sequential : FAILURE: 0x40000000 != 0x00000000 at offset 0x0f473802. FAILURE: 0x50000000 != 0x00000000 at offset 0x0f47380a. FAILURE: 0x40000000 != 0x00000000 at offset 0x0f473812. (略) FAILURE: 0x20000000 != 0x00000000 at offset 0x0f473bf2. FAILURE: 0xc0000000 != 0x00000000 at offset 0x0f473bfa. Checkerboard : FAILURE: 0xc5555555 != 0x55555555 at offset 0x0f473802. FAILURE: 0xd5555555 != 0x55555555 at offset 0x0f47380a. FAILURE: 0x65555555 != 0x55555555 at offset 0x0f473812. (略) FAILURE: 0xc5555555 != 0x55555555 at offset 0x0f473bfa. FAILURE: 0x45555555 != 0x55555555 at offset 0x0f473df2. Bit Spread : FAILURE: 0xc0000005 != 0x00000005 at offset 0x0f473802. FAILURE: 0x50000005 != 0x00000005 at offset 0x0f47380a. FAILURE: 0x40000005 != 0x00000005 at offset 0x0f473812. (略) FAILURE: 0x20000005 != 0x00000005 at offset 0x0f473bf2. FAILURE: 0xc0000005 != 0x00000005 at offset 0x0f473bfa. Bit Flip : FAILURE: 0xcffffffe != 0xfffffffe at offset 0x0f473802. FAILURE: 0x6ffffffe != 0xfffffffe at offset 0x0f473812. FAILURE: 0x6ffffffe != 0xfffffffe at offset 0x0f473822. (略) FAILURE: 0xcffffffe != 0xfffffffe at offset 0x0f473bfa. FAILURE: 0x5ffffffe != 0xfffffffe at offset 0x0f473df2. Walking Ones : FAILURE: 0xcffffffe != 0xfffffffe at offset 0x0f473802. FAILURE: 0x6ffffffe != 0xfffffffe at offset 0x0f473812. FAILURE: 0x6ffffffe != 0xfffffffe at offset 0x0f473822. (略) FAILURE: 0xcffffffe != 0xfffffffe at offset 0x0f473bfa. FAILURE: 0x5ffffffe != 0xfffffffe at offset 0x0f473df2. Walking Zeroes : FAILURE: 0x40000001 != 0x00000001 at offset 0x0f473802. FAILURE: 0x50000001 != 0x00000001 at offset 0x0f47380a. FAILURE: 0x40000001 != 0x00000001 at offset 0x0f473812. (略) FAILURE: 0x20000001 != 0x00000001 at offset 0x0f473bf2. FAILURE: 0xc0000001 != 0x00000001 at offset 0x0f473bfa. *** Address Test Failed *** One or more DIMM address lines are non-functional. *** Memory Test Failed *** Please check transcript for details.
…すげえ、ぼろぼろだ。このMacBook Proは1+2の3Gなんですけど、一応抜き差ししてみる…のついでに、とりあえず1GにしてRemberを走らせてみよう。
Memtest version 4.13 (32-bit) Copyright (C) 2004 Charles Cazabon Copyright (C) 2004, 2005 Tony Scaminaci (Macintosh port) Licensed under the GNU General Public License version 2 only MacOS X (Darwin) running in multiuser mode POSIX version 200112 Pagesize is 4096 Requested memory: 740MB (776441856 bytes) Available memory: 740MB (776441856 bytes) Allocated memory: 740MB (776441856 bytes) at local address 0x02008000 Attempting memory lock... locked successfully Creating test buffers... Buffer A: 370MB (388220928 bytes) at local address 0x02008000 Buffer B: 370MB (388220928 bytes) at local address 0x19244800 Running 1 test sequence... Test sequence 1 of 1: Stuck Address : ok Random Value : ok Compare XOR : ok Compare SUB : ok Compare MUL : ok Compare DIV : ok Compare OR : ok Compare AND : ok Sequential Increment: ok Solid Bits : ok Block Sequential : ok Checkerboard : ok Bit Spread : ok Bit Flip : ok Walking Ones : ok Walking Zeroes : ok All tests passed.
ほほう。じゃあ次に、2Gにしてやってみよう。てか、石がひとつやられてるだけだと思うんだけど、運が悪ければOSがあがることすら無理かもしれず…が、なんかあがったので、以下Remberの一部整形済み結果。
Memtest version 4.13 (32-bit) Copyright (C) 2004 Charles Cazabon Copyright (C) 2004, 2005 Tony Scaminaci (Macintosh port) Licensed under the GNU General Public License version 2 only MacOS X (Darwin) running in multiuser mode POSIX version 200112 Pagesize is 4096 Requested memory: 1754MB (1839308800 bytes) Available memory: 1754MB (1839308800 bytes) Allocated memory: 1754MB (1839308800 bytes) at local address 0x02008000 Attempting memory lock... locked successfully Creating test buffers... Buffer A: 877MB (919654400 bytes) at local address 0x02008000 Buffer B: 877MB (919654400 bytes) at local address 0x38d15000 Running 1 test sequence... Test sequence 1 of 1: Stuck Address : FAILURE: possible bad address line at offset 0x1209e80a. Skipping to next test... Random Value : FAILURE: 0x3fff225d != 0x5bff225d at offset 0x0455b402. (ばっさり略) *** Address Test Failed *** One or more DIMM address lines are non-functional. *** Memory Test Failed *** Please check transcript for details.
ぼろぼろー。あと考えられるのは、Remberが2Gのメモリと仲悪い…なんてことは考えにくいでしょうが、一応3GのMBPのひとにもテストをお願いしました。待て次号!
ってわけで、現在1G状態…