[MacRuby-devel] BridgeSupport crash

Matt Aimonetti mattaimonetti at gmail.com
Fri Apr 15 18:07:45 PDT 2011


Thanks for the report Nathaniel. Before I forget, the latest version of
BridgeSupport is preview 3, not preview 2
http://www.macruby.org/files/ (small detail but you are not the first
one to mention that).

Here is my understanding of the problem. The --bs flag includes in your app
the bs files that found in your machine. (so if you have BSp2, these files
will be included).

Once you deploy your app to another machine, you probably only embedded the
MacRuby framework, therefore the machine has the old BS version that ships
with Snow Leopard. At this point, the new BS file is loaded in the old BS
and that's when the problem occurs.

In other words, the new BS files are not compatible with the old BS. That's
quite a problem indeed. My guess is that Apple is planning on shipping the
new BS in Lion. Updating the old BS via a system update would probably break
some code relying on the old format. So I'm not really sure what the
solution is.

Laurent, am I right? What are the solutions?

Thanks,

- Matt



On Fri, Apr 15, 2011 at 5:25 PM, Nathaniel Talbott <nathaniel at talbott.ws>wrote:

> On Fri, Apr 15, 2011 at 11:58 AM, Nathaniel Talbott
> <nathaniel at talbott.ws> wrote:
>
> > I have a MacRuby app that's working great on my local box, but when I
> > put it on another box it crashes hard. Here's the relevant thread
> > crash info:
>
> I have more data on this. If I remove the references in my app to
> functions/constants that are only in the latest BridgeSupport
> (preview2), the app *still* crashes on the box that has not had
> BridgeSupport preview2 installed. The trace changes slightly, but note
> that it's *not* related to the missing functions/constants:
>
>  Exception Type:  EXC_CRASH (SIGABRT)
>  Exception Codes: 0x0000000000000000, 0x0000000000000000
>   Crashed Thread:  0  Dispatch queue: com.apple.main-thread
>
>   Application Specific Information:
>  __abort() called
>  objc[1402]: garbage collection is ON
>
>  Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
>   0   libSystem.B.dylib                 0x00007fff85b8e5d6 __kill + 10
>  1   libSystem.B.dylib                 0x00007fff85c2ec77 __abort + 103
>  2   libSystem.B.dylib                 0x00007fff85c132d8
> release_file_streams_for_task + 0
>  3   libmacruby.1.9.2.dylib            0x00000001001120ce rb_pointer_new2 +
> 13086
>  4   ???                               0x5f79617272615f73 0 +
> 6879637049958293363
>
> HOWEVER, if I take the "--bs" switch off of macruby_deploy so that it
> doesn't embed the BridgeSupport files, the app works fine on this
> computer so long as the references to the preview2-only
> functions/constants are still removed.
>
> Further, if I add back in the references to the preview2-only
> functions/constants, the app still errors, but it doesn't crash and it
> gives good data on the error:
>
>  4/15/11 8:23:15
> PM      Elephant[2310]
>  /Users/ktalbott/Desktop/Elephant.app/Contents/Resources/rb_main.rb:18:in
> `<main>': uninitialized constant Config::KFSEventStreamEventIdSinceNow
> (NameError)
>
> So it appears that there is a bug in the code that handles embedded
> BridgeSupport files - any ideas on tracking it down?
>
>
> --
> Nathaniel Talbott
> <:((><
> _______________________________________________
> 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/20110415/431944a0/attachment.html>


More information about the MacRuby-devel mailing list