Closed Bug 623272 Opened 15 years ago Closed 15 years ago

Deadlock on my tm tip dogfood build

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: brendan, Assigned: brendan)

Details

changeset: 59784:22fc8e6cdc46 tag: tip user: Paul Biggar <pbiggar@mozilla.com> date: Tue Jan 04 12:10:15 2011 -0800 summary: Bug 588424 - Turn --enable-threadsafe (and JS_THREADSAFE) permanently on. (r=jimb) (gdb) thread apply all backtrace Thread 370 (process 71805): #0 0x00007fff83834f8a in __workq_kernreturn () #1 0x00007fff8383539c in _pthread_wqthread () #2 0x00007fff83835005 in start_wqthread () Thread 367 (process 71805): #0 0x00007fff8381b322 in semaphore_wait_signal_trap () #1 0x00007fff8382096d in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () #3 0x0000000100e0494e in nsProxyObjectManager::GetProxyForObject () Previous frame inner to this frame (gdb could not unwind past this frame) Thread 366 (process 71805): #0 0x00007fff8381b322 in semaphore_wait_signal_trap () #1 0x00007fff8382096d in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () #3 0x0000000100e0494e in nsProxyObjectManager::GetProxyForObject () Previous frame inner to this frame (gdb could not unwind past this frame) Thread 363 (process 71805): #0 0x00007fff8381b322 in semaphore_wait_signal_trap () #1 0x00007fff8382096d in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () #3 0x0000000100e0494e in nsProxyObjectManager::GetProxyForObject () Previous frame inner to this frame (gdb could not unwind past this frame) Thread 359 (process 71805): #0 0x00007fff8381b322 in semaphore_wait_signal_trap () #1 0x00007fff8382096d in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () #3 0x0000000100e0494e in nsProxyObjectManager::GetProxyForObject () Previous frame inner to this frame (gdb could not unwind past this frame) Thread 356 (process 71805): #0 0x00007fff8381b322 in semaphore_wait_signal_trap () #1 0x00007fff8382096d in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () #3 0x0000000100e0494e in nsProxyObjectManager::GetProxyForObject () Previous frame inner to this frame (gdb could not unwind past this frame) Thread 355 (process 71805): #0 0x00007fff8381b322 in semaphore_wait_signal_trap () #1 0x00007fff8382096d in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () #3 0x0000000100e0494e in nsProxyObjectManager::GetProxyForObject () Previous frame inner to this frame (gdb could not unwind past this frame) Thread 75 (process 71805): #0 0x00007fff8381b322 in semaphore_wait_signal_trap () #1 0x00007fff8382096d in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () #3 0x0000000100e03945 in nsProxyObject::Release () Previous frame inner to this frame (gdb could not unwind past this frame) Thread 45 (process 71805): #0 0x00007fff8385ee92 in select$DARWIN_EXTSN () #1 0x00007fff82fc6498 in __CFSocketManager () #2 0x00007fff83854536 in _pthread_start () #3 0x00007fff838543e9 in thread_start () Thread 34 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 33 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 26 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 22 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 21 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 20 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 19 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 18 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 17 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000100b0930e in nsCertVerificationThread::Run () #4 0x00007fff83854536 in _pthread_start () #5 0x00007fff838543e9 in thread_start () Thread 16 (process 71805): #0 0x00007fff8381b322 in semaphore_wait_signal_trap () #1 0x00007fff8382096d in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () Thread 14 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 13 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000102203567 in PR_Wait () #4 0x0000000100dfd317 in nsEventQueue::GetEvent () Thread 9 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x000000010220273b in pt_TimedWait () #3 0x000000010220345d in PR_WaitCondVar () #4 0x0000000100e02cea in TimerThread::Run () Cannot access memory at address 0xffffffff Previous frame inner to this frame (gdb could not unwind past this frame) Thread 8 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x000000010220273b in pt_TimedWait () #3 0x000000010220345d in PR_WaitCondVar () #4 0x0000000100975759 in XPCJSRuntime::WatchdogMain () Previous frame inner to this frame (gdb could not unwind past this frame) Thread 7 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000100f8d417 in js::GCHelperThread::threadLoop () Thread 5 (process 71805): #0 0x00007fff83855fca in __semwait_signal () #1 0x00007fff83859de1 in _pthread_cond_wait () #2 0x00000001022034fc in PR_WaitCondVar () #3 0x0000000100e0da69 in nsCycleCollectorRunner::Run () Thread 4 (process 71805): #0 0x00007fff8383416a in kevent () #1 0x0000000100e32d4e in kq_dispatch () #2 0x000000004000ffff in ?? () Thread 2 (process 71805): #0 0x00007fff8383416a in kevent () #1 0x00007fff8383603d in _dispatch_mgr_invoke () #2 0x00007fff83835d14 in _dispatch_queue_invoke () #3 0x00007fff8383583e in _dispatch_worker_thread2 () #4 0x00007fff83835168 in _pthread_wqthread () #5 0x00007fff83835005 in start_wqthread () Thread 1 (process 71805): #0 0x00007fff8381b316 in semaphore_wait_trap () #1 0x00007fff83820977 in pthread_mutex_lock () #2 0x0000000102203681 in PR_Lock () #3 0x0000000100e0494e in nsProxyObjectManager::GetProxyForObject () Previous frame inner to this frame (gdb could not unwind past this frame) Looks like JITed code on stack is hiding something. Thread 75 is implicated. I have this in gdb still, if someone can help me backtrace through the JITted code we may have the AB-BA culprits caught cold. /be
Assignee: general → brendan
xpcom proxy are still using a bit in necko, ssl, and a few toolkit things. I woudln't be terribly surprised if those created proxy to the main thread to some js component. In the threads making calls to nsProxyObjectManager::GetProxyForObject, do you have any locals or what line you're on?
Happened again yesterday, I really need to build certain files with -g in hope of getting full backtraces. /be
Haven't seen this in a while. /be
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.