Hi Jan, I tried your snippet but it works fine for me. I didn't get any crash. But your environment might differ from mine.
In any case, it should not crash, so please file a ticket and attach the crash log (or a full threads backtrace from gdb), and I will have a look :) Thanks, Laurent On May 18, 2010, at 3:49 PM, Jan Kassens wrote: > I traced the bug down to a small script, but can’t get it smaller than this: > http://pastie.textmate.org/private/m21wkng3mgu7wvksbu4rq > According to the apple documentation [1] the Calendar Store framework is > thread safe, but removing it removes the seg faults and bus errors I’m > getting. It might just be Obj C calls from threads? > > If this is a bug, I can file a ticket, but I might as well be doing something > stupid here. > > [1]: > http://developer.apple.com/mac/library/documentation/AppleApplications/Reference/CalendarStoreReference/index.html > > > Jan > > > On May 15, 2010, at 21:24, Laurent Sansonetti wrote: > >> Hi Jan, >> >> Indeed this looks like a classic threading problem. I thought we eliminated >> most of these in 0.6. >> >> What does your #update method do specifically? Also, do the problems >> disappear if you call #update only once from the main thread before starting >> the thread? >> >> A minor (but likely irrelevant here) note: I think your drawRect: method >> might be called from the thread, which is AFAIK not supported in Cocoa. >> >> Laurent >> >> On May 15, 2010, at 8:25 AM, Jan Kassens wrote: >> >>> Hi, >>> >>> I’m writing a small widget application rendering a couple of NSView >>> subclasses which update periodically. >>> >>> The widgets are subclasses of [1] and added as subviews to my main view, >>> but the more I add the more likely are some random errors thrown on >>> initialization. >>> The errors include a variety of failed assertions and seg faults (see [2] >>> for examples) and don’t yield any helpful clues. I’m guessing that I’m >>> dealing with something not thread-safe here. >>> >>> Am I doing something wrong here? I’m doing all the drawing inside the >>> drawRect(rect) method (or synchronously called methods) which I don’t call >>> manually. “update” pulls data from various resources, but doesn’t draw. >>> >>> >>> [1] WidgetView class: >>> http://pastie.textmate.org/private/hwfozrwudk2lcwzker20q >>> [2] Different Errors: http://pastie.textmate.org/private/vbp7iuw11ig26zxegzg >>> >>> Jan >>> _______________________________________________ >>> 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 > > _______________________________________________ > 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