[#23332] to_str再考 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2004/04/05

[#23380] [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

17 messages 2004/04/15
[#23400] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。落ちる場所がわかりました。

[#23402] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[#23403] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — nobu.nakada@... 2004/04/16

なかだです。

[#23405] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[#23407] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[ruby-dev:23412] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2004-04-20 04:41:55 UTC
List: ruby-dev #23412
山本です。原因を絞り込めました。

lib/drb/extservm.rb (87) の Process.detach があると SEGV するようです。
Process.spawn だけとか、system だと SEGV しませんでした。

なお、下のコードでも再現します。(環境:Win2000 bcc5.5.1)

E:\usr\bin>ruby -ve "Process.detach(Process.spawn('ruby --help'))"
ruby 1.9.0 (2004-04-19) [i386-bccwin32]

# Usage を表示した後、SEGV


アプリケーション例外が発生しました:
        アプリケーション:  (pid=992)
        発生時間:  2004/04/20 @ 13:39:28.499
        例外番号:  c0000005 (アクセス違反)


*----> タスク リスト <----*
   0 Idle.exe
   8 System.exe
 136 smss.exe
 164 csrss.exe
 184 winlogon.exe
 212 services.exe
 224 lsass.exe
 404 svchost.exe
 428 spoolsv.exe
 460 svchost.exe
 508 WinMgmt.exe
 696 Explorer.exe
 740 imejpmgr.exe
 772 vsc32cnf.exe
 780 vscvol.exe
 800 internat.exe
 844 conime.exe
 644 nPOP.exe
 528 firefox.exe
 664 cmd.exe
 628 wincvs.exe
 516 HIDEMARU.exe
 868 hidemaru.exe
 828 cmd.exe
 560 Hidemaru.exe
 884 drwtsn32.exe
 992 ruby.exe
 640 drwtsn32.exe
   0 _Total.exe

(00400000 - 00412000) 
(77F80000 - 77FFD000) 
(02520000 - 025EA000) 
(79480000 - 794E2000) 
(77E50000 - 77F37000) 
(78780000 - 787F1000) 
(74FB0000 - 74FBA000) 
(74F90000 - 74FA4000) 
(78000000 - 78045000) 
(74F80000 - 74F88000) 
(77DE0000 - 77E45000) 
(77F40000 - 77F7E000) 
(75DF0000 - 75E0A000) 

スレッド ID 0x2b0 のステート ダンプ

eax=000001f9 ebx=02babb04 ecx=0241fb04 edx=00000000 esi=00000000 edi=02b99b64
eip=02531a7d esp=0241fb04 ebp=0241ff04 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00010206


ファンクション: rb_alias
        02531a57 8bc7             mov     eax,edi
        02531a59 c1e002           shl     eax,0x2
        02531a5c 50               push    eax
        02531a5d e828b90500       call    Init_ext+0xa6 (0258d38a)
        02531a62 59               pop     ecx
        02531a63 898574ffffff     mov     [ebp+0xffffff74],eax   ss:0241fe78=0241fb04
        02531a69 33d2             xor     edx,edx
        02531a6b 899560ffffff     mov     [ebp+0xffffff60],edx   ss:0241fe64=00000001
        02531a71 3bbd60ffffff     cmp     edi,[ebp+0xffffff60]   ss:0241fe64=00000001
        02531a77 0f8ea7000000     jle     rb_alias+0x24f9 (02531b24)
フォールト ->02531a7d ff7608           push    dword ptr [esi+0x8]    ds:00c59ee6=????????
        02531a80 53               push    ebx
        02531a81 e8e4e8ffff       call    rb_alias+0xd3f (0253036a)
        02531a86 83c408           add     esp,0x8
        02531a89 8b8d74ffffff     mov     ecx,[ebp+0xffffff74]   ss:0241fe78=0241fb04
        02531a8f 8b9560ffffff     mov     edx,[ebp+0xffffff60]   ss:0241fe64=00000001
        02531a95 890491           mov     [ecx+edx*4],eax        ds:00000000=????????
        02531a98 8b7610           mov     esi,[esi+0x10]         ds:00c59ee6=????????
        02531a9b ff8560ffffff     inc dword ptr [ebp+0xffffff60] ss:0241fe64=00000001
        02531aa1 3bbd60ffffff     cmp     edi,[ebp+0xffffff60]   ss:0241fe64=00000001
        02531aa7 7fd4             jg      rb_file_s_expand_path+0x1ea (0254067d)
        02531aa9 eb79             jmp     rb_iterate+0x8e (02534e24)

*----> スタック バック トレース <----*

FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4 ファンクション名
0241FF04 0252E48B 02BABB04 02B99B7C 004090B8 00000000 !rb_alias 
0241FF1C 0252E919 02BABB04 02B99B7C 7FFDF000 0241FF7C !ruby_init 
0241FF7C 0252E963 0241FF8C 0040117B 0241FFB8 00406912 !ruby_exec 
0241FF84 0040117B 0241FFB8 00406912 00000003 02B72824 !ruby_run 
0241FF8C 00406912 00000003 02B72824 02F726A4 00000000 !_GetExceptDLLinfo 
0241FFB8 00000000 004090B8 77E61AF6 00000000 00000000 !_GetExceptDLLinfo 

*----> ロウ スタック ダンプ <----*
0241fb04  f9 01 00 00 00 00 00 00 - 04 bb ba 02 7c 9b b9 02  ............|...
0241fb14  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fb24  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fb34  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fb44  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fb54  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fb64  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fb74  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fb84  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fb94  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fba4  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fbb4  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0241fbc4  00 00 00 00 fc fb 41 02 - 03 00 00 00 8c 2a f8 77  ......A......*.w
0241fbd4  00 00 42 02 18 07 42 02 - 03 00 00 00 20 99 42 02  ..B...B..... .B.
0241fbe4  d4 fb 41 02 00 02 00 00 - c4 fd 41 02 55 1f f8 77  ..A.......A.U..w
0241fbf4  d0 2a f8 77 ff ff ff ff - d4 fd 41 02 d0 c1 fc 77  .*.w......A....w
0241fc04  18 07 42 02 20 fe 41 02 - 28 fe 41 02 00 00 00 00  ..B. .A.(.A.....
0241fc14  00 00 00 00 00 00 42 02 - 30 99 42 02 81 00 00 00  ......B.0.B.....


In This Thread