ios - In what cases will a 'release' call recur? -


i have segmentation fault (sigsegv) following stack-trace:

thread 6 crashed: 0   libobjc.a.dylib                     objc_msgsend (in libobjc.a.dylib) + 16 1   coredata                            -[nsmanagedobject release] (in coredata) + 160 2   libobjc.a.dylib                     object_cxxdestructfromclass(objc_object*, objc_class*) (in libobjc.a.dylib) + 148 3   libobjc.a.dylib                     objc_destructinstance (in libobjc.a.dylib) + 92 4   coredata                            _pfdeallocateobject (in coredata) + 28 5   myapp                               -[job dealloc] (in myapp) (job.m:113) 6   coredata                            -[_pfmanagedobjectreferencequeue _queuefordealloc:] (in coredata) + 272 7   coredata                            -[nsmanagedobject release] (in coredata) + 160 8   coredata                            -[_pfarray dealloc] (in coredata) + 100 9   libobjc.a.dylib                     (anonymous namespace)::autoreleasepoolpage::pop(void*) (in libobjc.a.dylib) + 564  

note dealloc method in job class empty/a no-op. appears vestigial remnant before code converted arc.

what strikes me strange in stack-trace there's call [nsmangedobject release] leads subsequent call [nsmanagedobject release] before completes. gives appearance of recursion, though guess second call other nsmanagedobject instance , no actual recursion occurring.

but cases in occur? name of preceding method in chain (object_cxxdestructfromclass), seems runtime deallocating class member-variables may exist. correct?

the job class have ivar field used keep transient reference nsmanagedobject instance, crash occurring when runtime attempts release instance referenced ivar (which, appear, has been released)?


Comments

Popular posts from this blog

c# - Binding a comma separated list to a List<int> in asp.net web api -

Delphi 7 and decode UTF-8 base64 -

html - Is there any way to exclude a single element from the style? (Bootstrap) -