e$B1sF#$H?=$7$^$9!#e(B
1.9 e$B$Ge(B ensure e$B$NCf$Ge(B illigal e$B$G$J$$e(B next e$B$de(B redo
e$B$r$9$k$HMn$A$^$9!#e(B
$ ./ruby -ve ‘1.times { begin ensure next end }’
ruby 1.9.0 (2007-08-10 patchlevel 0) [i686-linux]
-e:1: – control frame ----------
c:0006 p:0003 s:0012 b:0011 l:000004 d:000010 BLOCK -e:1
c:0005 p:---- s:0010 b:0010 l:000009 d:000009 FINISH
c:0004 p:---- s:0008 b:0008 l:000007 d:000007 CFUNC :times
c:0003 p:0008 s:0005 b:0005 l:000004 d:000004 TOP -e:1
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
DBG> : “-e:1:in times'" DBG> : "-e:1:in
'”
– backtrace of native function call (Use addr2line) –
0x80dac55
0x80f4093
0x80f415b
0x80d8c95
0x80d9554
0x80d26f5
0x805977e
0x80710af
0x80d3269
0x80d5de5
0x80d9554
0x80d988b
0x8059229
0x805d79d
0x8056df2
0xb7e27ea8
0x8056d21
[BUG] Stack consistency error (sp: 12, bp: 11)
ruby 1.9.0 (2007-08-10) [i686-linux]
e$B%"%!<%H$7$^$7$?e(B (core dumped)
$ ./ruby -ve ‘1.times { begin ensure redo end }’
ruby 1.9.0 (2007-08-10 patchlevel 0) [i686-linux]
-e:1: – control frame ----------
c:0006 p:0001 s:302822400 b:0011 l:000004 d:000010 BLOCK -e:1
c:0005 p:---- s:0010 b:0010 l:000009 d:000009 FINISH
c:0004 p:---- s:0008 b:0008 l:000007 d:000007 CFUNC :times
c:0003 p:0008 s:0005 b:0005 l:000004 d:000004 TOP -e:1
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
SEGV recieved in SEGV handler
next e$B$N>l9g$N%P%$%H%3!<%I$r8+$?$H$3$m0J2<$N$h$&$K$J$C$F$$$^$7$?e(B
(e$BCm<a$O;d$N2r<ae(B) e$B!#e(B
0000 putnil – begin [email protected]$N7k2Le(B
0001 putnil – next e$B$N0z?te(B
0002 jump 4 – next e$B$N%8%c%s%We(B
0004 leave
e$B$D$^$j!"e(Bensure [email protected]$Ne(B next e$B$,!"e(Bbegin
[email protected]$N7k2L$,%9%?%C%/$K5M$^$l$Fe(B
e$B$$$k$3$H$rL5;k$7$F%8%c%s%W$9$k$?$a!"e(BStack consistency error
e$B$K$J$ke(B
[email protected]$H;W$$$^$9!#e(B
ensure [email protected]$Ne(B next e$B$de(B redo e$B$Ge(B poped
e$B$,??$N;~$O!"e(Bnext e$B$de(B redo e$B$NA0$Ke(B
pop e$BL?Na$rA^F~$9$l$PD>$k$+$b$7$l$^$;$se(B (compile_data e$B$Ke(B
ensure [email protected](B
e$B$+$I$&$+H=CG$G$-$k%U%i%0$J$I$,$_$D$+$i$J$+$C$?$N$G;n$7$F$^$;$se(B)
e$B!#e(B
redo e$B$NJ}$O$A$c$s$HDI$C$F$$$J$$$N$GJL$N860x$+$b$7$l$^$;$s!#e(B
e$B$H$j$"$($:%P%$%H%3!<%I$O0J2<$N$h$&$K$J$C$F$$$^$7$?!#e(B
0000 putnil
0001 jump 0
0003 leave
e$B<XB-$G$9$,!"e(BVM::InstructionSequence
e$B$,$d$C$Q$jD9$9$.$FIT9,$G$9!#e(B