[MacRuby-devel] [MacRuby] #187: YAML.load and non-native classes.

MacRuby ruby-noreply at macosforge.org
Tue Dec 23 03:03:38 PST 2008


#187: YAML.load and non-native classes.
-------------------------------------+--------------------------------------
 Reporter:  eloy.de.enige@…          |       Owner:  lsansonetti@…        
     Type:  defect                   |      Status:  new                  
 Priority:  blocker                  |   Milestone:                       
Component:  MacRuby                  |    Keywords:                       
-------------------------------------+--------------------------------------
 YAML.load goes boom when trying to load a non-native class. So String,
 Array etc all work.
 In r767 I have added a test case which show this:
 http://www.macruby.org/trac/browser/MacRuby/trunk/test-
 macruby/known_bugs.rb

 Output:

 {{{
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/yaml.rb:133:
 [BUG] Segmentation fault
 MacRuby version 0.4 (ruby 1.9.0 2008-06-03) [universal-darwin9.0, x86_64]

 -- stack frame ------------
 0000 (0xc08120060): 00000004
 0001 (0xc08120068): 00000000
 0002 (0xc08120070): 00000004
 0003 (0xc08120078): 8003fd2c8
 0004 (0xc08120080): 00000004
 0005 (0xc08120088): 100348880
 0006 (0xc08120090): 00000000
 0007 (0xc08120098): 00000004
 0008 (0xc081200a0): 8000667e0
 0009 (0xc081200a8): 00000004
 0010 (0xc081200b0): 80058e980
 0011 (0xc081200b8): 00000004
 0012 (0xc081200c0): 00000000
 0013 (0xc081200c8): 80058e980
 0014 (0xc081200d0): 104b0a540
 0015 (0xc081200d8): 00000004
 0016 (0xc081200e0): 00000000
 0017 (0xc081200e8): 104b0a540
 0018 (0xc081200f0): 8003b8040
 0019 (0xc081200f8): 00000005
 0020 (0xc08120100): 00000004
 0021 (0xc08120108): 00000000
 0022 (0xc08120110): 8007232a0
 0023 (0xc08120118): 00000004
 0024 (0xc08120120): 00000000
 0025 (0xc08120128): 00000004
 0026 (0xc08120130): 00000004
 0027 (0xc08120138): 00000000
 0028 (0xc08120140): 800710da0
 0029 (0xc08120148): 8004981a0
 0030 (0xc08120150): 8004871a0
 0031 (0xc08120158): 00000004
 0032 (0xc08120160): 00000004
 0033 (0xc08120168): 00000004
 0034 (0xc08120170): 00000004
 0035 (0xc08120178): 00000004
 0036 (0xc08120180): 800411980
 0037 (0xc08120188): 8003b8040
 0038 (0xc08120190): 8004871a0
 0039 (0xc08120198): 80049d100
 0040 (0xc081201a0): 00000004
 0041 (0xc081201a8): 80049c0c0
 0042 (0xc081201b0): 800325820
 0043 (0xc081201b8): 00000004
 0044 (0xc081201c0): c0821fc28
 0045 (0xc081201c8): 800331ae0
 0046 (0xc081201d0): 00000004
 0047 (0xc081201d8): c081201a8 (= 41)
 0048 (0xc081201e0): 800331ae0
 0049 (0xc081201e8): 8004871a0
 0050 (0xc081201f0): 80049d100
 0051 (0xc081201f8): 00000004
 0052 (0xc08120200): 80049c0c0
 0053 (0xc08120208): 80045a300
 0054 (0xc08120210): 00000004
 0055 (0xc08120218): c0821fa68
 0056 (0xc08120220): 800329a20
 0057 (0xc08120228): 00000004
 0058 (0xc08120230): c08120200 (= 52)
 0059 (0xc08120238): 800329a20
 0060 (0xc08120240): 8004871a0
 0061 (0xc08120248): 00000004
 0062 (0xc08120250): 00000004
 0063 (0xc08120258): 80049c0c0
 0064 (0xc08120260): 00000004
 0065 (0xc08120268): 800464960
 0066 (0xc08120270): 00000004
 0067 (0xc08120278): 00000000
 0068 (0xc08120280): 00000004
 0069 (0xc08120288): 8004649a0
 0070 (0xc08120290): 00000004
 0071 (0xc08120298): c0821f838
 0072 (0xc081202a0): 00000004
 0073 (0xc081202a8): 00000004
 0074 (0xc081202b0): c0821f7c8
 0075 (0xc081202b8): 00000004
 0076 (0xc081202c0): 80045aa40
 0077 (0xc081202c8): 800453bc0
 0078 (0xc081202d0): 00000004
 0079 (0xc081202d8): 00000004
 0080 (0xc081202e0): c08120298 (= 71)
 0081 (0xc081202e8): 00000004
 0082 (0xc081202f0): c08120278 (= 67)
 0083 (0xc081202f8): 1003be820
 0084 (0xc08120300): 800464960
 0085 (0xc08120308): 00000004
 0086 (0xc08120310): 00000004
 0087 (0xc08120318): 00000000
 0088 (0xc08120320): 800444c60
 0089 (0xc08120328): 800464960
 0090 (0xc08120330): 00000004
 0091 (0xc08120338): 00000000
 0092 (0xc08120340): 00000004
 0093 (0xc08120348): 00000000
 0094 (0xc08120350): 00000004
 0095 (0xc08120358): 00000000 <- lfp <- dfp
 -- control frame ----------
 c:0027 p:---- s:0096 b:0096 l:000095 d:000095 CFUNC  :transfer:
 c:0026 p:---- s:0094 b:0094 l:000093 d:000093 CFUNC  :node_import:
 c:0025 p:---- s:0092 b:0092 l:000091 d:000091 CFUNC  :load
 c:0024 p:0015 s:0088 b:0088 l:000087 d:000087 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/yaml.rb:133
 c:0023 p:0016 s:0083 b:0083 l:000067 d:000082 BLOCK
 /Users/eloy/code/RubyCocoa/MacRuby/MacRubyTrunk/test-
 macruby/test_known_bugs.rb:12
 c:0022 p:0065 s:0081 b:0081 l:000071 d:000080 BLOCK
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/assertions.rb:292
 c:0021 p:0043 s:0075 b:0075 l:000074 d:000074 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/assertions.rb:495
 c:0020 p:0007 s:0072 b:0072 l:000071 d:000071 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/assertions.rb:284
 c:0019 p:0035 s:0068 b:0068 l:000067 d:000067 METHOD
 /Users/eloy/code/RubyCocoa/MacRuby/MacRubyTrunk/test-
 macruby/test_known_bugs.rb:12
 c:0018 p:0039 s:0064 b:0064 l:000063 d:000063 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testcase.rb:76
 c:0017 p:0015 s:0059 b:0059 l:000052 d:000058 BLOCK
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:34
 c:0016 p:---- s:0058 b:0058 l:000057 d:000057 FINISH :inherited:
 c:0015 p:---- s:0056 b:0056 l:000055 d:000055 CFUNC  :each
 c:0014 p:0026 s:0053 b:0053 l:000052 d:000052 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:33
 c:0013 p:0015 s:0048 b:0048 l:000041 d:000047 BLOCK
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:34
 c:0012 p:---- s:0047 b:0047 l:000046 d:000046 FINISH :(null)
 c:0011 p:---- s:0045 b:0045 l:000044 d:000044 CFUNC  :each
 c:0010 p:0026 s:0042 b:0042 l:000041 d:000041 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:33
 c:0009 p:0128 s:0037 b:0037 l:0010a8 d:0010a8 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/ui/testrunnermediator.rb:46
 c:0008 p:0008 s:0028 b:0028 l:000027 d:000027 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/ui/console/testrunner.rb:67
 c:0007 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/ui/console/testrunner.rb:41
 c:0006 p:0026 s:0022 b:0022 l:000021 d:000021 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/ui/testrunnerutilities.rb:29
 c:0005 p:0052 s:0017 b:0017 l:000016 d:000016 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/autorunner.rb:216
 c:0004 p:0070 s:0013 b:0013 l:000012 d:000012 METHOD
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/autorunner.rb:12
 c:0003 p:0042 s:0005 b:0004 l:000448 d:000003 BLOCK
 /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit.rb:278
 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> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/yaml.rb:133:in
 `transfer:'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/yaml.rb:133:in
 `node_import:'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/yaml.rb:133:in
 `load'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/yaml.rb:133:in
 `load'"
 DBG> : "/Users/eloy/code/RubyCocoa/MacRuby/MacRubyTrunk/test-
 macruby/test_known_bugs.rb:12:in `block in test_load_non_native_classes'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/assertions.rb:292:in
 `block in assert_nothing_raised'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/assertions.rb:495:in
 `_wrap_assertion'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/assertions.rb:284:in
 `assert_nothing_raised'"
 DBG> : "/Users/eloy/code/RubyCocoa/MacRuby/MacRubyTrunk/test-
 macruby/test_known_bugs.rb:12:in `test_load_non_native_classes'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testcase.rb:76:in
 `run'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:34:in
 `block in run'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:33:in
 `each'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:33:in
 `run'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:34:in
 `block in run'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:33:in
 `each'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/testsuite.rb:33:in
 `run'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/ui/testrunnermediator.rb:46:in
 `run_suite'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/ui/console/testrunner.rb:67:in
 `start_mediator'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/ui/console/testrunner.rb:41:in
 `start'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/ui/testrunnerutilities.rb:29:in
 `run'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/autorunner.rb:216:in
 `run'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit/autorunner.rb:12:in
 `run'"
 DBG> :
 "/Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.0/test/unit.rb:278:in
 `block in <top (required)>'"
 -- backtrace of native function call (Use addr2line) --
 0x100113ac1
 0x10002fe44
 0x10002ff28
 0x1000c69dd
 0x7fff805db34a
 0x7fff820259a1
 0x1047f02ee
 0x10010b4ff
 0x10010b99a
 0x10010c0fe
 0x1047f0857
 0x10010b4ff
 0x10010b99a
 0x10010c0fe
 0x1047ef2c8
 0x1047e829d
 0x1047e727a
 0x1047f4cf4
 0x1047efaa3
 0x10010f5a7
 0x100104f1f
 0x100109ee2
 0x100111ca2
 0x10000dcc7
 0x10010f5a7
 0x100104f1f
 0x100109ee2
 0x100111ca2
 0x10000dcc7
 0x10010f5a7
 0x100104f1f
 0x100109ee2
 0x10010a469
 0x1000365de
 0x10003668a
 0x100036902
 0x100000f1f
 0x100000ea4
 0x3
 -------------------------------------------------------
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/187>
MacRuby <http://macruby.org/>



More information about the MacRuby-devel mailing list