[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