Comment 3 for bug 1038034

Revision history for this message
Andreas Franke (FMC) (andreas-franke) wrote :

Confirmed deadlock on clean SBCL 1.1.10.24-9304704 , with and without Jan's patch.
If it happens, the stuck thread looks like this:

Backtrace for: #<SB-THREAD:THREAD "T99" RUNNING {10045CE7C3}>
0: ("bogus stack frame")
1: ((FLET #:WITHOUT-INTERRUPTS-BODY-575 :IN SB-THREAD:CONDITION-WAIT))
2: (SB-THREAD:CONDITION-WAIT #<SB-THREAD:WAITQUEUE {10043774D3}> #<SB-THREAD:MUTEX (free) {10043774A3}> :TIMEOUT NIL)
3: ((FLET SB-THREAD::WITH-SYSTEM-MUTEX-THUNK :IN SB-THREAD:WAIT-ON-SEMAPHORE))
4: ((FLET #:WITHOUT-INTERRUPTS-BODY-520 :IN SB-THREAD::CALL-WITH-SYSTEM-MUTEX/ALLOW-WITH-INTERRUPTS))
5: (SB-THREAD::CALL-WITH-SYSTEM-MUTEX/ALLOW-WITH-INTERRUPTS #<CLOSURE (FLET SB-THREAD::WITH-SYSTEM-MUTEX-THUNK :IN SB-THREAD:WAIT-ON-SEMAPHORE) {7FFFDC4FE0CB}> #<SB-THREAD:MUTEX (free) {10043774A3}>)
6: (SB-THREAD:WAIT-ON-SEMAPHORE #S(SB-THREAD:SEMAPHORE :NAME NIL :%COUNT 1 :WAITCOUNT 40 :MUTEX #<SB-THREAD:MUTEX (free) {10043774A3}> :QUEUE #<SB-THREAD:WAITQUEUE {10043774D3}>) :TIMEOUT NIL :NOTIFICATION #S(SB-THREAD:SEMAPHORE-NOTIFICATION :%STATUS NIL))
7: ((FLET #:WITHOUT-INTERRUPTS-BODY-2 :IN #:G804))
8: ((FLET THREAD-TEST::CRITICAL :IN #:G804))
9: ((FLET THREAD-TEST::CRITICAL :IN #:G804)) [external]
10: ((FLET #:WITHOUT-INTERRUPTS-BODY-1120 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
11: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
12: ((FLET #:WITHOUT-INTERRUPTS-BODY-537 :IN SB-THREAD::CALL-WITH-MUTEX))
13: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {7FFFDC4FEC7B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THREAD "T99" RUNNING {10045CE7C3}>> NIL T NIL)
14: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "T99" RUNNING {10045CE7C3}> #S(SB-THREAD:SEMAPHORE :NAME "Thread setup semaphore" :%COUNT 0 :WAITCOUNT 0 :MUTEX #<SB-THREAD:MUTEX (free) {10045CE833}> :QUEUE #<SB-THREAD:WAITQUEUE {10045CE863}>) #<CLOSURE (FLET THREAD-TEST::CRITICAL :IN #:G804) {100437756B}> NIL NIL NIL NIL)
15: ("foreign function: call_into_lisp")
16: ("foreign function: new_thread_trampoline")