Quartz Builder Crash

d3lray's picture


I just purchased quartz builder to sidestep an issue with 10.7 and quartz visualizer app not working.

I'm able to bundle my quartz composer patch without an issue, I see the plugin qcOSC.plugin in the resource inspector.

The patch receives OSC messages via MAX/MSP and everything works just fine in composer.

But it crashes as soon as I start sending OSC messages. If max/msp is op[en and sending OSC before the .app is opened then it never even shows the viewer window.

checking the crash logs, it shows that its this thread is where things are crashing:


Crashed Thread:  3  CVDisplayLink


Thread 3 Crashed:: CVDisplayLink
0   com.apple.CoreFoundation         0x9421fd67 ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ + 7
1   libobjc.A.dylib                  0x9c35e149 objc_exception_throw + 155
2   com.apple.QuartzComposer         0x98d05498 -[QCContext nextExecutionTimeForPatch:time:arguments:] + 841
3   com.apple.QuartzComposer         0x98d0514a -[QCGraphicsContext nextExecutionTimeForPatch:time:arguments:] + 73
4   com.apple.QuartzComposer         0x98d04f27 -[QCOpenGLContext nextExecutionTimeForPatch:time:arguments:] + 529
5   com.apple.QuartzComposer         0x98d0f462 -[QCContext renderPatch:time:arguments:] + 360
6   com.apple.QuartzComposer         0x98d0f289 -[QCGraphicsContext renderPatch:time:arguments:] + 92
7   com.apple.QuartzComposer         0x98d0e2d9 -[QCOpenGLContext renderPatch:time:arguments:] + 557
8   com.apple.QuartzComposer         0x98d0e0a2 -[QCPatch(Runtime) render:arguments:] + 78
9   com.apple.QuartzComposer         0x98d35fa1 -[QCRenderer renderAtTime:arguments:] + 57
10  com.mycompanyname.Saccade8x5_imac3   0x00003363 0x1000 + 9059
11  com.apple.CoreVideo              0x9b4f34e2 CVDisplayLink::runIOThread() + 876
12  com.apple.CoreVideo              0x9b4f315f _ZL13startIOThreadPv + 160
13  libsystem_c.dylib                0x97cd0ed9 _pthread_start + 335
14  libsystem_c.dylib                0x97cd46de thread_start + 34

I can post the whole crash log if anyone likes, but i thought this might be enough.

Also, and possibly related, I can not seem to get the template to show up in quartz composer. The plugin is installed in ~/Library/Graphics/Quartz Composer Patches

any tips would be greatly appreciated.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

d3lray's picture
Re: Quartz Builder Crash


Ive narrowed this down a bit. If I do not pass any information over OSC it is stable (of course nothing is happening either since all control comes from OSC events.

As soon as i start sending OSC messages via over UDP, I see for a split second, some movement, and then it crashes every time in the thread i detailed above.

I am using the hexer qcOSC.plugin (0.6) has anyone used this in conjunction with quartz builder?

how about the OSC listener patch that comes with quartz composer?

thanks again matthew

itsthejayj's picture
Re: Quartz Builder Crash


I've emailed rob (hexler) , awaiting a reply. You could always try him yourself but i know he is a very busy man

gtoledo3's picture
Re: Quartz Builder Crash

Try keeping the qtz that loads qcosc unencrypted- try making a shell composition that loads your qtz that has qcosc, via a composition loader, then feed "that" to quartzbuilder. Totally untested, but I feel like it stands a shot. I think it's that whole "generate ports on the fly without user input" that's a part of the problem when it gets encrypted w/ quartzbuilder, but I'm only guessing.

d3lray's picture
Re: Quartz Builder Crash

well, it was a good try, but I can't seem to get a nested composition to work in Quartz Builder without the qcOSC.plugin in the resource inspector. Without it I just get a black screen.

When I add the qcOSC.plugin, it shows the correct image, but the I get the same crash. I suspect you are right in terms of the dynamically creating port thing...as i get a bunch of these in the console:

10/18/11 11:58:50.815 AM Quartz Composer: *** Invalid attempt to set port minimum; Ignored.

maybe its time to then start another thread, as the vanilla OSC object that comes with composer doesn't work when i stream a bunch of floats to it form MAX/MSP - it more or less snaps to the end value, whereas the hexer plugin allows for a stream of floats to act as it should...any clues what that issue might be?

thanks everyone! matthew