[macruby] #55: NSAppleScript#executeAndReturnError causes a SEGFAULT.
#55: NSAppleScript#executeAndReturnError causes a SEGFAULT. -------------------------------------+-------------------------------------- Reporter: eloy.de.enige@gmail.com | Owner: lsansonetti@apple.com Type: defect | Status: new Priority: minor | Milestone: Component: MacRuby | Keywords: bug -------------------------------------+-------------------------------------- Coincidentally I had the same problem recently with RubyCocoa, but there a NoMethodError is raised. In MacRuby it causes a SEGFAULT (*). If I use performSelector:'executeAndReturnError:', withObject:nil it works and the equivalent works in RC too, so it might be something with BridgeSupport. *: {{{ irb(main):003:0> NSAppleScript.alloc.initWithSource("say \"hello world\"").executeAndReturnError(nil) (irb):3: [BUG] Segmentation fault MacRuby version 0.2 (ruby 1.9.0 2008-03-01) [universal-darwin9.0] -- control frame ---------- c:0024 p:---- s:0074 b:0074 l:000073 d:000073 CFUNC :executeAndReturnError: c:0023 p:0028 s:0070 b:0070 l:000ae4 d:000069 EVAL (irb):3 c:0022 p:---- s:0069 b:0069 l:000068 d:000068 FINISH :empty? c:0021 p:---- s:0067 b:0067 l:000066 d:000066 CFUNC :eval c:0020 p:0023 s:0060 b:0060 l:000059 d:000059 METHOD /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb/workspace.rb:80 c:0019 p:0025 s:0053 b:0052 l:000051 d:000051 METHOD /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb/context.rb:218 c:0018 p:0024 s:0047 b:0047 l:001954 d:000046 BLOCK /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:149 c:0017 p:0025 s:0040 b:0040 l:000039 d:000039 METHOD /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:262 c:0016 p:0009 s:0035 b:0035 l:001954 d:000034 BLOCK /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:146 c:0015 p:0093 s:0032 b:0032 l:000021 d:000031 BLOCK /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb /ruby-lex.rb:243 c:0014 p:---- s:0032 b:0032 l:000031 d:000031 FINISH :block_given? c:0013 p:---- s:0030 b:0030 l:000029 d:000029 CFUNC :loop c:0012 p:0007 s:0027 b:0027 l:000021 d:000026 BLOCK /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb /ruby-lex.rb:230 c:0011 p:---- s:0028 b:0028 l:000027 d:000027 FINISH :each c:0010 p:---- s:0026 b:0026 l:000025 d:000025 CFUNC :catch c:0009 p:0017 s:0022 b:0022 l:000021 d:000021 METHOD /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb /ruby-lex.rb:229 c:0008 p:0034 s:0019 b:0019 l:001954 d:001954 METHOD /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:145 c:0007 p:0009 s:0016 b:0016 l:00185c d:000015 BLOCK /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/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:0152 s:0011 b:0011 l:00185c d:00185c METHOD /Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/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):3:in `irb_binding'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb/workspace.rb:80:in `eval'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb/workspace.rb:80:in `evaluate'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb/context.rb:218:in `evaluate'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:149:in `block (2 levels) in eval_input'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:262:in `signal_status'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:146:in `block in eval_input'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb /ruby-lex.rb:243:in `block (2 levels) in each_top_level_statement'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb /ruby-lex.rb:230:in `loop'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb /ruby-lex.rb:230:in `block in each_top_level_statement'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb /ruby-lex.rb:229:in `catch'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb /ruby-lex.rb:229:in `each_top_level_statement'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:145:in `eval_input'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:69:in `block in start'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:68:in `catch'" DBG> : "/Library/Frameworks/MacRuby.framework/Versions/0.2/usr/lib/ruby/1.9.0/irb.rb:68:in `start'" DBG> : "/usr/local/bin/macirb:12:in `<main>'" -- backtrace of native function call (Use addr2line) -- 0x2a4ca6 0x1dab8c 0x1dabcb 0x263dc1 0x953e55eb 0xffffffff 0x954deab7 0x954e3055 0x94a8150 0x948cbec 0x920e0cb8 0x9487ae2 0x94a3927 0x9209b5cd 0x91172513 0x91e8cdaf 0x91e8d096 0x91e8ce51 0x900041dd 0x90004771 0x2b01f7 0x2a2f70 0x29cec8 0x2a241c 0x1e65f7 0x1e6ace 0x295855 0x2a2f70 0x29cec8 0x2a241c 0x1debea 0x1deca9 0x1dee07 0x2a2f70 0x29cec8 0x2a241c 0x1e0b00 0x295855 0x2a2f70 0x29cec8 0x2a241c 0x1e0b00 0x295855 0x2a2f70 0x29cec8 0x2a241c 0x2a26f1 0x1de8aa 0x1e425f 0x1fdf 0x1f46 0x2 ------------------------------------------------------- ^Czsh: abort macirb }}} -- Ticket URL: <http://ruby.macosforge.org/trac/ticket/55> macruby <http://ruby.macosforge.org/>
#55: NSAppleScript#executeAndReturnError causes a SEGFAULT. -------------------------------------+-------------------------------------- Reporter: eloy.de.enige@gmail.com | Owner: lsansonetti@apple.com Type: defect | Status: closed Priority: minor | Milestone: Component: MacRuby | Resolution: wontfix Keywords: bug | -------------------------------------+-------------------------------------- Changes (by lsansonetti@apple.com): * status: new => closed * resolution: => wontfix Comment: It looks like a bug in NSAppleScript, which doesn't work in GC mode. {{{ $ cat t.m #import <Foundation/Foundation.h> int main(void) { [[[NSAppleScript alloc] initWithSource:@"say \"hello world\""] executeAndReturnError:nil]; sleep(5); return 0; } $ gcc t.m -o t -framework Foundation -fobjc-gc $ ./t # boom }}} Doesn't reproduce when {{{-fobjc-gc}}} is omitted. I filed <rdar://problem/5958648> NSAppleScript crashes in GC mode -- Ticket URL: <http://ruby.macosforge.org/trac/ticket/55#comment:1> macruby <http://ruby.macosforge.org/>
participants (1)
-
macruby