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