From: Akinori MUSHA Date: 2002-11-03T22:46:29+09:00 Subject: [ruby-dev:18631] Re: racc segv revisited At Sun, 3 Nov 2002 13:01:21 +0900, HIDAKA Takahiro wrote: > > At Wed, 2 Oct 2002 23:19:59 +0900, > > I wrote: > > > #1 0x120079bf8 in ruby_re_match (bufp=0x11fdc1a8, > > > string_arg=0x1 , size=301841768, pos=537876416, > > > regs=0x0) at ../regex.c:3564 > > > #2 0x120079898 in ruby_re_search (bufp=0x1204a8100, > > > string=0x120380000 '-' ..., size=10240, startpos=0, range=10240, > > > regs=0x1202032f0) at ../regex.c:3260 > > > #3 0x12006b984 in rb_reg_search (re=4833958560, str=4833948400, pos=0, reverse=0) at ../re.c:603 > > > #4 0x120087ba8 in rb_str_index_m (argc=537876416, argv=0x1, str=4833948400) at ../string.c:684 > > > #5 0x1200184d4 in call_cfunc (func=0x1200879a0 , recv=4833948400, len=0, > > > argc=10240, argv=0x4f94f5ea6c1e9b28) at ../eval.c:4274 > >  #4, #5 のあたりの argc/argv がすでに壊れているように見えることは > 問題にならないのでしょうか。あおきさんのトレースでも #4 の時点では > おかしいようですし。  はい、まずはそこから調査を始めたわけです。(引用元のメール [ruby-dev:18440] の最後で触れた通り)  しかし、最終的に core を吐いたこの時点での stack や static 領域の内容はすでにおかしく、破壊が起こった事後を調べても意味が ないので、具体的に regs.allocated が破壊されている場所を遡って 追跡しているというのが今回の報告でした。  watch や mem を仕掛けて辛抱強く待つしかないかな。自分のマシン なら気兼ねなく CPU 食ってぶん回せるのだけど。 ;) -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "When I leave I don't know what I'm hoping to find When I leave I don't know what I'm leaving behind.."