[MacRuby-devel] MacRuby 0.9 - crash using Proc.new with NSArray.enumerateObjectsUsingBlock
Laurent Sansonetti
lsansonetti at apple.com
Sun Feb 13 15:46:09 PST 2011
Hi Jonathan,
Your snippet does not require the Foundation framework. Add the following line to your script
framework 'Foundation'
You will also need MacRuby 0.8 and the latest BridgeSupport Preview 3 release. Then let us know if you still reproduce the crash.
The snippet works fine in my environment :(
Laurent
On Feb 13, 2011, at 8:55 AM, Jonathan Waddilove wrote:
> Hi, another MacRuby 0.9 question...
>
> I've been trying to use lambda and/or Proc.new to provide callback blocks (as suggested in Matt's excellent draft book). Again I have seen discussions about problems in this area and for me all the suggested variants of code fail.
>
> Here's a snip of failing code:
>
> #!/usr/local/bin/macruby
> puts "Ruby Version: #{RUBY_VERSION}, MacRuby Version: #{MACRUBY_VERSION}"
>
> a = [1, 2, 3, 4, 5,]
>
> a.enumerateObjectsUsingBlock(Proc.new {|obj, index, stop|
> puts "I'll bet this never displays"
> })
>
> and here's the resulting crash...
>
> Any suggestions? many thanks, Jonathan
>
>
> Process: macruby [23078]
> Path: /Library/Frameworks/MacRuby.framework/Versions/0.8/usr/bin/macruby
> Identifier: macruby
> Version: ??? (???)
> Code Type: X86-64 (Native)
> Parent Process: ruby [23074]
>
> Date/Time: 2011-02-13 16:50:33.806 +0000
> OS Version: Mac OS X 10.6.6 (10J567)
> Report Version: 6
>
> Exception Type: EXC_BAD_ACCESS (SIGSEGV)
> Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
> Crashed Thread: 0 Dispatch queue: com.apple.main-thread
>
> Application Specific Information:
> objc[23078]: garbage collection is ON
>
> Thread 0 Crashed: Dispatch queue: com.apple.main-thread
> 0 ??? 000000000000000000 0 + 0
> 1 ??? 0x0000000102d63ac6 0 + 4342561478
> 2 libmacruby.dylib 0x000000010014a0b3 rb_vm_dispatch + 1331
> 3 ??? 0x0000000102d5a536 0 + 4342523190
> 4 ??? 0x0000000102d63806 0 + 4342560774
> 5 libmacruby.dylib 0x0000000100162d53 rb_vm_run + 531
> 6 libmacruby.dylib 0x00000001000408f0 ruby_run_node + 80
> 7 macruby 0x0000000100000d28 main + 152
> 8 macruby 0x0000000100000c88 start + 52
>
> Thread 1:
> 0 libSystem.B.dylib 0x00007fff88fe5f8a __workq_kernreturn + 10
> 1 libSystem.B.dylib 0x00007fff88fe639c _pthread_wqthread + 917
> 2 libSystem.B.dylib 0x00007fff88fe6005 start_wqthread + 13
>
> Thread 0 crashed with X86 Thread State (64-bit):
> rax: 0x00007fff5fbfddc0 rbx: 0x0000000000000000 rcx: 0x00007fff5fbfdf0f rdx: 0x0000000000000000
> rdi: 0x00000002000bed00 rsi: 0x00000002000bec00 rbp: 0x00007fff5fbfdf40 rsp: 0x00007fff5fbfdcf8
> r8: 0x0000000200000000 r9: 0x0000000000000005 r10: 0x0000000000000001 r11: 0x0000000100af9000
> r12: 0x00000002000bec00 r13: 0x0000000000000000 r14: 0x0000000000000005 r15: 0x0000000000000000
> rip: 0x0000000000000000 rfl: 0x0000000000010246 cr2: 0x0000000000000000
>
> Binary Images:
> 0x100000000 - 0x100000ff7 +macruby ??? (???) <4408616F-9F77-025F-C278-91F945728AB0> /usr/local/bin/macruby
> 0x100003000 - 0x100a29fd7 +libmacruby.dylib 0.8.0 (compatibility 0.8.0) <8910242D-90F3-32AC-A4CA-99D5C316AEB8> /Library/Frameworks/MacRuby.framework/Versions/0.8/usr/lib/libmacruby.dylib
> 0x7fff5fc00000 - 0x7fff5fc3bdef dyld 132.1 (???) <486E6C61-1197-CC7C-2197-82CE505102D7> /usr/lib/dyld
> 0x7fff801f1000 - 0x7fff802aafff libsqlite3.dylib 9.6.0 (compatibility 9.0.0) <2C5ED312-E646-9ADE-73A9-6199A2A43150> /usr/lib/libsqlite3.dylib
> 0x7fff802ba000 - 0x7fff80478fff libicucore.A.dylib 40.0.0 (compatibility 1.0.0) <781E7B63-2AD0-E9BA-927C-4521DB616D02> /usr/lib/libicucore.A.dylib
> 0x7fff809d0000 - 0x7fff80a8dff7 com.apple.CoreServices.OSServices 357 (357) <7B22626F-D544-1955-CC53-240F4CACEB4A> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
> 0x7fff815d5000 - 0x7fff815ebfef libbsm.0.dylib ??? (???) <42D3023A-A1F7-4121-6417-FCC6B51B3E90> /usr/lib/libbsm.0.dylib
> 0x7fff817b9000 - 0x7fff817bdff7 libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <95718673-FEEE-B6ED-B127-BCDBDB60D4E5> /usr/lib/system/libmathCommon.A.dylib
> 0x7fff81cbb000 - 0x7fff81d05ff7 com.apple.Metadata 10.6.3 (507.15) <5170FCE0-ED6C-2E3E-AB28-1DDE3F628FC5> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
> 0x7fff8208d000 - 0x7fff82310ff7 com.apple.Foundation 6.6.4 (751.42) <AF1E3050-3503-8714-8274-EA6BD6BE8A22> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
> 0x7fff82318000 - 0x7fff82340fff com.apple.DictionaryServices 1.1.2 (1.1.2) <E9269069-93FA-2B71-F9BA-FDDD23C4A65E> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
> 0x7fff8234d000 - 0x7fff8234dff7 com.apple.CoreServices 44 (44) <DC7400FB-851E-7B8A-5BF6-6F50094302FB> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
> 0x7fff8353c000 - 0x7fff83588fff libauto.dylib ??? (???) <F7221B46-DC4F-3153-CE61-7F52C8C293CF> /usr/lib/libauto.dylib
> 0x7fff83ecb000 - 0x7fff83ed9ff7 libkxld.dylib ??? (???) <27713C39-0E51-8F5A-877B-C5539C96A520> /usr/lib/system/libkxld.dylib
> 0x7fff8400d000 - 0x7fff84184fe7 com.apple.CoreFoundation 6.6.4 (550.42) <770C572A-CF70-168F-F43C-242B9114FCB5> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
> 0x7fff85109000 - 0x7fff85144fff com.apple.AE 496.4 (496.4) <55AAD5CA-7160-7899-1C68-562ED8160DF7> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
> 0x7fff8532d000 - 0x7fff853bdfff com.apple.SearchKit 1.3.0 (1.3.0) <4175DC31-1506-228A-08FD-C704AC9DF642> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
> 0x7fff85405000 - 0x7fff85416ff7 libz.1.dylib 1.2.3 (compatibility 1.0.0) <97019C74-161A-3488-41EC-A6CA8738418C> /usr/lib/libz.1.dylib
> 0x7fff8688b000 - 0x7fff869a2fef libxml2.2.dylib 10.3.0 (compatibility 10.0.0) <B2FB9DA8-6EC9-FFBC-C919-C022B9CBEB73> /usr/lib/libxml2.2.dylib
> 0x7fff86a93000 - 0x7fff86af3fe7 com.apple.framework.IOKit 2.0 (???) <D107CB8A-5182-3AC4-35D0-07068A695C05> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
> 0x7fff874bc000 - 0x7fff87539fef libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) <35ECA411-2C08-FD7D-11B1-1B7A04921A5C> /usr/lib/libstdc++.6.dylib
> 0x7fff87940000 - 0x7fff87a12fe7 com.apple.CFNetwork 454.11.5 (454.11.5) <5D68598D-C138-C8B6-B6AC-B1F48B01E021> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
> 0x7fff8810b000 - 0x7fff881abfff com.apple.LaunchServices 362.2 (362.2) <A8EDC37C-1D40-5ED0-49BE-90EF110A6B3A> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
> 0x7fff88462000 - 0x7fff886e8fff com.apple.security 6.1.1 (37594) <1B4E1ABD-1BB3-DA49-F574-0EEB23E73C6A> /System/Library/Frameworks/Security.framework/Versions/A/Security
> 0x7fff886ea000 - 0x7fff886f9fff com.apple.NetFS 3.2.1 (3.2.1) <E5D33870-27D2-E50B-9B35-16AA50369733> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
> 0x7fff88806000 - 0x7fff88b3afff com.apple.CoreServices.CarbonCore 861.23 (861.23) <96465459-6536-3FD7-7504-B59D0390EEC5> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
> 0x7fff88bcb000 - 0x7fff88c81fff libobjc.A.dylib 227.0.0 (compatibility 1.0.0) <99CB3A0F-64CF-1D16-70CD-8AED2EF06C30> /usr/lib/libobjc.A.dylib
> 0x7fff88e3d000 - 0x7fff88e7efff com.apple.SystemConfiguration 1.10.5 (1.10.2) <FB39F09C-57BB-D8CC-348D-93E00C602F7D> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
> 0x7fff88e7f000 - 0x7fff88e85ff7 com.apple.DiskArbitration 2.3 (2.3) <857F6E43-1EF4-7D53-351B-10DE0A8F992A> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
> 0x7fff88f93000 - 0x7fff88fbeff7 libxslt.1.dylib 3.24.0 (compatibility 3.0.0) <87A0B228-B24A-C426-C3FB-B40D7258DD49> /usr/lib/libxslt.1.dylib
> 0x7fff88fcb000 - 0x7fff8918cfff libSystem.B.dylib 125.2.1 (compatibility 1.0.0) <F00A8B2F-84A0-0868-1047-3A13F9114864> /usr/lib/libSystem.B.dylib
> 0x7fffffe00000 - 0x7fffffe01fff libSystem.B.dylib ??? (???) <F00A8B2F-84A0-0868-1047-3A13F9114864> /usr/lib/libSystem.B.dylib
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20110213/91952123/attachment-0001.html>
More information about the MacRuby-devel
mailing list