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 (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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com