gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Trying to understand NSOperation


From: Banlu Kemiyatorn
Subject: Re: Trying to understand NSOperation
Date: Sat, 5 Mar 2011 05:20:57 +0700

When NSOperation finish in -_finish
it didChangeValueForKey:@"isFinished" (525)
in NSKeyValueObserving.m:1739 it [pathInfo notifyForKey: aKey
ofInstance: [info instance] prior: NO];
which make it be removed from the op queue and deallocated at NSOperation.m:902
and crash at NSKeyValueObserving.m:1748

should retaining and releasing self around _finish?

bts below

#0  -[TMOperation dealloc] (self=0x83f7c90, _cmd=0xb7afffc8) at TMOperation.m:51
#1  0xb7876864 in -[NSObject release] (self=0x83f7c90,
_cmd=0xb7af5f90) at NSObject.m:1808
#2  0xb7852fd5 in -[NSObject(NSKeyValueObserverNotification)
didChangeValueForKey:] (self=0x83f7c90, _cmd=0xb7b014b8,
aKey=0xb7b017dc)
    at NSKeyValueObserving.m:1752
#3  0xb78776a2 in -[NSOperation(Private) _finish] (self=0x83f7c90,
_cmd=0xb7fde3c0) at NSOperation.m:525
#4  0xb7fda119 in -[TMOperation _finish] (self=0x83f7c90,
_cmd=0xb7b01568) at TMOperation.m:46
#5  0xb787a420 in -[NSOperationQueue(Private) _thread]
(self=0x81e2708, _cmd=0xb7b01688) at NSOperation.m:974
#6  0xb7874cb0 in -[NSObject performSelector:withObject:]
(self=0x81e2708, _cmd=0xb7b1ada8, aSelector=0xb7b01688, anObject=0x0)
at NSObject.m:1763
#7  0xb78e317a in -[NSThread main] (self=0x82def80, _cmd=0xb7b1adb0)
at NSThread.m:729
#8  0xb78e37a1 in nsthreadLauncher (thread=0x82def80) at NSThread.m:792
#9  0xb76aecc9 in start_thread () from /lib/libpthread.so.0
#10 0xb75bc69e in clone () from /lib/libc.so.6
(gdb) cont
Continuing.
2011-03-05 05:11:50.582 Threadmill[18850] out

Program received signal SIGSEGV, Segmentation fault.
0xb769cf7e in objc_msg_lookup_internal (receiver=0x83f7c90,
selector=0xb7b014b8) at sendmsg2.c:53
53              Slot_t result = objc_dtable_lookup((*receiver)->isa->dtable,
(gdb) b
Breakpoint 2 at 0xb769cf7e: file sendmsg2.c, line 53.
(gdb) bt
#0  0xb769cf7e in objc_msg_lookup_internal (receiver=0x83f7c90,
selector=0xb7b014b8) at sendmsg2.c:53
#1  objc_msg_lookup (receiver=0x83f7c90, selector=0xb7b014b8) at sendmsg2.c:334
#2  0xb78776b1 in -[NSOperation(Private) _finish] (self=0x83f7c90,
_cmd=0xb7fde3c0) at NSOperation.m:526
#3  0xb7fda119 in -[TMOperation _finish] (self=0x83f7c90,
_cmd=0xb7b01568) at TMOperation.m:46
#4  0xb787a420 in -[NSOperationQueue(Private) _thread]
(self=0x81e2708, _cmd=0xb7b01688) at NSOperation.m:974
#5  0xb7874cb0 in -[NSObject performSelector:withObject:]
(self=0x81e2708, _cmd=0xb7b1ada8, aSelector=0xb7b01688, anObject=0x0)
at NSObject.m:1763
#6  0xb78e317a in -[NSThread main] (self=0x82def80, _cmd=0xb7b1adb0)
at NSThread.m:729
#7  0xb78e37a1 in nsthreadLauncher (thread=0x82def80) at NSThread.m:792
#8  0xb76aecc9 in start_thread () from /lib/libpthread.so.0
#9  0xb75bc69e in clone () from /lib/libc.so.6



reply via email to

[Prev in Thread] Current Thread [Next in Thread]