yarv-dev:862
From: SASADA Koichi <ko1 atdot.net>
Date: Mon, 13 Feb 2006 23:15:13 +0900
Subject: [yarv-dev:862] Re: open> Thread.pass sometimes dumps core
ささだです。 sheepman wrote: > はい、5回に1回くらいの頻度で起きます。 うーむ。スレッド作成時の同期の取り方がやばいのか。たとえば、Thread.new {sleep 1} だと、やっぱりエラーが起きますか? 起きなかったら、作成時の同 期ミス。 > #0 rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #1 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #2 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #3 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #4 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #5 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #6 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #7 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #8 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #9 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #10 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #11 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #12 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #13 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #14 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #15 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #16 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #17 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #18 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #19 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #20 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #21 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #22 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #23 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #24 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #25 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #26 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #27 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #28 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #29 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #30 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > ... > #3606 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #3607 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #3608 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #3609 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #3610 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #3611 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #3612 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #3613 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #3614 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #3615 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #3616 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #3617 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #3618 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #3619 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #3620 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #3621 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #3622 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #3623 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #3624 0x080c9c03 in rb_bug (fmt=0x80f3691 "Segmentation fault") at ../yarv/error.c:158 > #3625 0x080a0273 in sigsegv (sig=11) at ../yarv/signal.c:461 > #3626 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0 > #3627 0x400ec908 in killpg () from /lib/i686/libc.so.6 > #3628 0x40029bf8 in pthread_getconcurrency () from /lib/i686/libpthread.so.0 > #3629 0x40029e84 in pthread_getconcurrency () from /lib/i686/libpthread.so.0 > #3630 0x400ef0b0 in exit () from /lib/i686/libc.so.6 > #3631 0x08058812 in ruby_stop () at ../yarv/eval.c:280 > #3632 0x08058854 in rb_eval_string (str=0x3 <Address 0x3 out of bounds>) at ../yarv/eval.c:294 > #3633 0x08055f98 in th_get_ruby_level_cfp (th=0x1, cfp=0x0) at ../yarv/main.c:43 > #3634 0x400d9c1f in __libc_start_main () from /lib/i686/libc.so.6 > なんかよくわかんないけど、sigsegv が何度も呼ばれてるのかしらん。 pthread_clock_settime って何だー。とりあえず、segv ハンドラが2度以上呼ば れたらエラーにするようにしました。 -- // SASADA Koichi at atdot dot net -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
759 2005-12-30 21:04 [sheepman sheepman.sa] open> Thread.pass sometimes dumps core 762 2005-12-31 03:26 ┗[ko1 atdot.net ] 763 2005-12-31 09:50 ┗[sheepman sheepman.sa] 856 2006-02-13 20:57 ┗[ko1 atdot.net ] 858 2006-02-13 21:36 ┗[sheepman sheepman.sa] -> 862 2006-02-13 23:15 ┗[ko1 atdot.net ] 864 2006-02-14 00:08 ┗[sheepman sheepman.sa] 943 2006-02-20 23:19 ┗[sheepman sheepman.sa] 944 2006-02-20 23:41 ┗[ko1 atdot.net ] 945 2006-02-20 23:56 ┗[sheepman sheepman.sa] 946 2006-02-21 19:33 ┗[ko1 atdot.net ]