From: "H.Yamamoto" Date: 2004-12-24T22:54:29+09:00 Subject: [ruby-dev:25310] Re: リリース準備 山本です。 >念のため、最新の ruby_1_8 で一通りテストしてからコミットします。 testrb は大体通ったのですが、http://jp.rubyist.net/magazine/?0004-RubyTkSemiReport のサンプルスクリプトの tktestmultiwin.rb などを実行したところ、終了時に SEGV しました。 例によって、mswin32 では SEGV しません。 原因はわかりませんが、ワトソン博士のスタックトレースと、CodeGuard のログを添付します。 # 使った tcltk は ActiveTcl8.4.9.0.121397-win32-ix86.exe です。 なお、これは RTL dll を使う・使わないにかかわらず発生します。 /////////////////////////// // ワトソン博士 アプリケーション例外が発生しました: アプリケーション: (pid=960) 発生時間: 2004/12/24 @ 22:06:37.862 例外番号: c0000005 (アクセス違反) スレッド ID 0x424 のステート ダンプ eax=00406e00 ebx=0304c588 ecx=0a3de7d0 edx=027562f0 esi=00000000 edi=0398bf2e eip=04f98300 esp=0241fb0c ebp=0241fb50 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00010206 ファンクション: 04f982f6 ??? 04f982f7 ??? 04f982f8 ??? 04f982f9 ??? 04f982fa ??? 04f982fb ??? 04f982fc ??? 04f982fd ??? 04f982fe ??? 04f982ff ??? フォールト ->04f98300 ??? 04f98301 ??? 04f98302 ??? 04f98303 ??? 04f98304 ??? 04f98305 ??? 04f98306 ??? 04f98307 ??? 04f98308 ??? 04f98309 ??? 04f9830a ??? 04f9830b ??? *----> スタック バック トレース <----* FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 ファンクション名 0241FB08 03A0B65D 027562F0 0A3DE7D0 00406E00 00000000 0241FB50 03A0FC65 027562F0 0A3DE7D0 00000000 00000000 !Tcl_FindCommand 0241FB80 03A0F9CD 027562F0 02754B18 0A3DE7D1 0241E884 !TclSetCmdNameObj 0241FBAC 039B1AB2 027562F0 02754B18 00000000 00000000 !Tcl_GetCommandFromObj 0241FBE8 039B2811 027562F0 00000002 0241FDB8 0398BF22 !TclEvalObjvInternal 0241FE0C 039B2CA8 027562F0 0398BF22 0000000B 00000000 !Tcl_EvalEx 0241FE2C 03977B93 027562F0 0398BF22 0398DF40 00000000 !Tcl_Eval 0241FE68 039780CF 027562F0 00000001 030C41B8 03081810 ! 0241FEAC 025613FC 0304C588 00000000 0040A0CC 00000000 ! 0241FED4 0253AB78 0253AB90 00534743 0241FF58 0253ACC7 !rb_gc_call_finalizer_at_exit 0241FEE4 0253ACC7 7FFDF000 0241FF58 00000006 00000000 !ruby_options 0241FF58 0253AE4C 00000006 0253AE5C 00534743 0241FF80 !ruby_cleanup 0241FF6C 0253AF07 00000006 0253AF10 00534743 0241FF90 !ruby_stop 0241FF80 00401338 00401344 00534743 0241FFB8 00406E06 !ruby_run 0241FF90 00406E06 00000002 033C21CC 033C2928 00000001 !_GetExceptDLLinfo 0241FFB8 00000000 0040A0CC 77E7893D 00000001 00000008 !_GetExceptDLLinfo *----> ロウ スタック ダンプ <----* 0241fb0c 5d b6 a0 03 f0 62 75 02 - d0 e7 3d 0a 00 6e 40 00 ]....bu...=..n@. 0241fb1c 00 00 00 00 24 fb 41 02 - 2e bf 98 03 00 00 00 00 ....$.A......... 0241fb2c 88 c5 04 03 00 00 00 00 - 00 f0 41 02 fc 0f 00 00 ..........A..... 0241fb3c f0 62 75 02 b0 ff 41 02 - 6a bd 00 78 00 6e 40 00 .bu...A.j..x.n@. 0241fb4c ff ff ff ff 80 fb 41 02 - 65 fc a0 03 f0 62 75 02 ......A.e....bu. 0241fb5c d0 e7 3d 0a 00 00 00 00 - 00 00 00 00 5d f2 9a 03 ..=.........]... 0241fb6c d0 e7 3d 0a 80 fb 41 02 - f0 62 75 02 1f ab a2 03 ..=...A..bu..... 0241fb7c f0 62 75 02 ac fb 41 02 - cd f9 a0 03 f0 62 75 02 .bu...A......bu. 0241fb8c 18 4b 75 02 d1 e7 3d 0a - 84 e8 41 02 7e c6 a3 03 .Ku...=...A.~... 0241fb9c 88 e0 a3 03 ff ff ff ff - f0 62 75 02 ff 19 9b 03 .........bu..... 0241fbac e8 fb 41 02 b2 1a 9b 03 - f0 62 75 02 18 4b 75 02 ..A......bu..Ku. 0241fbbc 00 00 00 00 00 00 00 00 - 24 fc 41 02 00 00 00 00 ........$.A..... 0241fbcc 00 00 00 00 2d bf 98 03 - 7c fc 41 02 02 00 00 00 ....-...|.A..... 0241fbdc 01 00 00 00 f0 62 75 02 - 84 e8 41 02 0c fe 41 02 .....bu...A...A. 0241fbec 11 28 9b 03 f0 62 75 02 - 02 00 00 00 b8 fd 41 02 .(...bu.......A. 0241fbfc 22 bf 98 03 0b 00 00 00 - 00 00 00 00 40 df 98 03 "...........@... 0241fc0c 00 00 00 00 52 da 5e 02 - 01 00 00 00 00 00 00 00 ....R.^......... 0241fc1c 02 00 00 00 9c fc 41 02 - 00 00 00 00 00 00 00 00 ......A......... 0241fc2c 22 bf 98 03 0b 00 00 00 - 02 00 00 00 5c fc 41 02 "...........\.A. 0241fc3c 04 00 00 00 14 00 00 00 - 00 00 00 00 22 bf 98 03 ............"... スレッド ID 0x250 のステート ダンプ eax=03a2cc6d ebx=00000002 ecx=024221d0 edx=00000000 esi=77f82873 edi=00000002 eip=77f8287e esp=0638ff1c ebp=0638ff68 iopl=0 nv up ei pl zr na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246 ファンクション: NtWaitForMultipleObjects 77f82873 b8e9000000 mov eax,0xe9 77f82878 8d542404 lea edx,[esp+0x4] ss:06fe9e03=???????? 77f8287c cd2e int 2e 77f8287e c21400 ret 0x14 *----> スタック バック トレース <----* FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 ファンクション名 0638FF68 77E7A0C2 0638FF40 00000001 00000000 00000000 ntdll!NtWaitForMultipleObjects 0638FFB4 77E5B388 03EB0970 77F87A99 77F87A01 03EB0970 kernel32!WaitForMultipleObjects 0638FFEC 00000000 00000000 00000000 00000000 00000000 kernel32!lstrcmpiW スレッド ID 0x2a8 のステート ダンプ eax=03a2cd2a ebx=00000002 ecx=024221d0 edx=00000000 esi=77f82873 edi=00000002 eip=77f8287e esp=0838ff18 ebp=0838ff64 iopl=0 nv up ei pl zr na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246 ファンクション: NtWaitForMultipleObjects 77f82873 b8e9000000 mov eax,0xe9 77f82878 8d542404 lea edx,[esp+0x4] ss:08fe9dff=???????? 77f8287c cd2e int 2e 77f8287e c21400 ret 0x14 *----> スタック バック トレース <----* FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 ファンクション名 0838FF64 77E7A0C2 0838FF3C 00000001 00000000 00000000 ntdll!NtWaitForMultipleObjects 0838FFB4 77E5B388 03EB29D8 77F87A99 77F87A01 03EB29D8 kernel32!WaitForMultipleObjects 0838FFEC 00000000 00000000 00000000 00000000 00000000 kernel32!lstrcmpiW スレッド ID 0x350 のステート ダンプ eax=03a2cd2a ebx=00000002 ecx=024221d0 edx=00000000 esi=77f82873 edi=00000002 eip=77f8287e esp=0a38ff18 ebp=0a38ff64 iopl=0 nv up ei pl zr na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246 ファンクション: NtWaitForMultipleObjects 77f82873 b8e9000000 mov eax,0xe9 77f82878 8d542404 lea edx,[esp+0x4] ss:0afe9dff=???????? 77f8287c cd2e int 2e 77f8287e c21400 ret 0x14 *----> スタック バック トレース <----* FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 ファンクション名 0A38FF64 77E7A0C2 0A38FF3C 00000001 00000000 00000000 ntdll!NtWaitForMultipleObjects 0A38FFB4 77E5B388 03EB5A58 77F87A99 77F87A01 03EB5A58 kernel32!WaitForMultipleObjects 0A38FFEC 00000000 03A2CD2A 03EB5A58 00000000 00905A4D kernel32!lstrcmpiW *----> ロウ スタック ダンプ <----* 0a38ff18 af a1 e7 77 02 00 00 00 - 3c ff 38 0a 01 00 00 00 ...w....<.8..... 0a38ff28 00 00 00 00 00 00 00 00 - 99 7a f8 77 01 7a f8 77 .........z.w.z.w 0a38ff38 58 5a eb 03 20 03 00 00 - 24 03 00 00 ff b2 42 80 XZ.. ...$.....B. 0a38ff48 e0 37 4e 81 40 39 4e 81 - 10 2f 00 80 74 16 44 80 .7N.@9N../..t.D. 0a38ff58 70 ec 68 bd ea c9 f4 77 - 00 10 50 c0 b4 ff 38 0a p.h....w..P...8. 0a38ff68 c2 a0 e7 77 3c ff 38 0a - 01 00 00 00 00 00 00 00 ...w<.8......... 0a38ff78 00 00 00 00 00 00 00 00 - 60 cd a2 03 02 00 00 00 ........`....... 0a38ff88 94 ff 38 0a 00 00 00 00 - ff ff ff ff 20 03 00 00 ..8......... ... 0a38ff98 24 03 00 00 ff ff ff ff - 00 00 00 00 0b 00 00 00 $............... 0a38ffa8 00 00 00 00 00 00 00 00 - 58 5a eb 03 ec ff 38 0a ........XZ....8. 0a38ffb8 88 b3 e5 77 58 5a eb 03 - 99 7a f8 77 01 7a f8 77 ...wXZ...z.w.z.w 0a38ffc8 58 5a eb 03 00 b0 fd 7f - d0 21 42 02 c0 ff 38 0a XZ.......!B...8. 0a38ffd8 d0 21 42 02 ff ff ff ff - 44 1f ea 77 08 2b e5 77 .!B.....D..w.+.w 0a38ffe8 00 00 00 00 00 00 00 00 - 00 00 00 00 2a cd a2 03 ............*... 0a38fff8 58 5a eb 03 00 00 00 00 - 4d 5a 90 00 03 00 00 00 XZ......MZ...... 0a390008 04 00 00 00 ff ff 00 00 - b8 00 00 00 00 00 00 00 ................ 0a390018 40 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 @............... 0a390028 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................ 0a390038 00 00 00 00 c0 00 00 00 - 0e 1f ba 0e 00 b4 09 cd ................ 0a390048 21 b8 01 4c cd 21 54 68 - 69 73 20 70 72 6f 67 72 !..L.!This progr スレッド ID 0x3f4 のステート ダンプ eax=03a3a94c ebx=0c59ff8c ecx=0cd2f30c edx=00000000 esi=77f82865 edi=00000318 eip=77f82870 esp=0c59ff70 ebp=0c59ff94 iopl=0 nv up ei ng nz ac po cy cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000297 ファンクション: NtWaitForSingleObject 77f82865 b8ea000000 mov eax,0xea 77f8286a 8d542404 lea edx,[esp+0x4] ss:0d1f9e57=???????? 77f8286e cd2e int 2e 77f82870 c20c00 ret 0xc *----> スタック バック トレース <----* FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 ファンクション名 0C59FF94 03A3A9D4 00000318 000003E8 00000000 00000102 ntdll!NtWaitForSingleObject 0C59FFB4 77E5B388 00000000 0241EB34 0241EBD0 00000000 !TclpGetDate 0C59FFEC 00000000 00000000 00000000 00000000 00000000 kernel32!lstrcmpiW /////////////////////////// // CodeGuard Error 85741. 0x400000 (スレッド 0x0424): Exception 0xC0000005: Access violation at 0x4F98300. 呼び出し履歴: 0x04F98300 0x03A0FC65(=TCL84.DLL:0x01:06EC65) 0x03A0F9CD(=TCL84.DLL:0x01:06E9CD) 0x039B1AB2(=TCL84.DLL:0x01:010AB2) 0x039B2811(=TCL84.DLL:0x01:011811) 0x039B2CA8(=TCL84.DLL:0x01:011CA8)