On 19/01/2010, at 12:19 PM, Grant Christensen wrote:

> 
> On 19/01/2010, at 11:28 AM, Corbin Dunn wrote:
> 
>>> ...
>>>     20  VATSpy                              0x0000000100004912 -[BBSDataMgr 
>>> loadDataFile:] + 3851
>>>     21  Foundation                          0x00007fff8166de99 
>>> __NSThread__main__ + 1429
>>>     22  libSystem.B.dylib                   0x00007fff814c2f8e 
>>> _pthread_start + 331
>>>     23  libSystem.B.dylib                   0x00007fff814c2e41 thread_start 
>>> + 13
>>> )
>>> Code is:
>>> ....                        [myTableView reloadData];
>>>             }
>> 
>> NSTableView is not threadsafe - do not call reloadData on a background 
>> thread. However, given your particular case it is probably the 
>> arraycontroller change that is causing the mutation.
>> 
>> corbin
>> 
>> 
>> 
> 
> Actually thinking through the flow, it is currently my background thread that 
> is calling the reload.  I have commented that out and it is still crashing, 
> but it is probably a thread safety issue.  I will re-structure so that the 
> background thread signals the main thread its work is done rather than call 
> back into it, which is what it was doing.  Will see how that goes...
> 

Yep, chalk another one up to thread safety.  I was kicking off the worker 
thread to go away and collect all of the data.  When done, it was invoking a 
selector on the main thread to notify of completion.  I was using :

[callbackMethod performSelector: @selector(loadComplete:) withObject:[NSNumber 
numberWithBool:returnResult]];

instead of the thread safe version:

[callbackMethod performSelectorOnMainThread:@selector(loadComplete:) 
withObject:[NSNumber numberWithBool:returnResult] waitUntilDone:NO];

This seems to have fixed it.  Thanks Corbin for pointing me towards the 
threading issues!

Grant_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to