Re: Core Animation Deadlock
Re: Core Animation Deadlock
- Subject: Re: Core Animation Deadlock
- From: Colin Cornaby <email@hidden>
- Date: Thu, 24 Apr 2008 19:38:43 -0700
It looks like NSUIHeartBeat could be attempting to lock something.
Although I could be wrong, it may not be related.
Here's the full stack trace across all threads.
(gdb) thread apply all bt
Thread 37 (process 13823 thread 0xf11b):
#0 0x958af506 in semaphore_timedwait_signal_trap ()
#1 0x958e184f in _pthread_cond_wait ()
#2 0x958e30d3 in pthread_cond_timedwait_relative_np ()
#3 0x90e5ae8c in -[NSCondition waitUntilDate:] ()
#4 0x90e5aca0 in -[NSConditionLock lockWhenCondition:beforeDate:] ()
#5 0x90e5ac05 in -[NSConditionLock lockWhenCondition:] ()
#6 0x900a9468 in -[NSUIHeartBeat _heartBeatThread:] ()
#7 0x90e14f1d in -[NSThread main] ()
#8 0x90e14ac4 in __NSThread__main__ ()
#9 0x958e06f5 in _pthread_start ()
#10 0x958e05b2 in thread_start ()
Thread 36 (process 13823 thread 0xf207):
#0 0x958af506 in semaphore_timedwait_signal_trap ()
#1 0x958e184f in _pthread_cond_wait ()
#2 0x958e30d3 in pthread_cond_timedwait_relative_np ()
#3 0x96dd52fe in TSWaitOnConditionTimedRelative ()
#4 0x96df5fc4 in MPWaitOnQueue ()
#5 0x918f99b8 in TFolderSizeTask::FolderSizeTaskProc ()
#6 0x96df455b in PrivateMPEntryPoint ()
#7 0x958e06f5 in _pthread_start ()
#8 0x958e05b2 in thread_start ()
Thread 35 (process 13823 thread 0xf513):
#0 0x958af506 in semaphore_timedwait_signal_trap ()
#1 0x958e184f in _pthread_cond_wait ()
#2 0x958e30d3 in pthread_cond_timedwait_relative_np ()
#3 0x96dd52fe in TSWaitOnConditionTimedRelative ()
#4 0x96df5fc4 in MPWaitOnQueue ()
#5 0x918f99b8 in TFolderSizeTask::FolderSizeTaskProc ()
#6 0x96df455b in PrivateMPEntryPoint ()
#7 0x958e06f5 in _pthread_start ()
#8 0x958e05b2 in thread_start ()
Thread 34 (process 13823 thread 0xcf57):
#0 0x958af506 in semaphore_timedwait_signal_trap ()
#1 0x958e184f in _pthread_cond_wait ()
#2 0x958e30d3 in pthread_cond_timedwait_relative_np ()
#3 0x96dd52fe in TSWaitOnConditionTimedRelative ()
#4 0x96df5fc4 in MPWaitOnQueue ()
#5 0x918f99b8 in TFolderSizeTask::FolderSizeTaskProc ()
#6 0x96df455b in PrivateMPEntryPoint ()
#7 0x958e06f5 in _pthread_start ()
#8 0x958e05b2 in thread_start ()
Thread 33 (process 13823 thread 0xe35f):
#0 0x958ff5e2 in select$DARWIN_EXTSN ()
#1 0x9110550f in __CFSocketManager ()
#2 0x958e06f5 in _pthread_start ()
#3 0x958e05b2 in thread_start ()
Thread 32 (process 13823 thread 0xdc07):
#0 0x958dff66 in kevent ()
#1 0x910cf39f in __monitor_file_descriptor__ ()
#2 0x958e06f5 in _pthread_start ()
#3 0x958e05b2 in thread_start ()
Thread 31 (process 13823 thread 0xce57):
#0 0x958af506 in semaphore_timedwait_signal_trap ()
#1 0x958e184f in _pthread_cond_wait ()
#2 0x958e30d3 in pthread_cond_timedwait_relative_np ()
#3 0x96dd52fe in TSWaitOnConditionTimedRelative ()
#4 0x96df5fc4 in MPWaitOnQueue ()
#5 0x918ff3bb in TPropertyTask::PropertyTaskProc ()
#6 0x96df455b in PrivateMPEntryPoint ()
#7 0x958e06f5 in _pthread_start ()
#8 0x958e05b2 in thread_start ()
Thread 30 (process 13823 thread 0xc657):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x96df6347 in TSWaitOnCondition ()
#4 0x96dd52d2 in TSWaitOnConditionTimedRelative ()
#5 0x96df5fc4 in MPWaitOnQueue ()
#6 0x918f7a6e in TNodeSyncTask::SyncTaskProc ()
#7 0x96df455b in PrivateMPEntryPoint ()
#8 0x958e06f5 in _pthread_start ()
#9 0x958e05b2 in thread_start ()
Thread 29 (process 13823 thread 0xb803):
#0 0x958af4a6 in mach_msg_trap ()
#1 0x958b6c9c in mach_msg ()
#2 0x910fa0be in CFRunLoopRunSpecific ()
#3 0x910fad54 in CFRunLoopRun ()
#4 0x918ec5dc in
TFSEventsNotificationTask::FSEventsNotificationTaskProc ()
#5 0x96df455b in PrivateMPEntryPoint ()
#6 0x958e06f5 in _pthread_start ()
#7 0x958e05b2 in thread_start ()
Thread 28 (process 13823 thread 0xb407):
#0 0x958af4a6 in mach_msg_trap ()
#1 0x958b6c9c in mach_msg ()
#2 0x910fa0be in CFRunLoopRunSpecific ()
#3 0x910fad54 in CFRunLoopRun ()
#4 0x918ec463 in TSystemNotificationTask::SystemNotificationTaskProc ()
#5 0x96df455b in PrivateMPEntryPoint ()
#6 0x958e06f5 in _pthread_start ()
#7 0x958e05b2 in thread_start ()
Thread 27 (process 13823 thread 0xb203):
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Thread 26 (process 13823 thread 0x320f):
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Thread 25 (process 13823 thread 0x5e0f):
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Thread 24 (process 13823 thread 0x5d1b):
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Thread 23 (process 13823 thread 0x7e0b):
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Thread 22 (process 13823 thread 0xb007):
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Thread 21 (process 13823 thread 0x7c47):
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Thread 20 (process 13823 thread 0xaf27):
#0 0x9591907a in __workq_ops ()
#1 0x9591a772 in workqueue_exit ()
#2 0x959190aa in start_wqthread ()
Thread 19 (process 13823 thread 0xaa03):
#0 0x958af4a6 in mach_msg_trap ()
#1 0x958b6c9c in mach_msg ()
#2 0x910fa0be in CFRunLoopRunSpecific ()
#3 0x910facf8 in CFRunLoopRunInMode ()
#4 0x97221dc7 in -[IMRemoteObjectBroadcaster _workerThread] ()
#5 0x90e14f1d in -[NSThread main] ()
#6 0x90e14ac4 in __NSThread__main__ ()
#7 0x958e06f5 in _pthread_start ()
#8 0x958e05b2 in thread_start ()
Thread 18 (process 13823 thread 0x9403):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x90aa7e51 in fe_fragment_thread ()
#4 0x958e06f5 in _pthread_start ()
#5 0x958e05b2 in thread_start ()
Thread 17 (process 13823 thread 0x9303):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x90aa7e51 in fe_fragment_thread ()
#4 0x958e06f5 in _pthread_start ()
#5 0x958e05b2 in thread_start ()
Thread 16 (process 13823 thread 0x9203):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x90aa7e51 in fe_fragment_thread ()
#4 0x958e06f5 in _pthread_start ()
#5 0x958e05b2 in thread_start ()
Thread 15 (process 13823 thread 0x9103):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x90aa7e51 in fe_fragment_thread ()
#4 0x958e06f5 in _pthread_start ()
#5 0x958e05b2 in thread_start ()
Thread 14 (process 13823 thread 0x8f0f):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x90aa7e51 in fe_fragment_thread ()
#4 0x958e06f5 in _pthread_start ()
#5 0x958e05b2 in thread_start ()
Thread 13 (process 13823 thread 0x900f):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x90aa7e51 in fe_fragment_thread ()
#4 0x958e06f5 in _pthread_start ()
#5 0x958e05b2 in thread_start ()
Thread 12 (process 13823 thread 0x8e07):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x90aa7e51 in fe_fragment_thread ()
#4 0x958e06f5 in _pthread_start ()
#5 0x958e05b2 in thread_start ()
Thread 11 (process 13823 thread 0x8803):
#0 0x90a27d9c in CARenderLayerDepthSortSublayers ()
#1 0x90a27611 in prepare_layer0 ()
#2 0x90a27597 in prepare_layer0 ()
#3 0x90a27597 in prepare_layer0 ()
#4 0x90a26dd4 in CARenderUpdateAddContext ()
#5 0x90a25f72 in view_draw ()
#6 0x90a34f60 in view_display_link ()
#7 0x90a26936 in link_callback ()
#8 0x94cc1015 in CVDisplayLink::performIO ()
#9 0x94cc1641 in CVDisplayLink::runIOThread ()
#10 0x958e06f5 in _pthread_start ()
#11 0x958e05b2 in thread_start ()
Thread 10 (process 13823 thread 0x6703):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x964f1460 in pthreadSemaphoreWait ()
#4 0x96503d92 in CMMConvTask ()
#5 0x958e06f5 in _pthread_start ()
#6 0x958e05b2 in thread_start ()
Thread 9 (process 13823 thread 0x6603):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x964f1460 in pthreadSemaphoreWait ()
#4 0x96503d92 in CMMConvTask ()
#5 0x958e06f5 in _pthread_start ()
#6 0x958e05b2 in thread_start ()
Thread 8 (process 13823 thread 0x6503):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x964f1460 in pthreadSemaphoreWait ()
#4 0x96503d92 in CMMConvTask ()
#5 0x958e06f5 in _pthread_start ()
#6 0x958e05b2 in thread_start ()
Thread 7 (process 13823 thread 0x6403):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x964f1460 in pthreadSemaphoreWait ()
#4 0x96503d92 in CMMConvTask ()
#5 0x958e06f5 in _pthread_start ()
#6 0x958e05b2 in thread_start ()
Thread 6 (process 13823 thread 0x6303):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x964f1460 in pthreadSemaphoreWait ()
#4 0x96503d92 in CMMConvTask ()
#5 0x958e06f5 in _pthread_start ()
#6 0x958e05b2 in thread_start ()
Thread 5 (process 13823 thread 0x6203):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x964f1460 in pthreadSemaphoreWait ()
#4 0x96503d92 in CMMConvTask ()
#5 0x958e06f5 in _pthread_start ()
#6 0x958e05b2 in thread_start ()
Thread 4 (process 13823 thread 0x610b):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x964f1460 in pthreadSemaphoreWait ()
#4 0x96503d92 in CMMConvTask ()
#5 0x958e06f5 in _pthread_start ()
#6 0x958e05b2 in thread_start ()
Thread 3 (process 13823 thread 0x590b):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x90e5ca02 in -[NSCondition wait] ()
#4 0x90e1539a in -[NSObject(NSThreadPerformAdditions)
performSelector:onThread:withObject:waitUntilDone:modes:] ()
#5 0x90e689b8 in -[NSObject(NSThreadPerformAdditions)
performSelectorOnMainThread:withObject:waitUntilDone:] ()
#6 0x9672a38e in -[IKTaskManager taskLoop] ()
#7 0x90e14f1d in -[NSThread main] ()
#8 0x90e14ac4 in __NSThread__main__ ()
#9 0x958e06f5 in _pthread_start ()
#10 0x958e05b2 in thread_start ()
Thread 2 (process 13823 thread 0x4607):
#0 0x958b668e in __semwait_signal ()
#1 0x958e1986 in _pthread_cond_wait ()
#2 0x958e136d in pthread_cond_wait$UNIX2003 ()
#3 0x91bca432 in glvmDoWork ()
#4 0x958e06f5 in _pthread_start ()
#5 0x958e05b2 in thread_start ()
Thread 1 (process 13823 local thread 0x2e23):
#0 0x958af4ee in semaphore_wait_signal_trap ()
#1 0x958b6fc5 in pthread_mutex_lock ()
#2 0x909f8d72 in CAContextCommitTransaction ()
#3 0x909f89bd in CATransactionCommit ()
#4 0x90375351 in -[NSView(NSLayerKitGlue) _drawRectAsLayerTree:] ()
#5 0x9010ab1e in -[NSView _drawRect:clip:] ()
#6 0x901091ed in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:] ()
#7 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:] ()
#8 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:] ()
#9 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:] ()
#10 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:] ()
#11 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:] ()
#12 0x9010870b in -[NSThemeFrame
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:] ()
#13 0x9010522f in -[NSView
_displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#14 0x90045c87 in -[NSView displayIfNeeded] ()
#15 0x90045835 in -[NSWindow displayIfNeeded] ()
#16 0x90045658 in _handleWindowNeedsDisplay ()
#17 0x910f89a2 in __CFRunLoopDoObservers ()
#18 0x910f9d05 in CFRunLoopRunSpecific ()
#19 0x910facf8 in CFRunLoopRunInMode ()
#20 0x9159fda4 in RunCurrentEventLoopInMode ()
#21 0x9159faf6 in ReceiveNextEventCommon ()
#22 0x9159fa31 in BlockUntilNextEventMatchingListInMode ()
#23 0x900434fd in _DPSNextEvent ()
#24 0x90042db0 in -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#25 0x9003bdeb in -[NSApplication run] ()
#26 0x90009028 in NSApplicationMain ()
#27 0x00007401 in main (argc=1, argv=0xbffff700) at /Users/
colincornaby/Documents/Software Projects/Fuse/main.m:13
On Apr 24, 2008, at 7:30 PM, John Stiles wrote:
You could also show any other thread stuck trying to lock a mutex? I
assume there's another thread holding this lock or stuck trying to
lock something else.
Colin Cornaby wrote:
Hi,
I'm currently trying to track down a deadlock. After adding a
series of layers, CoreAnimation deadlocks here on the main thread:
#0 0x958af4ee in semaphore_wait_signal_trap
#1 0x958b6fc5 in pthread_mutex_lock
#2 0x909f8d72 in CAContextCommitTransaction
#3 0x909f89bd in CATransactionCommit
#4 0x90375351 in -[NSView(NSLayerKitGlue) _drawRectAsLayerTree:]
#5 0x9010ab1e in -[NSView _drawRect:clip:]
#6 0x901091ed in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:]
#7 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:]
#8 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:]
#9 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:]
#10 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:]
#11 0x90109c23 in -[NSView
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:]
#12 0x9010870b in -[NSThemeFrame
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView
:]
#13 0x9010522f in -[NSView
_displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
#14 0x90045c87 in -[NSView displayIfNeeded]
#15 0x90045835 in -[NSWindow displayIfNeeded]
#16 0x90045658 in _handleWindowNeedsDisplay
#17 0x910f89a2 in __CFRunLoopDoObservers
#18 0x910f9d05 in CFRunLoopRunSpecific
#19 0x910facf8 in CFRunLoopRunInMode
#20 0x9159fda4 in RunCurrentEventLoopInMode
#21 0x9159faf6 in ReceiveNextEventCommon
#22 0x9159fa31 in BlockUntilNextEventMatchingListInMode
#23 0x900434fd in _DPSNextEvent
#24 0x90042db0 in -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:]
#25 0x9003bdeb in -[NSApplication run]
#26 0x90009028 in NSApplicationMain
#27 0x00007401 in main at main.m:13
There are a bunch of other threads, too many to reasonably list in
a message to the list.
While I continue debugging and trying to track down what I'm doing
that starts the deadlock, does anyone have any general ideas on
where it would be best to look?
Thanks,
Colin
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden