NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/40243: audio hanging and not working



>Number:         40243
>Category:       kern
>Synopsis:       audio hanging and not working
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 21 05:15:01 +0000 2008
>Originator:     reed%reedmedia.net@localhost
>Release:        NetBSD 4.99.73 and 5.0_BETA
>Organization:
  Jeremy C. Reed
>Environment:
        
        
Architecture: x86_64
Machine: amd64
>Description:
Attempting to play audio hangs program. If on an xterm, that console is hung
too.

I first reported this in June and again in July. Today I tried
and still had same problem with today's 5.0_BETA.

The following is my email from July sent to current-users with details:

Date: Fri, 4 Jul 2008 15:48:59 -0500 (CDT)
From: Jeremy C. Reed <reed%reedmedia.net@localhost>
To: Andrew Doran <ad%netbsd.org@localhost>
Cc: current-users%netbsd.org@localhost
Subject: Re: ogg123 hanging, parked, and _lwp_park

On Tue, 1 Jul 2008, Andrew Doran wrote:

> >   2985      1 ogg123   CALL  _lwp_park(0,0,0x7f7ffa713028,0x7f7ffa713028)
> >   2985      2 ogg123   CALL  write(4,0x7f7ffa729340,0x4000)
> 
> It looks like an application bug. You can generate a core file from it and
> then try to get a backtrace of the thread that is sleeping, and debug it
> that way.
> 
> (gdb) info threads
> (gdb) thread X
> (gdb) bt
> 
> or
> 
> (gdb) thread apply all bt

Thank you for the reply (and education as I have never used gdb that way).

I reinstalled some software not stripped; I see in ogg123:
#0  0x00007f7ffac3325a in _lwp_park () from /usr/lib/libc.so.12
(gdb) thread apply all bt

Thread 2 (process 131484):
#0  0x00007f7ffac3261a in write () from /usr/lib/libc.so.12
#1  0x00007f7ffd606733 in write () from /usr/lib/libpthread.so.0
#2  0x00007f7ffa500d43 in ao_plugin_play ()
   from /usr/pkg/lib/ao/plugins-2/liboss.so
#3  0x0000000000403c4a in audio_devices_write ()
#4  0x0000000000405554 in audio_play_callback ()
#5  0x0000000000404bb2 in buffer_thread_func ()
#6  0x00007f7ffd60b482 in pthread_create () from /usr/lib/libpthread.so.0
#7  0x00007f7ffac53560 in swapcontext () from /usr/lib/libc.so.12
Cannot access memory at address 0x7f7ffa200000

Thread 1 (process 65948):
#0  0x00007f7ffac3325a in _lwp_park () from /usr/lib/libc.so.12
#1  0x00007f7ffd6095b4 in pthread_cond_wait () from 
/usr/lib/libpthread.so.0
#2  0x00000000004041c0 in submit_data_chunk ()
#3  0x0000000000407a32 in play ()
#4  0x0000000000407f86 in main ()

I couldn't figure out how to kill -QUIT my xfmedia process to get core 
dump. So no details from it.

I also had hanging audioplay and mpg321 which aren't threaded:

#0  0x00007f7ffd93261a in write () from /usr/lib/libc.so.12
#1  0x0000000000401781 in play_fd ()
#2  0x0000000000401911 in play ()
#3  0x0000000000401f74 in main ()

...

