e$B1sF#$H?=$7$^$9e(B
1.9 e$B$,0J2<$GMn$A$^$9!#e(B
$ ./miniruby -e ’
counter = 2
while true
counter -= 1
break if counter == 0
“#{next}”
end
’
-e:5: – control frame ----------
c:0003 p:0021 s:0005 b:0006 l:000005 d:000005 TOP -e:5
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
– backtrace of native function call (Use addr2line) –
0x811a795
0x8070a93
0x8070b5b
0x81179f6
0x81181d4
0x811850b
0x8073db9
0x8077ca0
0x8058a91
0xb7d53ea8
0x80589a1
[BUG] Stack consistency error (sp: 5, bp: 6)
ruby 1.9.0 (2007-12-25) [i686-linux]
e$B%"%!<%H$7$^$7$?e(B
e$BB?J,0J2<$GD>$j$^$9!#e(B
Index: compile.c
— compile.c (revision 14628)
+++ compile.c (working copy)
@@ -2973,7 +2973,7 @@
if (iseq->compile_data->redo_label != 0) {
/* next in while loop */
debugs(“next in while\n”);
-
pop_after_throw = 1;
-
}pop_after_throw = poped; goto next_by_throw;
else if (iseq->compile_data->end_label) {