[Rubycocoa-devel 1088] RubyCocoa crashes in Core Image

Back to archive index

Gus Mueller gus****@flyin*****
Tue Jul 17 06:37:02 JST 2007


Hello,

I'm getting a really strange crash in ruby land when I load up  
rubycocoa in my app from a bundle.  It's completely repeatable as well:

Thread 0 Crashed:
0   libruby.1.dylib          	0x964674f1 rb_thread_wait_fd + 261
1   libruby.1.dylib          	0x9646371e Init_eval + 17041
2   libruby.1.dylib          	0x964641d8 Init_eval + 19787
3   libruby.1.dylib          	0x96464b8a rb_obj_call_init + 478
4   libruby.1.dylib          	0x96464c74 rb_funcall + 33
5   libruby.1.dylib          	0x96479a00 rb_hash_aset + 808
6   libruby.1.dylib          	0x964bcd7c st_lookup + 22
7   libruby.1.dylib          	0x9647735c rb_hash_aref + 42
8   com.apple.rubycocoa      	0x17823439 eval_ruby_program_for_class  
+ 263
9   com.apple.QuartzCore     	0x93ed1ba4 -[CIFilter attributes] + 980
10  com.apple.QuartzCore     	0x93ed16dd -[CIFilter setDefaults] + 35
11  com.flyingmeat.VoodooPad 	0x00065575 -[VPAnimatingTabView  
createTransitionFilterForRect:initialCIImage:finalCIImage:] + 283
12  com.flyingmeat.VoodooPad 	0x000650e6 -[VPAnimatingTabView  
selectTabViewItem:] + 1374
13  com.flyingmeat.VoodooPad 	0x0005ebe2 -[PSMTabBarControl  
tabClick:] + 55
14  com.flyingmeat.VoodooPad 	0x0005e52c -[PSMTabBarControl mouseUp:]  
+ 621
15  com.apple.AppKit         	0x9336f42b -[NSWindow sendEvent:] + 5403
16  com.apple.AppKit         	0x93361350 -[NSApplication sendEvent:]  
+ 5023
17  com.flyingmeat.VoodooPad 	0x00027f59 -[VPApplication sendEvent:]  
+ 1237
18  com.apple.AppKit         	0x9328bdfe -[NSApplication run] + 547
19  com.apple.AppKit         	0x9327fd2f NSApplicationMain + 573
20  com.flyingmeat.VoodooPad 	0x000027d6 _start + 216
21  com.flyingmeat.VoodooPad 	0x000026fd start + 41


What's weird, is that I'm never even calling ruby.  It seems like  
ruby is inserting itself into the middle of core image.  Is this  
expected?

Here's what I'm doing, and how to get this to reproduce.  (It's  
slightly involved, sorry about that...)

Run a latest build of VoodooPad:
http://www.flyingmeat.com/download/latest/

Launch it at least once, quit, then enter these defaults at the  
command line:
defaults write com.flyingmeat.VoodooPad superfluousEffects 1
defaults write com.flyingmeat.VoodooPad superfluousEffectsDuration .1
defaults write com.flyingmeat.VoodooPad disableCrashReporter 1

That turns on some core animation transitions when switching tabs,  
speeds them up, and disables my crash reporter so you can see the  
crash reports yourself.

Build the VPRubyPluginEnabler sample code.  If you want to skip this  
part, I've got a build here:
http://gusmueller.com/stuff/RubyPluginEnabler.vpplugin.zip

Put that in:
~/Library/Application Support/VoodooPad/PlugIns/.

Launch VP, make a new document, and open a page in a new tab (Just  
drag some text up to the tab bar for a easy way to do this).   
Switching back and forth between tabs makes some core image  
transitions, and doing it enough times triggers the crash.

It used to be that it would take between 15-20 calls to CI to get it  
to crash, but I updated to what's in svn for RubyCocoa, and it takes  
a bit longer now.  The keyboard shortcut to switch tabs is: cmd-shift- 
option-].  Press and hold for ~12 seconds on my mac pro.

Here's a movie if that makes no sense:
http://gusmueller.com/stuff/VoodooPadRubyCocoaCrash.mov

I've bulit ruby like so:
ruby install.rb config --build-as-embeddable --build-universal

Any ideas?  Where should I start, and what can I do to help fix this?

thanks,

-gus

--  
August 'Gus' Mueller
Flying Meat Inc.
http://flyingmeat.com/




More information about the Rubycocoa-devel mailing list
Back to archive index