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

yarv-dev:806

From: Minero Aoki <aamine loveruby.net>
Date: Sat, 04 Feb 2006 16:06:37 +0900 (JST)
Subject: [yarv-dev:806] open> SEGV on SIGINT

青木です。

EXIT するシグナルハンドラを起動すると落ちます。

~/c/yarv % ./ruby -e 'Signal.trap(:INT, "EXIT"); sleep'
^C
-e:1: -- stack frame ------------
0x2a95ee2010 (0000): 00000001
0x2a95ee2018 (0001): 00000004
0x2a95ee2020 (0002): 2a95eb00f8
-- control frame ----------
c:0003 p:0025 s:0003 b:0003 l:-869 d:-869 TOP    i:<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 (2005-11-18) [x86_64-linux]

zsh: 29094 abort (core dumped)  ./ruby -e 'Signal.trap(:INT, "EXIT"); sleep'

バックトレースです。

(gdb) bt
#0  0x0000002a95b6fdd0 in raise () from /lib/libc.so.6
#1  0x0000002a95b71280 in abort () from /lib/libc.so.6
#2  0x000000000048e85d in rb_bug (fmt=0x4bd4f9 "Segmentation fault")
    at error.c:173
#3  0x00000000004628e4 in sigsegv (sig=11) at signal.c:457
#4  <signal handler called>
#5  rb_thread_ready (th=0x0) at eval_thread.c:598
#6  0x000000000041c726 in rb_thread_signal_exit () at eval_thread.c:1851
#7  0x00000000004629e4 in rb_signal_exec (th=0x667010, sig=2) at signal.c:512
#8  0x000000000047fad5 in yarv_thread_execute_interrupts (th=0x667010)
    at thread.c:376
#9  0x0000000000479fcf in th_eval (th=0x667010, initial=2) at vm.inc:3590
#10 0x000000000047c106 in th_eval_body (th=0x667010) at vm.c:1274
#11 0x00000000004145f9 in ruby_exec_internal () at eval.c:269
#12 0x0000000000414623 in ruby_exec () at eval.c:281
#13 0x000000000041465d in ruby_run () at eval.c:298
#14 0x00000000004116e9 in main (argc=3, argv=0x7fbffff5e8, envp=0x1)
    at main.c:36

curr_thread が初期値 0 のままで一度も設定されていないのが原因だと思います。

--
青木峰郎

-- 
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

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

->     806 2006-02-04 16:06 [aamine loveruby.net ] open> SEGV on SIGINT                    
       852 2006-02-13 20:05 ┗[ko1 atdot.net       ] fixed> Re: open> SEGV on SIGINT