Core was generated by `mpg321'.
Program terminated with signal 3, Quit.
#0  0x00007f7ffd33261a in write () from /usr/lib/libc.so.12
(gdb) bt
#0  0x00007f7ffd33261a in write () from /usr/lib/libc.so.12
#1  0x00007f7ffd106733 in write () from /usr/lib/libpthread.so.0
#2  0x00007f7ffce00d43 in ao_plugin_play ()
   from /usr/pkg/lib/ao/plugins-2/liboss.so
#3  0x0000000000404b78 in ?? ()
#4  0x00007f7ffda05b96 in run_sync () from /usr/pkg/lib/libmad.so.0
#5  0x00007f7ffda05a18 in mad_decoder_run () from /usr/pkg/lib/libmad.so.0

Maybe it is my audio that has problems. I can't hear anything. And 
anything that uses it appears to hang.

auixp0 at pci0 dev 20 function 5: vendor 0x1002 product 0x4370 (rev. 0x02)
auixp0: interrupting at ioapic0 pin 17
auixp0: soft resetting aclink
auixp0: ac97: Conexant CXT48 codec; reserved, headphone, 18 bit DAC, 18 
bit ADC, no 3D stereo
auixp0: ac97: ext id a04<AC97_23,AMAP,SPDIF>
audio0 at auixp0: full duplex, mmap, independent
auixp0: codec spdif support detected but disabled for now
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex

The following is a ktrace of an audioplay that just hangs until I press 
Ctrl-C:

 27762      1 ktrace   EMUL  "netbsd"
 27762      1 ktrace   RET   ktrace 0
 27762      1 ktrace   CALL  
execve(0x7f7fffffd760,0x7f7fffffdc58,0x7f7fffffdc78)
 27762      1 ktrace   NAMI  "/home/reed/bin/audioplay"
 27762      1 ktrace   RET   execve -1 errno 2 No such file or directory
 27762      1 ktrace   CALL  
execve(0x7f7fffffd760,0x7f7fffffdc58,0x7f7fffffdc78)
 27762      1 ktrace   NAMI  "/bin/audioplay"
 27762      1 ktrace   RET   execve -1 errno 2 No such file or directory
 27762      1 ktrace   CALL  
execve(0x7f7fffffd760,0x7f7fffffdc58,0x7f7fffffdc78)
 27762      1 ktrace   NAMI  "/sbin/audioplay"
 27762      1 ktrace   RET   execve -1 errno 2 No such file or directory
 27762      1 ktrace   CALL  
execve(0x7f7fffffd760,0x7f7fffffdc58,0x7f7fffffdc78)
 27762      1 ktrace   NAMI  "/usr/bin/audioplay"
 27762      1 ktrace   NAMI  "/usr/libexec/ld.elf_so"
 27762      1 audioplay EMUL  "netbsd"
 27762      1 audioplay RET   syscall JUSTRETURN
 27762      1 audioplay CALL  mmap(0,0x8000,3,0x1002,0xffffffff,0,0)
 27762      1 audioplay RET   mmap 140187698954240/0x7f7ffdff8000
 27762      1 audioplay CALL  open(0x7f7ffde0b77e,0,0)
 27762      1 audioplay NAMI  "/etc/ld.so.conf"
 27762      1 audioplay RET   open -1 errno 2 No such file or directory
 27762      1 audioplay CALL  open(0x7f7fffffd470,0,0xfefeff362d6e722d)
 27762      1 audioplay NAMI  "/usr/lib/libutil.so.7"
 27762      1 audioplay RET   open 3
 27762      1 audioplay CALL  __fstat30(3,0x7f7fffffd3a0)
 27762      1 audioplay RET   __fstat30 0
 27762      1 audioplay CALL  mmap(0,0x1000,1,1,3,0,0)
 27762      1 audioplay RET   mmap 140187698950144/0x7f7ffdff7000
 27762      1 audioplay CALL  munmap(0x7f7ffdff7000,0x1000)
 27762      1 audioplay RET   munmap 0
 27762      1 audioplay CALL  mmap(0,0x116000,5,0x14000002,3,0,0)
 27762      1 audioplay RET   mmap 140187694792704/0x7f7ffdc00000
 27762      1 audioplay CALL  mmap(0x7f7ffdd12000,0x2000,3,0x12,3,0,0x12000)
 27762      1 audioplay RET   mmap 140187695915008/0x7f7ffdd12000
 27762      1 audioplay CALL  
mmap(0x7f7ffdd14000,0x2000,3,0x1012,0xffffffff,0,0)
 27762      1 audioplay RET   mmap 140187695923200/0x7f7ffdd14000
 27762      1 audioplay CALL  mprotect(0x7f7ffdc12000,0x100000,0)
 27762      1 audioplay RET   mprotect 0
 27762      1 audioplay CALL  close(3)
 27762      1 audioplay RET   close 0
 27762      1 audioplay CALL  open(0x7f7fffffd470,0,0xfefeff35ff31302d)
 27762      1 audioplay NAMI  "/usr/lib/libc.so.12"
 27762      1 audioplay RET   open 3
 27762      1 audioplay CALL  __fstat30(3,0x7f7fffffd3a0)
 27762      1 audioplay RET   __fstat30 0
 27762      1 audioplay CALL  mmap(0,0x1000,1,1,3,0,0)
 27762      1 audioplay RET   mmap 140187698950144/0x7f7ffdff7000
 27762      1 audioplay CALL  munmap(0x7f7ffdff7000,0x1000)
 27762      1 audioplay RET   munmap 0
 27762      1 audioplay CALL  mmap(0,0x214000,5,0x14000002,3,0,0)
 27762      1 audioplay RET   mmap 140187691646976/0x7f7ffd900000
 27762      1 audioplay CALL  mmap(0x7f7ffdaf7000,0xb000,3,0x12,3,0,0xf7000)
 27762      1 audioplay RET   mmap 140187693707264/0x7f7ffdaf7000
 27762      1 audioplay CALL  
mmap(0x7f7ffdb02000,0x12000,3,0x1012,0xffffffff,0,0)
 27762      1 audioplay RET   mmap 140187693752320/0x7f7ffdb02000
 27762      1 audioplay CALL  mprotect(0x7f7ffd9f8000,0xff000,0)
 27762      1 audioplay RET   mprotect 0
 27762      1 audioplay CALL  close(3)
 27762      1 audioplay RET   close 0
 27762      1 audioplay CALL  open(0x7f7fffffd470,0,0xff31302d6e722d62)
 27762      1 audioplay NAMI  "/lib/libc.so.12"
 27762      1 audioplay RET   open 3
 27762      1 audioplay CALL  __fstat30(3,0x7f7fffffd3a0)
 27762      1 audioplay RET   __fstat30 0
 27762      1 audioplay CALL  close(3)
 27762      1 audioplay RET   close 0
 27762      1 audioplay CALL  
__sysctl(0x7f7fffffdb30,2,0x7f7ffdb121c0,0x7f7fffffdb28,0,0)
 27762      1 audioplay RET   __sysctl 0
 27762      1 audioplay CALL  open(0x402b90,1,8)
 27762      1 audioplay NAMI  "/dev/sound"
 27762      1 audioplay RET   open 3
 27762      1 audioplay CALL  ioctl(3,AUDIO_GETINFO,0x503c40)
 27762      1 audioplay GIO   fd 3 read 136 bytes
       "@\^_\0\0\^A\0\0\0\b\0\0\0\b\0\0\0\M^?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
        \0\^A\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\^A\0\"V\0\0\^A\0\0\0\^P\0\0\
        \0\^F\0\0\0\0\0\0\0\^A\0\0\0\0\0\0\0\a\0\0\0\0\0\^A\0\0\0\0\0\0\0\0\0\
        \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\0\0@\0\0\^D\0\0\0\^C\0\0\0\0\0\0\0\^E\0\
        \0\0"
 27762      1 audioplay RET   ioctl 0
 27762      1 audioplay CALL  
__sigaction_sigtramp(SIGINT,0x7f7fffffdbc0,0x7f7fffffdba0,0x7f7ffd97fd20,2)
 27762      1 audioplay RET   __sigaction_sigtramp 0
 27762      1 audioplay CALL  
__sigaction_sigtramp(SIGTERM,0x7f7fffffdbc0,0x7f7fffffdba0,0x7f7ffd97fd20,2)
 27762      1 audioplay RET   __sigaction_sigtramp 0
 27762      1 audioplay CALL  
__sigaction_sigtramp(SIGHUP,0x7f7fffffdbc0,0x7f7fffffdba0,0x7f7ffd97fd20,2)
 27762      1 audioplay RET   __sigaction_sigtramp 0
 27762      1 audioplay CALL  open(0x7f7ffffffe2d,0,1)
 27762      1 audioplay NAMI  "/home/heather/avery/pistol-02.wav"
 27762      1 audioplay RET   open 4
 27762      1 audioplay CALL  __fstat30(4,0x7f7fffffdb30)
 27762      1 audioplay RET   __fstat30 0
 27762      1 audioplay CALL  
__sysctl(0x7f7fffffd640,2,0x7f7ffdb0a590,0x7f7fffffd638,0,0)
 27762      1 audioplay RET   __sysctl 0
 27762      1 audioplay CALL  
__sysctl(0x7f7fffffd560,2,0x7f7ffdb121a0,0x7f7fffffd558,0,0)
 27762      1 audioplay RET   __sysctl 0
 27762      1 audioplay CALL  readlink(0x7f7ffd9e0346,0x7f7fffffd650,0x400)
 27762      1 audioplay NAMI  "/etc/malloc.conf"
 27762      1 audioplay RET   readlink -1 errno 2 No such file or directory
 27762      1 audioplay CALL  mmap(0,0x1000,3,0x1002,0xffffffff,0,0)
 27762      1 audioplay RET   mmap 140187698950144/0x7f7ffdff7000
 27762      1 audioplay CALL  mmap(0,0x100000,3,0x14001002,0xffffffff,0,0)
 27762      1 audioplay RET   mmap 140187690598400/0x7f7ffd800000
 27762      1 audioplay CALL  read(4,0x7f7ffd801000,0x10000)
 27762      1 audioplay GIO   fd 4 read 4088 bytes
       "RIFF\M^R\^]\0\0WAVEfmt \^P\0\0\0\^A\0\^A\0@\^_\0\0@\^_\0\0\^A\0\b\0dat\
...
        \^?\M^K\M^P\M^S\M^V\M^X\M^M\M^L\M^@\M^L\M^J"
 27762      1 audioplay GIO   fd 4 read 3490 bytes
       "{\M^J\M^I\^?\^?{\M^A\M^C{\M^B|\^?y}vvjkrl~\M^G\M^Ez\M^J\M^@\M^Bywzrusp\
...
        \^?\^?\^?\M^@\^?~~~~~}|~\^?\^?\M^@\M^@\^?~~}}~~\^?\M^@LIST6\0\0\0INFOI\
        COP\^V\0\0\0A1 Free Sound Effects\0INAM\f\0\0\0Pistol Shot\0"
 27762      1 audioplay RET   read 7578/0x1d9a
 27762      1 audioplay CALL  __fstat30(1,0x7f7fffffce40)
 27762      1 audioplay RET   __fstat30 0
 27762      1 audioplay CALL  ioctl(1,TIOCGETA,0x7f7fffffcea0)
 27762      1 audioplay GIO   fd 1 read 44 bytes
       "\^B+\0\0\a\0\0\0\0K\0\0\M-O\^E\0 \^D\M^?\M^?\b\^W\^U\^R\M^?\^C\^\\^Z\
        \^Y\^Q\^S\^V\^O\^A\0\^T\M^?\0\M^V\0\0\0\M^V\0\0"
 27762      1 audioplay RET   ioctl 0
 27762      1 audioplay CALL  write(1,0x7f7ffd811000,0x6d)
 27762      1 audioplay GIO   fd 1 wrote 109 bytes
       "/home/heather/avery/pistol-02.wav: sample_rate=8000 channels=1 datasiz\
        e=7472 precision=8 encoding=ulinear_le\n"
 27762      1 audioplay RET   write 109/0x6d
 27762      1 audioplay CALL  ioctl(3,AUDIO_SETINFO,0x503c40)
 27762      1 audioplay GIO   fd 3 wrote 136 bytes
       "@\^_\0\0\^A\0\0\0\b\0\0\0\b\0\0\0\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\^D\0\0\0"
 27762      1 audioplay GIO   fd 3 read 136 bytes
       "@\^_\0\0\^A\0\0\0\b\0\0\0\b\0\0\0\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\^D\0\0\0"
 27762      1 audioplay RET   ioctl 0
 27762      1 audioplay CALL  write(3,0x7f7ffd801000,0x1d30)
 27762      1 audioplay GIO   fd 3 wrote 4088 bytes
       "t\M^VkU\M^Dyjtc\M^A\M^_\M^X\M^Cpdq\M^G\M^A\M^J\M^]\M-/\M^]\M-'\M-"\M^Q\
...
        \M^@\M^Bywzruspszxz}\M^B}\M^C\M^D\M^H"
 27762      1 audioplay GIO   fd 3 wrote 3384 bytes
       "\M^O\M^K\M^E\M^K\M^H\M^@\M^C\M^I\M^L\M^Q\M^R\M^D\M^O\M^H\M^I\M^F{\M^D\
...
        }|~\^?\^?\M^@\M^@\^?~~}}~~\^?\M^@"
 27762      1 audioplay RET   write 7472/0x1d30
 27762      1 audioplay CALL  read(4,0x7f7ffd801000,0x10000)
 27762      1 audioplay GIO   fd 4 read 0 bytes
       ""
 27762      1 audioplay RET   read 0
 27762      1 audioplay CALL  ioctl(3,AUDIO_DRAIN,0)
 27762      1 audioplay RET   ioctl RESTART
 27762      1 audioplay PSIG  SIGINT caught handler=0x401ba0 mask=())
 27762      1 audioplay CALL  ioctl(3,AUDIO_FLUSH,0)
 27762      1 audioplay RET   ioctl 0
 27762      1 audioplay CALL  ioctl(3,AUDIO_SETINFO,0x503c40)
 27762      1 audioplay GIO   fd 3 wrote 136 bytes
       "@\^_\0\0\^A\0\0\0\b\0\0\0\b\0\0\0\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\^D\0\0\0"
 27762      1 audioplay GIO   fd 3 read 136 bytes
       "@\^_\0\0\^A\0\0\0\b\0\0\0\b\0\0\0\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\M^?\
        \M^?\M^?\M^?\M^?\M^?\^D\0\0\0"
 27762      1 audioplay RET   ioctl 0
 27762      1 audioplay CALL  close(3)
 27762      1 audioplay RET   close 0
 27762      1 audioplay CALL  __sigprocmask14(1,0x7f7fffffd660,0x7f7fffffd670)
 27762      1 audioplay RET   __sigprocmask14 0
 27762      1 audioplay CALL  
__sigaction_sigtramp(SIGINT,0x7f7fffffd610,0x7f7fffffd630,0x7f7ffd97fd20,2)
 27762      1 audioplay RET   __sigaction_sigtramp 0
 27762      1 audioplay CALL  getpid
 27762      1 audioplay RET   getpid 27762/0x6c72, 382/0x17e
 27762      1 audioplay CALL  kill(0x6c72, SIGINT)
 27762      1 audioplay RET   kill 0
 27762      1 audioplay CALL  __sigprocmask14(2,0x7f7fffffd650,0)
 27762      1 audioplay RET   __sigprocmask14 0
 27762      1 audioplay PSIG  SIGINT SIG_DFL

>How-To-Repeat:
        
>Fix:
        

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index