I've gotten the strangest hang yet.
It's hanging inside of Player::EventServiceThreadfunc, at
pP->m_eventSem->Wait().
The kicker is that there are no other threads alive that even
reference that semaphore! In fact, the only place that this
particular variable is used is player.cpp.
a (long) backtrace follows.
(gdb) set height 0
(gdb) thr ap al bt
Thread 14 (Thread 4 (LWP 6)):
#0 0xff115c90 in _poll () from /usr/lib/libc.so.1
#1 0xff0ce674 in select () from /usr/lib/libc.so.1
#2 0xff04b1d4 in select () from /usr/lib/libthread.so.1
#3 0xff2f3514 in _XRead () from /usr/openwin/lib/libX11.so.4
#4 0xff2f7e58 in _XReadEvents () from /usr/openwin/lib/libX11.so.4
#5 0xff2f445c in XNextEvent () from /usr/openwin/lib/libX11.so.4
#6 0xfe5325ec in FreeAmpUI::X11EventService (this=0x8cb08)
at ui/freeamp/unix/src/freeamp.cpp:545
#7 0xfe532528 in FreeAmpUI::x11ServiceFunction (p=0x8cb08)
at ui/freeamp/unix/src/freeamp.cpp:509
#8 0x417d0 in solarisThread::InternalThreadFunction (this=0x0)
at base/unix/solaris/src/solaristhread.cpp:78
#9 0x417a8 in solarisThread::internalThreadFunction (arg=0x87768)
at base/unix/solaris/src/solaristhread.cpp:64
Thread 13 (LWP 13 ):
#0 0xff11501c in door_restart () from /usr/lib/libc.so.1
Thread 12 (LWP 12 ):
#0 0xff117a28 in ___lwp_cond_wait () from /usr/lib/libc.so.1
#1 0xff10f7c0 in _lwp_cond_timedwait () from /usr/lib/libc.so.1
#2 0xff03a730 in _age () from /usr/lib/libthread.so.1
Thread 11 (LWP 11 ):
#0 0xff117a28 in ___lwp_cond_wait () from /usr/lib/libc.so.1
#1 0xff10f7c0 in _lwp_cond_timedwait () from /usr/lib/libc.so.1
#2 0xff03a730 in _age () from /usr/lib/libthread.so.1
Thread 10 (LWP 10 ):
#0 0xff117a28 in ___lwp_cond_wait () from /usr/lib/libc.so.1
#1 0xff10f7c0 in _lwp_cond_timedwait () from /usr/lib/libc.so.1
#2 0xff03a730 in _age () from /usr/lib/libthread.so.1
Thread 9 (LWP 9 ):
#0 0xff117a28 in ___lwp_cond_wait () from /usr/lib/libc.so.1
#1 0xff10f7c0 in _lwp_cond_timedwait () from /usr/lib/libc.so.1
#2 0xff03a730 in _age () from /usr/lib/libthread.so.1
Thread 8 (LWP 8 ):
#0 0xff117a28 in ___lwp_cond_wait () from /usr/lib/libc.so.1
#1 0xff10f7c0 in _lwp_cond_timedwait () from /usr/lib/libc.so.1
#2 0xff03a730 in _age () from /usr/lib/libthread.so.1
Thread 7 (LWP 7 ):
#0 0xff117a28 in ___lwp_cond_wait () from /usr/lib/libc.so.1
#1 0xff10f7c0 in _lwp_cond_timedwait () from /usr/lib/libc.so.1
#2 0xff03a730 in _age () from /usr/lib/libthread.so.1
Thread 6 (LWP 6 ):
#0 0xff115c90 in _poll () from /usr/lib/libc.so.1
#1 0xff0ce674 in select () from /usr/lib/libc.so.1
#2 0xff04b1d4 in select () from /usr/lib/libthread.so.1
#3 0xff2f3514 in _XRead () from /usr/openwin/lib/libX11.so.4
#4 0xff2f7e58 in _XReadEvents () from /usr/openwin/lib/libX11.so.4
#5 0xff2f445c in XNextEvent () from /usr/openwin/lib/libX11.so.4
#6 0xfe5325ec in FreeAmpUI::X11EventService (this=0x8cb08)
at ui/freeamp/unix/src/freeamp.cpp:545
#7 0xfe532528 in FreeAmpUI::x11ServiceFunction (p=0x8cb08)
at ui/freeamp/unix/src/freeamp.cpp:509
#8 0x417d0 in solarisThread::InternalThreadFunction (this=0x0)
at base/unix/solaris/src/solaristhread.cpp:78
#9 0x417a8 in solarisThread::internalThreadFunction (arg=0x87768)
at base/unix/solaris/src/solaristhread.cpp:64
Thread 5 (LWP 5 ):
#0 0xff117a28 in ___lwp_cond_wait () from /usr/lib/libc.so.1
#1 0xff10f7c0 in _lwp_cond_timedwait () from /usr/lib/libc.so.1
#2 0xff03a730 in _age () from /usr/lib/libthread.so.1
Thread 4 (LWP 4 ):
#0 0xff117544 in _sigsuspend () from /usr/lib/libc.so.1
#1 0xff0499f4 in sigsuspend () from /usr/lib/libthread.so.1
#2 0xff0d6c44 in _usleep () from /usr/lib/libc.so.1
#3 0xff04b274 in usleep () from /usr/lib/libthread.so.1
#4 0x417d0 in solarisThread::InternalThreadFunction (this=0x0)
at base/unix/solaris/src/solaristhread.cpp:78
#5 0x417a8 in solarisThread::internalThreadFunction (arg=0x87790)
at base/unix/solaris/src/solaristhread.cpp:64
Thread 3 (LWP 3 ):
#0 0xff117a74 in _lwp_sema_wait () from /usr/lib/libc.so.1
#1 0xff03b04c in _park () from /usr/lib/libthread.so.1
#2 0xff03ad40 in _swtch () from /usr/lib/libthread.so.1
#3 0xff039a00 in cond_wait () from /usr/lib/libthread.so.1
#4 0xff039924 in pthread_cond_wait () from /usr/lib/libthread.so.1
#5 0x41b5c in Semaphore::Wait (this=0x886e8)
at base/unix/solaris/src/semaphore.cpp:50
#6 0x313c8 in Player::EventServiceThreadFunc (pPlayer=0x885a0)
at base/src/player.cpp:585
#7 0x417d0 in solarisThread::InternalThreadFunction (this=0x0)
at base/unix/solaris/src/solaristhread.cpp:78
#8 0x417a8 in solarisThread::internalThreadFunction (arg=0x877b8)
at base/unix/solaris/src/solaristhread.cpp:64
Thread 2 (LWP 2 ):
#0 0xff117444 in _signotifywait () from /usr/lib/libc.so.1
#1 0xff03f598 in _dynamiclwps () from /usr/lib/libthread.so.1
Thread 1 (LWP 1 ):
#0 0xff117a28 in ___lwp_cond_wait () from /usr/lib/libc.so.1
#1 0xff10f7c0 in _lwp_cond_timedwait () from /usr/lib/libc.so.1
#2 0xff03a730 in _age () from /usr/lib/libthread.so.1
#0 0xff115c90 in _poll () from /usr/lib/libc.so.1
(gdb)