Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-21 Thread Ken Thomases
On Jun 20, 2009, at 7:26 PM, Jerry Krinock wrote: Oh, I also figured out how to enter a command in the gdb console -- You have to hit the 'enter' key instead of 'return' after entering a command. I've never used 'enter' in a console-type-thing. I suppose this may be to allow multi-line co

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-20 Thread Jerry Krinock
The problem is that the class for which I overrode -isEqual: is a managed object. According to NSManagedObject documentation, this "absolutely must not" be done. After I simplified my object graph, removing some of its entities relationships, I got a warning at runtime telling me about thi

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Kyle Sluder
On Fri, Jun 19, 2009 at 11:20 AM, Jerry Krinock wrote: >   *** -[ entitiesByName]: message sent to deallocated instance 0x24c92a0 Use ObjectAlloc to figure out what was allocated there. --Kyle Sluder ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.co

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Jerry Krinock
Thanks to all who pointed out that you can't set those zombie environment variables in main(). No wonder why they never worked for me! With zombies properly enabled, I now consistently get this before the crash: *** -[ entitiesByName]: message sent to deallocated instance 0x24c92a0

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Kyle Sluder
On Fri, Jun 19, 2009 at 9:18 AM, Jerry Krinock wrote: > That should do the job, right? You're better off setting it in the executable's inspector. Do a Get Info on your executable and you'll see an Environment Variables section. > As you can see, the last thing I do there is get the -managedObje

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Chris Parker
On 19 Jun 2009, at 9:18 AM, Jerry Krinock wrote: I don't "turn on zombies" very often, so, just to make sure I did it correctly, I "turned on zombies" by activating this code in my main ()... #define KEEP_ZOMBIES #ifdef KEEP_ZOMBIES setenv("NSZombieEnabled", "YES", 1) ; setenv("NSA

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Jerry Krinock
I don't "turn on zombies" very often, so, just to make sure I did it correctly, I "turned on zombies" by activating this code in my main()... #define KEEP_ZOMBIES #ifdef KEEP_ZOMBIES setenv("NSZombieEnabled", "YES", 1) ; setenv("NSAutoreleaseFreedObjectCheckEnabled", "YES", 1) ;

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Michael Ash
On Fri, Jun 19, 2009 at 11:40 AM, Jerry Krinock wrote: > I implemented an -isEqual: method in one of my classes today.  This causes > the app to crash while loading a document, after some milliseconds.  Crashes > occur in different unrelated places. > > I then simplified the implementation to just

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Jesper Storm Bache
In general, make sure to match the types of methods that you override (the obj-c runtime does not consider types). The signature of isEqual is: - (BOOL)isEqual:(id)object; Note the "id" type for the argument (however, if Browfile is an obj-c class, then things ought to work, so I assum

Re: Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Bill Bumgarner
On Jun 19, 2009, at 10:40 AM, Jerry Krinock wrote: Simply removing this implementation by renaming it to XXisEqual: results in no more crashes. The crash looks like a memory-smasher, but under the circumstances maybe something is being linked incorrectly. I "touched" all of the files and r

Just implementing -isEqual:, never invoked, causes crash

2009-06-19 Thread Jerry Krinock
I implemented an -isEqual: method in one of my classes today. This causes the app to crash while loading a document, after some milliseconds. Crashes occur in different unrelated places. I then simplified the implementation to just log and call super -- - (BOOL)isEqual:(Browfile*)otherBrow