[MacRuby-devel] [MacRuby] #253: Fibers are unsupported
MacRuby
ruby-noreply at macosforge.org
Thu May 14 12:20:18 PDT 2009
#253: Fibers are unsupported
--------------------------------+-------------------------------------------
Reporter: jvoorhis@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: major | Milestone:
Component: MacRuby | Keywords: fiber segfault
--------------------------------+-------------------------------------------
Comment(by jvoorhis@…):
Apologies for the junk formatting. Let's try this again.
{{{
~ % macruby -v
MacRuby version 0.4 (ruby 1.9.1) [universal-darwin9.5, x86_64]
~ % macirb
>> Fiber.new{puts"hey"}.resume
hey
(irb):1: [BUG] Segmentation fault
MacRuby version 0.4 (ruby 1.9.1) [universal-darwin9.5, x86_64]
-- stack frame ------------
0000 (0xc08000060): 00000004
0001 (0xc08000068): 00000000
0002 (0xc08000070): 00000004
0003 (0xc08000078): 00000000
0004 (0xc08000080): 00000004
0005 (0xc08000088): 00000000
0006 (0xc08000090): 10039cab0
0007 (0xc08000098): 80030a2c0
0008 (0xc080000a0): 8006323c0
0009 (0xc080000a8): 00000004
0010 (0xc080000b0): 8006cf740
0011 (0xc080000b8): 00000004
0012 (0xc080000c0): 100398010
0013 (0xc080000c8): 00000004
0014 (0xc080000d0): c080ffec8
0015 (0xc080000d8): 00000004
0016 (0xc080000e0): 8006cf798
0017 (0xc080000e8): 8006323c0
0018 (0xc080000f0): 00000004
0019 (0xc080000f8): 80068a7e0
0020 (0xc08000100): 80066f720
0021 (0xc08000108): 00000004
0022 (0xc08000110): c080ffd08
0023 (0xc08000118): 00000004
0024 (0xc08000120): 1003a81d0
0025 (0xc08000128): 00000004
0026 (0xc08000130): c080ffc98
0027 (0xc08000138): 00000004
0028 (0xc08000140): c08000110 (= 22)
0029 (0xc08000148): 00000004
0030 (0xc08000150): 00000004
0031 (0xc08000158): c080ffb48
0032 (0xc08000160): 8004dd8a0
0033 (0xc08000168): 00000004
0034 (0xc08000170): c08000140 (= 28)
0035 (0xc08000178): 80060aaa0
0036 (0xc08000180): 00000003
0037 (0xc08000188): 00000004
0038 (0xc08000190): 80068a828
0039 (0xc08000198): 00000004
0040 (0xc080001a0): 100398b60
0041 (0xc080001a8): 100398370
0042 (0xc080001b0): 00000004
0043 (0xc080001b8): c080ff988
0044 (0xc080001c0): 00000004
0045 (0xc080001c8): 00000004
0046 (0xc080001d0): 00000004
0047 (0xc080001d8): 00000004
0048 (0xc080001e0): 00000004
0049 (0xc080001e8): 00000004
0050 (0xc080001f0): 00000004
0051 (0xc080001f8): c08000190 (= 38)
0052 (0xc08000200): 800638520
0053 (0xc08000208): 80060aaa0
0054 (0xc08000210): 00000003
0055 (0xc08000218): 00000004
0056 (0xc08000220): 00000000
0057 (0xc08000228): 00000004
0058 (0xc08000230): 800612160
0059 (0xc08000238): 800638520
0060 (0xc08000240): 80060aaa0
0061 (0xc08000248): 80052c360
0062 (0xc08000250): 00000003
0063 (0xc08000258): 00000004
0064 (0xc08000260): 00000000
0065 (0xc08000268): 00000004
0066 (0xc08000270): 80060aaa0
0067 (0xc08000278): 8005e5260
0068 (0xc08000280): 80052c360
0069 (0xc08000288): 00000003
0070 (0xc08000290): 00000004
0071 (0xc08000298): 00000000
0072 (0xc080002a0): 00000004
0073 (0xc080002a8): 00000000
0074 (0xc080002b0): 00000004
0075 (0xc080002b8): 8004c71e0
0076 (0xc080002c0): 8004c6fa0
0077 (0xc080002c8): 00000004
0078 (0xc080002d0): 00000000 <- lfp <- dfp
-- control frame ----------
c:0024 p:---- s:0079 b:0079 l:000078 d:000078 CFUNC :resume
c:0023 p:0019 s:0076 b:0076 l:0026b8 d:000b28 EVAL (irb):1
c:0022 p:---- s:0074 b:0074 l:000073 d:000073 FINISH :empty?
c:0021 p:---- s:0072 b:0072 l:000071 d:000071 CFUNC :eval
c:0020 p:0023 s:0065 b:0065 l:000064 d:000064 METHOD
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb/workspace.rb:80
c:0019 p:0025 s:0058 b:0057 l:000056 d:000056 METHOD
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb/context.rb:218
c:0018 p:0024 s:0052 b:0052 l:001bf8 d:000051 BLOCK
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:149
c:0017 p:0025 s:0044 b:0044 l:000043 d:000043 METHOD
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:263
c:0016 p:0009 s:0039 b:0039 l:001bf8 d:000038 BLOCK
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:146
c:0015 p:0110 s:0035 b:0035 l:000022 d:000034 BLOCK
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb
/ruby-lex.rb:244
c:0014 p:---- s:0034 b:0034 l:000033 d:000033 FINISH :block_given?
c:0013 p:---- s:0032 b:0032 l:000031 d:000031 CFUNC :loop
c:0012 p:0007 s:0029 b:0029 l:000022 d:000028 BLOCK
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb
/ruby-lex.rb:230
c:0011 p:---- s:0029 b:0029 l:000028 d:000028 FINISH :each
c:0010 p:---- s:0027 b:0027 l:000026 d:000026 CFUNC :catch
c:0009 p:0017 s:0023 b:0023 l:000022 d:000022 METHOD
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb
/ruby-lex.rb:229
c:0008 p:0034 s:0020 b:0020 l:001bf8 d:001bf8 METHOD
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:145
c:0007 p:0009 s:0017 b:0017 l:0025a8 d:000016 BLOCK
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:69
c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH :(null)
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :catch
c:0004 p:0147 s:0011 b:0011 l:0025a8 d:0025a8 METHOD
/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:68
c:0003 p:0033 s:0006 b:0006 l:000005 d:000005 TOP
/usr/local/bin/macirb:12
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> : "(irb):1:in `resume'"
DBG> : "(irb):1:in `irb_binding'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb/workspace.rb:80:in
`eval'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb/workspace.rb:80:in
`evaluate'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb/context.rb:218:in
`evaluate'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:149:in
`block (2 levels) in eval_input'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:263:in
`signal_status'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:146:in
`block in eval_input'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb
/ruby-lex.rb:244:in `block (2 levels) in each_top_level_statement'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb
/ruby-lex.rb:230:in `loop'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb
/ruby-lex.rb:230:in `block in each_top_level_statement'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb
/ruby-lex.rb:229:in `catch'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb
/ruby-lex.rb:229:in `each_top_level_statement'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:145:in
`eval_input'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:69:in
`block in start'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:68:in
`catch'"
DBG> :
"/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/irb.rb:68:in
`start'"
DBG> : "/usr/local/bin/macirb:12:in `<main>'"
-- backtrace of native function call (Use addr2line) --
0x10010f301
0x100029544
0x100029628
0x1000c245d
0x7fff82bf13aa
0x7fff84729c96
-------------------------------------------------------
zsh: abort macirb
}}}
Replying to [ticket:253 jvoorhis@…]:
> An example of macruby 0.4 segfaulting on Fibers follows. Matt Aimonetti
reports similar findings at http://lists.macosforge.org/pipermail/macruby-
devel/2009-May/001717.html, including a failure to require 'fiber' in the
0.5 branch.
>
> ~ % macruby -v
> MacRuby version 0.4 (ruby 1.9.1) [universal-darwin9.5, x86_64]
> ~ % macruby -e 'Fiber.new{puts"hey"}.resume'
> hey
> -e:1: [BUG] Segmentation fault
> MacRuby version 0.4 (ruby 1.9.1) [universal-darwin9.5, x86_64]
>
> -- stack frame ------------
> 0000 (0xc08000060): 00000004
> 0001 (0xc08000068): 00000000
> 0002 (0xc08000070): 00000004
> 0003 (0xc08000078): 00000000
> 0004 (0xc08000080): 00000004
> 0005 (0xc08000088): 8000867c0
> 0006 (0xc08000090): 800030800
> 0007 (0xc08000098): 00000004
> 0008 (0xc080000a0): 00000000 <- lfp <- dfp
> -- control frame ----------
> c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :resume
> c:0003 p:0019 s:0006 b:0006 l:002348 d:002348 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 `resume'"
> DBG> : "-e:1:in `<main>'"
> -- backtrace of native function call (Use addr2line) --
> 0x10010f301
> 0x100029544
> 0x100029628
> 0x1000c245d
> 0x7fff82bf13aa
> 0x7fff5fc328d8
> -------------------------------------------------------
> zsh: abort macruby -e 'Fiber.new{puts"hey"}.resume'
--
Ticket URL: <http://www.macruby.org/trac/ticket/253#comment:1>
MacRuby <http://macruby.org/>
More information about the MacRuby-devel
mailing list