[MacPorts] #21935: ogg123 doesn't quit - version 1.2.0
MacPorts
noreply at macports.org
Thu Oct 8 08:42:21 PDT 2009
#21935: ogg123 doesn't quit - version 1.2.0
--------------------------------+-------------------------------------------
Reporter: jpschewe@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 1.8.1
Keywords: | Port:
--------------------------------+-------------------------------------------
Comment(by jpschewe@…):
Reformatted:
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:
{{{
(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.
--
Ticket URL: <http://trac.macports.org/ticket/21935#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list