On May 1, 2010, at 5:04 PM, James Maxwell <jbmaxw...@rubato-music.com> wrote:

I'm having a crash when trying to remove the last item in an NSMutableArray. The app is a pretty complex system, and runs its two main processes in consecutively executed blocks. The blocks are run using dispatch_apply, on the global queue. The operation that's trying to access the NSArray is, I think, within the first block... but honestly, I can't be totally sure, as
I don't know exactly why the app is crashing.

Yes you do. You have a debugger and a stack trace.

I guess what I'm wondering is whether there's some fool-proof way of protecting that NSArray from being read and changed simultaneously?
I tried making the array nonatomic, but that didn't solve the problem.
Of note is the fact that this is directly related to processing load, so I'm assuming it has to do with some timing thing -- as the app gets more loaded down, things get sketchy.

The concept you're looking for is thread safety. It is, in general, a Very Hard Problem.


I know this isn't a great description of the problem, but hopefully someone has some thoughts to share.

If you have a crash, the only two useful pieces of information are the source code and the stack trace. Anything else risks misinterpretation and therefore wasted time.

--Kyle Sluder
_______________________________________________

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