[MacPorts] #21935: ogg123 doesn't quit - version 1.2.0

MacPorts noreply at macports.org
Thu Oct 8 08:55:40 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:                                       
--------------------------------+-------------------------------------------
Description changed by macsforever2000@…:

Old description:

> 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.

New description:

 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.

--

-- 
Ticket URL: <http://trac.macports.org/ticket/21935#comment:2>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list