[前][次][番号順一覧][スレッド一覧][生データ]

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       ]