#227: Using a block's binding causes segfault ------------------------------------+--------------------------------------- Reporter: charles.nut...@… | Owner: lsansone...@… Type: defect | Status: new Priority: blocker | Milestone: MacRuby 0.4 Component: MacRuby | Keywords: ------------------------------------+--------------------------------------- Under all version of Ruby, you can use the binding associated with a block for further evals. This appears to segfault MacRuby 0.4:
{{{ ~/projects/jruby ➔ macruby -e "def foo(&b); eval 'a = 2', b.binding; end; a = 1; foo {}; puts a" -e:1: [BUG] Bus Error MacRuby version 0.4 (ruby 1.9.1) [universal-darwin9.5, i386] -- stack frame ------------ 0000 (0x30030): 00000004 0001 (0x30034): 00000000 0002 (0x30038): 00000004 0003 (0x3003c): 00000000 0004 (0x30040): 00000003 0005 (0x30044): 00000004 0006 (0x30048): 01018a80 0007 (0x3004c): 00000004 0008 (0x30050): 010183a0 0009 (0x30054): 00000004 0010 (0x30058): 01018370 0011 (0x3005c): 00000004 0012 (0x30060): 01048730 0013 (0x30064): 010183a0 0014 (0x30068): 00000004 0015 (0x3006c): 00000000 <- lfp <- dfp -- control frame ---------- c:0005 p:---- s:0016 b:0016 l:000015 d:000015 CFUNC :binding c:0004 p:0011 s:0013 b:0011 l:000010 d:000010 METHOD -e:1 c:0003 p:0016 s:0007 b:0007 l:000fe8 d:000fe8 TOP -e:1 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH :inherited: c:0001 p:0000 s:0002 b:0002 l:000001 d:000001 TOP --------------------------- DBG> : "-e:1:in `binding'" DBG> : "-e:1:in `foo'" DBG> : "-e:1:in `<main>'" -- backtrace of native function call (Use addr2line) -- 0x2f1f66 0x2069dc 0x206a1b 0x2a27db 0x9715f2bb 0xffffffff 0x2ed63f 0x2ddbaf 0x2e822b 0x2e84be 0x209ec9 0x20d050 0x1e8f 0x1df6 ------------------------------------------------------- Abort trap }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/227> MacRuby <http://macruby.org/> _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel