yarv-dev:919
From: sheepman <sheepman sheepman.sakura.ne.jp>
Date: Fri, 17 Feb 2006 23:23:32 +0900
Subject: [yarv-dev:919] Re: open> Thread#kill and wakeup dump core
こんばんは、sheepman です。 On Fri, 17 Feb 2006 22:34:37 +0900 sheepman <sheepman sheepman.sakura.ne.jp> wrote: > こんばんは、sheepman です。 > 手元の環境以外で再現するか分からないのですが、 > 以下のようにすると core を吐きます。 > コードを短くしてみました。 wakeup は関係ないようです。 $ cat t.rb th = Thread.new do begin sleep 0.5 ensure Thread.pass end end Thread.pass th.kill Thread.stop $ ./miniruby -v t.rb ruby 1.9.0 (2006-02-14) [i686-linux] YARVCore 0.3.3 (rev: 435) [opts: ] t.rb: DBG> : "t.rb:5:in `block in <main>'" -- stack frame ------------ 0x401ff008 (0000): 00000001 0x401ff00c (0001): 081420c1 0x401ff010 (0002): 402af204 0x401ff014 (0003): 00000004 0x401ff018 (0004): 401ff00d (= 1) <- dfp -- control frame ---------- c:0004 p:0019 s:0005 b:0005 l:-514 d:0004 BLOCK i:ensure in block in <main> s: - c:0003 p:0023 s:0003 b:0002 l:-514 d:0001 PROC i:block in <main> s: - c:0002 p:-001 s:0001 b:0001 l:0000 d:0000 FINISH i:- s: - c:0001 p:-001 s:0000 b:-001 l:0000 d:0000 ------ i:- s: - --------------------------- [BUG] Segmentation fault ruby 1.9.0 (2006-02-14) [i686-linux] zsh: abort (core dumped) ./miniruby -v t.rb 以下はバックトレースです。 (gdb) bt #0 0x400ecc11 in kill () from /lib/i686/libc.so.6 #1 0x4002a341 in pthread_kill () from /lib/i686/libpthread.so.0 #2 0x4002a6bb in raise () from /lib/i686/libpthread.so.0 #3 0x400ec8a4 in raise () from /lib/i686/libc.so.6 #4 0x400ee008 in abort () from /lib/i686/libc.so.6 #5 0x080c9c7e in rb_bug (fmt=0x80f3471 "Segmentation fault") at ../yarv/error.c:171 #6 0x0809fd43 in sigsegv () at ../yarv/signal.c:467 #7 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 #8 0x400ec908 in killpg () from /lib/i686/libc.so.6 #9 0x080bb2d8 in rb_thread_stop () at ../yarv/thread.c:805 #10 0x080b77ef in call_cfunc (func=0xbfffe34c, recv=3221218336, len=1073937284, argc=1073937284, argv=0x6) at call_cfunc.h:21 #11 0x080b5a6d in th_eval (th=0x813d6c0, initial=0) at insns.def:1246 #12 0x080b7468 in th_eval_body (th=0x813d6c0) at ../yarv/vm.c:1461 #13 0x080b8a70 in yarvcore_eval_iseq (iseq=1076459692) at yarv.h:49 #14 0x080588b4 in ruby_exec_internal () at ../yarv/eval.c:261 #15 0x080588e8 in ruby_exec () at ../yarv/eval.c:275 #16 0x08058923 in ruby_run () at ../yarv/eval.c:293 #17 0x080560f0 in th_get_ruby_level_cfp (th=0x809fcdc, cfp=0x6) at ../yarv/main.c:46 #18 0x400d9c1f in __libc_start_main () from /lib/i686/libc.so.6 -- sheepman / TAMURA Takashi sheepman sheepman.sakura.ne.jp http://sheepman.parfait.ne.jp/ -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
918 2006-02-17 22:34 [sheepman sheepman.sa] open> Thread#kill and wakeup dump core -> 919 2006-02-17 23:23 ┗[sheepman sheepman.sa] 924 2006-02-18 03:05 ┗[ko1 atdot.net ] fixed> Re: open> Thread#kill and wakeup dump core 958 2006-02-21 23:54 ┗[sheepman sheepman.sa] close> Thread#kill and wakeup dump core