If your _instances variable is initialized using either [NSMutableArray array] or [NSMutableArray arrayWithCapacity:...], it will be autoreleased and become invalid. You can fix that by doing something like [NSMutableArray array] retain] or using [NSMutableArray alloc] initWithCapacity:...].

When an object is released, the underlying memory is reclaimed but any variables that were referencing the object are unmodified so they now point to garbage.

And as for zombies, Google is your friend. The first hit for NSZombieEnabled gives a good description.


On Apr 8, 2009, at 6:15 AM, Daniel Luis dos Santos wrote:

The _instances mutable array is instantiated in the default init method that is called on all other init methods. It is never released. I am using an Auto release pool. The log writes ;

2009-04-08 13:56:53.189 TestRunner[2568:813] *** -[NSFileManager fileExistsAtPath:]: unrecognized selector sent to instance 0x1126f0

When releasing a pointer does its value change ? or it just releases the memory ?
What is that zombie thing you're talking about ?


On Apr 8, 2009, at 1:53 PM, Graham Cox wrote:


On 08/04/2009, at 10:33 PM, Daniel Luis dos Santos wrote:

if ((nil != saID) && ([[saID class] isSubclassOfClass: [NSData class]])) {
                //[_instances addObject: aDriverInstance];

When I uncomment the addObject line above, later in the code NSFileManager throws a doesNotRespondToSelector exception, which is very odd.



Still not enough to go on.

Where is _instances initialised? Is it released anywhere? What does the exception log? Is it possible _instances could be being released leaving a stale pointer that points to NSFileManager? Have you run it with NSZombieEnabled turned on? Any difference?

Please post the *relevant* code.

--Graham

_______________________________________________

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