Re: App locking up in NSView call
Re: App locking up in NSView call
- Subject: Re: App locking up in NSView call
- From: Mike Silva <email@hidden>
- Date: Mon, 27 Sep 2010 16:49:31 -0400
I've attached the entire stack trace.
the code should not be drawing from multiple threads.
Here are the stacks of all the threads:
Thread 12 (process 145):
#0 0x961577da in mach_msg_trap ()
#1 0x96157f47 in mach_msg ()
#2 0x973f6dbf in __CFRunLoopRun ()
#3 0x973f5d34 in CFRunLoopRunSpecific ()
#4 0x973f5b61 in CFRunLoopRunInMode ()
#5 0x942c53e4 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] ()
#6 0x9431a3c8 in -[NSRunLoop(NSRunLoop) runUntilDate:] ()
#7 0x0076d167 in -[RPMMediaServerUtils serverLockThread:] ()
#8 0x9428b964 in -[NSThread main] ()
#9 0x9428b914 in __NSThread__main__ ()
#10 0x96184f39 in _pthread_start ()
#11 0x96184dbe in thread_start ()
Thread 11 (process 145):
#0 0x96176756 in select$DARWIN_EXTSN ()
#1 0x00a9cebf in frecv ()
#2 0x00a97197 in soap_recv_raw ()
#3 0x00a973a3 in soap_recv ()
#4 0x00aa9535 in soap_begin_recv ()
#5 0x00ac2e15 in soap_serve ()
#6 0x00ac528d in -[RPMSoapServer soapServe] ()
#7 0x9428b964 in -[NSThread main] ()
#8 0x9428b914 in __NSThread__main__ ()
#9 0x96184f39 in _pthread_start ()
#10 0x96184dbe in thread_start ()
Thread 10 (process 145):
#0 0x9617d092 in __workq_kernreturn ()
#1 0x9617d628 in _pthread_wqthread ()
#2 0x9617d246 in start_wqthread ()
Thread 9 (process 145):
#0 0x96185782 in __semwait_signal ()
#1 0x9618543e in _pthread_cond_wait ()
#2 0x961870d8 in pthread_cond_wait$UNIX2003 ()
#3 0x9591b108 in CVDisplayLink::runIOThread ()
#4 0x9591ad10 in startIOThread ()
#5 0x96184f39 in _pthread_start ()
#6 0x96184dbe in thread_start ()
Thread 8 (process 145):
#0 0x961577da in mach_msg_trap ()
#1 0x96157f47 in mach_msg ()
#2 0x973f6dbf in __CFRunLoopRun ()
#3 0x973f5d34 in CFRunLoopRunSpecific ()
#4 0x973f5b61 in CFRunLoopRunInMode ()
#5 0x942c53e4 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] ()
#6 0x942c52c1 in -[NSRunLoop(NSRunLoop) run] ()
#7 0x007beb03 in -[rpmStateReceiver startRegistrationThreadWithPorts:] ()
#8 0x9428b964 in -[NSThread main] ()
#9 0x9428b914 in __NSThread__main__ ()
#10 0x96184f39 in _pthread_start ()
#11 0x96184dbe in thread_start ()
Thread 7 (process 145):
#0 0x961577da in mach_msg_trap ()
#1 0x96157f47 in mach_msg ()
#2 0x973f6dbf in __CFRunLoopRun ()
#3 0x973f5d34 in CFRunLoopRunSpecific ()
#4 0x973f5b61 in CFRunLoopRunInMode ()
#5 0x942c53e4 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] ()
#6 0x9431a3c8 in -[NSRunLoop(NSRunLoop) runUntilDate:] ()
#7 0x00986266 in -[RPMQuartzSupport _launchTriggerThread] ()
#8 0x9428b964 in -[NSThread main] ()
#9 0x9428b914 in __NSThread__main__ ()
#10 0x96184f39 in _pthread_start ()
#11 0x96184dbe in thread_start ()
Thread 6 (process 145):
#0 0x961577da in mach_msg_trap ()
#1 0x96157f47 in mach_msg ()
#2 0x973f6dbf in __CFRunLoopRun ()
#3 0x973f5d34 in CFRunLoopRunSpecific ()
#4 0x973f5b61 in CFRunLoopRunInMode ()
#5 0x942c53e4 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] ()
#6 0x9431a3c8 in -[NSRunLoop(NSRunLoop) runUntilDate:] ()
#7 0x009865dc in -[RPMQuartzSupport _launchMCIClientThread] ()
#8 0x9428b964 in -[NSThread main] ()
#9 0x9428b914 in __NSThread__main__ ()
#10 0x96184f39 in _pthread_start ()
#11 0x96184dbe in thread_start ()
Thread 5 (process 145):
#0 0x961577da in mach_msg_trap ()
#1 0x96157f47 in mach_msg ()
#2 0x973f6dbf in __CFRunLoopRun ()
#3 0x973f5d34 in CFRunLoopRunSpecific ()
#4 0x973f5b61 in CFRunLoopRunInMode ()
#5 0x942c53e4 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] ()
#6 0x9431a3c8 in -[NSRunLoop(NSRunLoop) runUntilDate:] ()
#7 0x009863d9 in -[RPMQuartzSupport _launchSOAPClientThread] ()
#8 0x9428b964 in -[NSThread main] ()
#9 0x9428b914 in __NSThread__main__ ()
#10 0x96184f39 in _pthread_start ()
#11 0x96184dbe in thread_start ()
Thread 4 (process 145):
#0 0x96176756 in select$DARWIN_EXTSN ()
#1 0x9743604d in __CFSocketManager ()
#2 0x96184f39 in _pthread_start ()
#3 0x96184dbe in thread_start ()
Thread 3 (process 145):
#0 0x961577da in mach_msg_trap ()
#1 0x96157f47 in mach_msg ()
#2 0x973f6dbf in __CFRunLoopRun ()
#3 0x973f5d34 in CFRunLoopRunSpecific ()
#4 0x973f5b61 in CFRunLoopRunInMode ()
#5 0x942c53e4 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] ()
#6 0x942c52c1 in -[NSRunLoop(NSRunLoop) run] ()
#7 0x007c036f in -[rpmStateSender stateSenderClientThread:] ()
#8 0x9428b964 in -[NSThread main] ()
#9 0x9428b914 in __NSThread__main__ ()
#10 0x96184f39 in _pthread_start ()
#11 0x96184dbe in thread_start ()
Thread 2 (process 145):
#0 0x9617e03a in kevent ()
#1 0x9617e768 in _dispatch_mgr_invoke ()
#2 0x9617dbf9 in _dispatch_queue_invoke ()
#3 0x9617d98a in _dispatch_worker_thread2 ()
#4 0x9617d401 in _pthread_wqthread ()
#5 0x9617d246 in start_wqthread ()
Thread 1 (process 145):
#0 0x96185782 in __semwait_signal ()
#1 0x9618543e in _pthread_cond_wait ()
#2 0x961870d8 in pthread_cond_wait$UNIX2003 ()
#3 0x931d267d in CAViewEndDraw ()
#4 0x9226c686 in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#5 0x921ccf26 in -[NSView displayIfNeeded] ()
#6 0x92180bbd in -[NSNextStepFrame displayIfNeeded] ()
#7 0x92196292 in -[NSWindow displayIfNeeded] ()
#8 0x921c7764 in _handleWindowNeedsDisplay ()
#9 0x97439b02 in __CFRunLoopDoObservers ()
#10 0x973f665d in __CFRunLoopRun ()
#11 0x973f5d34 in CFRunLoopRunSpecific ()
#12 0x973f5b61 in CFRunLoopRunInMode ()
#13 0x96f7efec in RunCurrentEventLoopInMode ()
#14 0x96f7eda3 in ReceiveNextEventCommon ()
#15 0x96f7ec28 in BlockUntilNextEventMatchingListInMode ()
#16 0x9219dc95 in _DPSNextEvent ()
#17 0x9219d50a in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#18 0x9215f69b in -[NSApplication run] ()
#19 0x92157735 in NSApplicationMain ()
#20 0x00002aca in start ()
On Sep 27, 2010, at 4:44 PM, A.M. wrote:
>
> On Sep 27, 2010, at 4:38 PM, Mike Silva wrote:
>
>> We have a simple application with multiple NSView subclasses (like Buttons, TextFields, etc.) that are being updated every couple seconds with status information. After a couple days of running continuously the application will lock on this stack trace:
>>
>> Thread 1 (process 145):
>> #0 0x96185782 in __semwait_signal ()
>> #1 0x9618543e in _pthread_cond_wait ()
>> #2 0x961870d8 in pthread_cond_wait$UNIX2003 ()
>> #3 0x931d267d in CAViewEndDraw ()
>> #4 0x9226c686 in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
>> #5 0x921ccf26 in -[NSView displayIfNeeded] ()
>> #6 0x92180bbd in -[NSNextStepFrame displayIfNeeded] ()
>> #7 0x92196292 in -[NSWindow displayIfNeeded] ()
>> #8 0x921c7764 in _handleWindowNeedsDisplay ()
>> #9 0x97439b02 in __CFRunLoopDoObservers ()
>> #10 0x973f665d in __CFRunLoopRun ()
>> #11 0x973f5d34 in CFRunLoopRunSpecific ()
>> #12 0x973f5b61 in CFRunLoopRunInMode ()
>> #13 0x96f7efec in RunCurrentEventLoopInMode ()
>> #14 0x96f7eda3 in ReceiveNextEventCommon ()
>> #15 0x96f7ec28 in BlockUntilNextEventMatchingListInMode ()
>> #16 0x9219dc95 in _DPSNextEvent ()
>> #17 0x9219d50a in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
>> #18 0x9215f69b in -[NSApplication run] ()
>> #19 0x92157735 in NSApplicationMain ()
>> #20 0x00002aca in start ()
>
> You have a condition lock deadlock. You have not posted the full stack trace which can be obtained via "thread apply all bt". Some other thread is holding the lock and you need to determine which it is.
>
> Are you using NSView's ability to draw from different threads?
>
> Cheers,
> M
_______________________________________________
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