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 <nathan...@talbott.ws>wrote: > On Fri, Apr 15, 2011 at 11:58 AM, Nathaniel Talbott > <nathan...@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@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel