[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