Ticket #21935 (new defect)
ogg123 doesn't quit - version 1.2.0
|Reported by:||jpschewe@…||Owned by:||rmstonecipher@…|
Description (last modified by macsforever2000@…) (diff)
This appears to be the same problem as ticket:5024. I just upgraded to Snow Leopard and reinstalled all of my ports "port uninstall installed; port install <those I care about>".
When ogg123 finishes a file, it doesn't exit, nor can I kill it will ctrl-c or kill -15, I need to use kill -9. Ctrl-z doesn't suspend it either. I suspect there's a deadlock in the signal handler.
Here is the inspection trace from activitity monitor:
Sampling process 26021 for 3 seconds with 1 millisecond of run time between samples Sampling completed, processing symbols... Analysis of sampling ogg123 (pid 26021) every 1 millisecond Call graph: 2494 Thread_1327455 DispatchQueue_1: com.apple.main-thread (serial) 2494 start 2494 main 2494 exit 2494 __cxa_finalize 2494 ao_onexit 2494 close_audio_devices 2494 ao_close 2494 ao_plugin_close 2494 _pthread_cond_wait 2494 __semwait_signal 2494 Thread_1327461 DispatchQueue_2: com.apple.libdispatch-manager (serial) 2494 start_wqthread 2494 _pthread_wqthread 2494 _dispatch_worker_thread2 2494 _dispatch_queue_invoke 2494 _dispatch_mgr_invoke 2494 kevent Total number in stack (recursive counted multiple, when >=5): Sort by top of stack, same collapsed (when >= 5): __semwait_signal 2494 kevent 2494 Sample analysis of process 26021 written to file /dev/stdout
Here is the trace from gdb:
Undefined command: "thread-list". Try "help". (gdb) info threads 2 port# 0x2a03 0x00007fff8437fb16 in kevent () * 1 port# 0x903 0x00007fff843a19c6 in __semwait_signal () (gdb) bt #0 0x00007fff843a19c6 in __semwait_signal () #1 0x00007fff843a5801 in _pthread_cond_wait () #2 0x00000001003c514b in ao_plugin_close () #3 0x00000001000618d9 in ao_close () #4 0x000000010000110e in close_audio_devices () #5 0x0000000100001141 in ao_onexit () #6 0x00007fff8437927f in __cxa_finalize () #7 0x00007fff8437918c in exit () #8 0x0000000100005e35 in main () (gdb) thread 2 [Switching to thread 2 (process 26021)] 0x00007fff8437fb16 in kevent () (gdb) bt #0 0x00007fff8437fb16 in kevent () #1 0x00007fff84381a19 in _dispatch_mgr_invoke () #2 0x00007fff843816d6 in _dispatch_queue_invoke () #3 0x00007fff843811f6 in _dispatch_worker_thread2 () #4 0x00007fff84380b28 in _pthread_wqthread () #5 0x00007fff843809c5 in start_wqthread ()
I've also noticed that when xemacs execs a process xemacs locks up. Perhaps there is is a common problem between the two and how threads are handled in Snow Leopard.