[MacRuby-devel] Threading Problems

Laurent Sansonetti lsansonetti at apple.com
Tue May 18 16:19:45 PDT 2010


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 at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> 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/20100518/d4fd795a/attachment.html>


More information about the MacRuby-devel mailing list