SEGV 2008-05-27 revision 16652

e$BEOJUE/Li$G$9!#e(B

ruby 1.9.0 (2008-05-27 revision 16652) [i686-linux]

e$B$G$9!#e(B

SEGV e$B$Ge(B core e$B$7$^$9!#e(B

e$B%9%/%j%W%H$K$D$$$F$O!"JQ?te(B l
e$B$KBeF~$7$J$$$H5/$-$J$+$C$?$j!"e(BNKF.nkf e$B$Ne(B
e$BLa$jCM$rJQ?t$KF~$l$J$$>l9g$K$b5/$-$J$+$C$?$j$7$F$$$^$9!#e(B

e$BF~NO%G!<%?$Ne(B j.txt e$B$O!"0l9T$Ne(B ASCII e$BJ8;z$G5/$-$^$7$?!#e(B


$ ruby j.rb j.txt
j.rb:8: [BUG] Segmentation fault
ruby 1.9.0 (2008-05-27 revision 16652) [i686-linux]

– stack frame ------------
0000 (0x40212008): 00000004
0001 (0x4021200c): 00000001
0002 (0x40212010): 00000004
0003 (0x40212014): 00000001
0004 (0x40212018): 081611bc
0005 (0x4021201c): 081611a8
0006 (0x40212020): 00000001 <- lfp <- dfp
0007 (0x40212024): 08161180 <- bp
0008 (0x40212028): 08162508
0009 (0x4021202c): 081dbde0
– control frame ----------
c:0003 p:0046 s:0010 b:0007 l:000006 d:000006 TOP j.rb:8
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
:private_class_method
c:0001 p:0000 s:0002 b:0002 l:000001 d:000001 TOP :16

DBG> : “j.rb:8:in `’”
– backtrace of native function call (Use addr2line) –
0x80dd151
0x80fca01
0x80fca35
0x80b0672
0x4002d02d
0x400ff900
0x80d2670
0x80d26a8
0x80d279a
0x80d7a67
0x80d990a
0x80d9da7
0x8059dee
0x8059e6b
0x8058b77
0x400ecc1f
0x8058a99

zsh: 26690 abort (core dumped) ruby j.rb j.txt


$ cat j.rb
#! /usr/local/bin/ruby

-- mode:ruby; coding:euc-jp --

/tmp/j.rb

require ‘nkf’

l = gets
l = NKF.nkf(’-e’, l).sub(/a/, ‘’)


$ gdb =ruby core.26690
(gdb) bt
#0 0x400ffc11 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 0x400ff8a4 in raise () from /lib/i686/libc.so.6
#4 0x40101008 in abort () from /lib/i686/libc.so.6
#5 0x080fca3a in rb_compile_bug (file=0x8128ae6 “Segmentation fault”,
line=82080, fmt=0x4002fb84 “\204\352”) at error.c:226
#6 0x080b0672 in sigpipe (sig=11) at signal.c:551
#7 0x4002d02d in __pthread_clock_settime () from
/lib/i686/libpthread.so.0
#8 0x400ff900 in killpg () from /lib/i686/libc.so.6
#9 0x080d2670 in search_method (klass=1073937284, id=1073946176,
klassp=0x0) at vm_method.c:230
#10 0x080d26a8 in rb_get_method_body (klass=135663960, id=2104, idp=0x0)
at vm_method.c:254
#11 0x080d279a in rb_method_node (klass=135663960, id=6) at
vm_method.c:298
#12 0x080d7a67 in vm_eval (th=0x8160af0, initial=0) at
vm_insnhelper.c:1116
#13 0x080d990a in vm_eval_body (th=0x8160af0) at vm.c:1022
#14 0x080d9da7 in rb_iseq_eval (iseqval=135668740) at vm.c:1226
#15 0x08059dee in ruby_exec_node (n=0x8162404, file=0x0) at eval.c:221
#16 0x08059e6b in ruby_run_node (n=0x8162404) at eval.c:249
#17 0x08058b77 in main (argc=3, argv=0xbffffaf4, envp=0xbffffb04) at
main.c:35
#18 0x400ecc1f in __libc_start_main () from /lib/i686/libc.so.6