I have a method that's crashing with EXC_BAD_ACCESS. I'm running a fairly 
lengthy, iterative process in a distpatch_async block and at the end of it 
saving a file. Originally, I had included the file save in the block...

dispatch_async(queue,^{
       [myObject doSomeHorrificCrunching];
       [myObject saveDataToFile];
    });


...and was getting a crash in certain situations -- it seemed to be related to 
the size of the file (which also indicates the length/complexity of the 
iterative process). So, I tried pulling the file save out of the block:

dispatch_async(queue,^{
       [myObject doSomeHorrificCrunching];
    });

[myObject saveDataToFile];

This also crashed (which is not surprising). So, just to check my theory that 
perhaps the data was still being modified when the file save method was run, I 
used dispatch_sync:

dispatch_sync(queue,^{
       [myObject doSomeHorrificCrunching];
    });

[myObject saveDataToFile];

This didn't crash, but of course I had to enjoy the glorious beach ball.

So, finally, I tried using a group (and going back to dispatch_async)...

dispatch_group_async(group, queue,^{
       [myObject doSomeHorrificCrunching];
    });

dispatch_group_notify(group, queue, ^{
    [myObject saveDataToFile];
    });

...but to my dismay, the crash came back.
I'm wondering: does this last step actually prove that my crash is _not_ being 
caused by trying to save while the data is being modified?
Unfortunately, I haven't been able to get any info on the state of the object 
when the crash happens. I have Zombies enabled, but I don't get any zombie 
action in the console.
Confused...

J.

------------------------------------------------------
James B. Maxwell
Composer/Researcher/PhD Candidate






_______________________________________________

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