On Mar 21, 2016, at 11:23 AM, Steve Mills <sjmi...@mac.com> wrote:
> 
> On Mar 19, 2016, at 03:27 AM, Ken Thomases <k...@codeweavers.com> wrote:
> 
>> No. The main thread is blocked waiting for another Cocoa thread. It's 
>> waiting on an internal pthread condition variable.
>> 
>> There must be some other thread which is going to signal that condition 
>> variable under some circumstances. In all likelihood, that other thread is 
>> blocked on something else, so you have a pseudo-deadlock.
>> 
>> Show the backtrace of all threads. Or a sample report, which has similar 
>> information.

> * thread #1: tid = 0xf3b18, 0x00007fff89524136 
> libsystem_kernel.dylib`__psynch_cvwait + 10, queue = 'com.apple.main-thread', 
> stop reason = signal SIGSTOP
> * frame #0: 0x00007fff89524136 libsystem_kernel.dylib`__psynch_cvwait + 10
> frame #1: 0x00007fff8fa8b560 libsystem_pthread.dylib`_pthread_cond_wait + 693
> frame #2: 0x00007fff8dea323e AppKit`-[NSViewHierarchyLock 
> _lockForWriting:handler:] + 323

> thread #9: tid = 0xf3c4f, 0x00007fff8951f4de 
> libsystem_kernel.dylib`mach_msg_trap + 10, name = 'com.apple.appkit-heartbeat'
> frame #0: 0x00007fff8951f4de libsystem_kernel.dylib`mach_msg_trap + 10
> frame #1: 0x00007fff8951e64f libsystem_kernel.dylib`mach_msg + 55
> frame #2: 0x00007fff8f2c16d7 CoreGraphics`_CGSSynchronizeWindowBackingStore + 
> 110
> frame #3: 0x00007fff8f2850f7 CoreGraphics`CGSWindowSynchronizeBacking + 40
> frame #4: 0x00007fff8f284dd8 CoreGraphics`lock_window_backing + 910
> frame #5: 0x00007fff8f28491b CoreGraphics`CGSDeviceLock + 52
> frame #6: 0x00007fff87ca4f94 libRIP.A.dylib`ripd_Lock + 40
> frame #7: 0x00007fff87ca38dd libRIP.A.dylib`RIPLayerBltImage + 283
> frame #8: 0x00007fff87ca3591 libRIP.A.dylib`ripc_RenderImage + 265
> frame #9: 0x00007fff87ca9643 libRIP.A.dylib`ripc_EndLayer + 1204
> frame #10: 0x00007fff8f299517 CoreGraphics`CGContextEndTransparencyLayer + 53
> frame #11: 0x00007fff8824719a 
> CoreUI`CUICoreThemeRenderer::DrawProgressBar(CUIDescriptor const*) + 2904
> frame #12: 0x00007fff88242ea9 CoreUI`CUICoreThemeRenderer::Draw(CUIDescriptor 
> const*, CGAffineTransform, CUIReturnInfo&) + 405
> frame #13: 0x00007fff88216391 CoreUI`CUIRenderer::Draw(CGRect, CGContext*, 
> __CFDictionary const*, __CFDictionary const**) + 2275
> frame #14: 0x00007fff88252d6e CoreUI`CUIDraw + 217
> frame #15: 0x00007fff8ded8ada AppKit`__44-[NSAppearance 
> _drawInRect:context:options:]_block_invoke + 64
> frame #16: 0x00007fff8de46f6b AppKit`-[NSCompositeAppearance 
> _callCoreUIWithBlock:] + 183
> frame #17: 0x00007fff8ded8a93 AppKit`-[NSAppearance 
> _drawInRect:context:options:] + 127
> frame #18: 0x00007fff8e1d9e84 AppKit`-[NSProgressIndicator _drawBar:] + 498
> frame #19: 0x00007fff8e140787 AppKit`-[NSProgressIndicator heartBeat:] + 2091
> frame #20: 0x00007fff8e13fbc5 AppKit`-[NSUIHeartBeat _heartBeatThread:] + 1738

Thread 9 is apparently what's blocking your main thread.  It is animating a 
progress indicator.  I have encountered my own problems with this heartbeat 
thread deadlocking Cocoa.  (You are not encountering a deadlock, per se.)  You 
can try removing the progress indicator from your UI, turn off its animation, 
or configure it to not use threaded animation (set the usesThreadedAnimation 
property to false; you can do this in IB via user attributes).

Regards,
Ken


_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to