[Pkg-alsa-devel] Bug#366429: alsa-utils: aplay randomly hangs
kronos at kronoz.cjb.net
kronos at kronoz.cjb.net
Mon May 8 16:00:27 UTC 2006
Package: alsa-utils
Version: 1.0.11-2
Severity: normal
Hello,
I've already reported this issue upstream but got no replay.
With the upgrade from 1.0.10 to 1.0.11 aplays randomly hangs,
sometimes (not always) with the following message:
*** glibc detected *** free(): invalid pointer: 0x08081628 ***
When it happens aplay is stuck:
USER PID ACCESS COMMAND
/dev/snd/pcmC0D0p kronos 15872 f...m aplay
kronos 15874 f...m aplay
/dev/snd/timer kronos 15872 f.... aplay
This is backtrace of a dead aplay:
*** glibc detected *** free(): invalid pointer: 0x080821b0 ***
Program received signal SIGABRT, Aborted.
[Switching to Thread -1479334208 (LWP 5273)]
0xa7d5d7c7 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0 0xa7d5d7c7 in raise () from /lib/tls/libc.so.6
#1 0xa7d5f06b in abort () from /lib/tls/libc.so.6
#2 0xa7d94545 in __fsetlocking () from /lib/tls/libc.so.6
#3 0xa7d9ab97 in malloc_usable_size () from /lib/tls/libc.so.6
#4 0xa7d9b032 in free () from /lib/tls/libc.so.6
#5 0xa7f08f70 in snd_pcm_adpcm_decode () from /usr/lib/libasound.so.2
#6 0xa7ee75b9 in snd_pcm_hw_free () from /usr/lib/libasound.so.2
#7 0xa7f0e3ed in _snd_pcm_rate_linear_open () from /usr/lib/libasound.so.2
#8 0xa7ee75b9 in snd_pcm_hw_free () from /usr/lib/libasound.so.2
#9 0xa7ef1c2e in snd_pcm_close () from /usr/lib/libasound.so.2
#10 0x08051074 in main (argc=2, argv=0xafb26484) at aplay.c:611
The following backtrace is taken with libasound2 and aplay recompiled
with -g (and makes more sense to me):
*** glibc detected *** free(): invalid pointer: 0x080821b0 ***
Program received signal SIGABRT, Aborted.
[Switching to Thread -1479620928 (LWP 21055)]
0xa7d177c7 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0 0xa7d177c7 in raise () from /lib/tls/libc.so.6
#1 0xa7d1906b in abort () from /lib/tls/libc.so.6
#2 0xa7d4e545 in __fsetlocking () from /lib/tls/libc.so.6
#3 0xa7d54b97 in malloc_usable_size () from /lib/tls/libc.so.6
#4 0xa7d55032 in free () from /lib/tls/libc.so.6
#5 0xa7ed5f70 in snd_pcm_rate_hw_free (pcm=0x0) at pcm_rate.c:330
#6 0xa7eb45b9 in snd_pcm_hw_free (pcm=0x8068da0) at pcm.c:853
#7 0xa7edb3ed in snd_pcm_plug_hw_free (pcm=0x9) at pcm_plug.c:976
#8 0xa7eb45b9 in snd_pcm_hw_free (pcm=0x80690e8) at pcm.c:853
#9 0xa7ebec2e in snd_pcm_close (pcm=0x80690e8) at pcm.c:703
#10 0x08051074 in main (argc=2, argv=0xafa2a394) at aplay.c:611
I _think_ that the other aplays that hang without any message are
consequence of the first bug (invalid free), but I'm not sure so I'm
attacching other information.
sysrq+t shows:
aplay S C6D25E78 6884 15872 30769 16154 (NOTLB)
c6d25e84 c6d25e4c b01063d4 c6d25e78 00000003 c6d24000 829c8700 0042ec48
0000000a ec041178 ec041070 829c8700 0042ec48 00000000 00000000 00000000
c6d24000 01e84800 00000000 c6d24000 b04046c8 00000000 c6d24000 b0304125
Call Trace:
<b01063d4> do_gettimeofday+0x14/0xc0 <b0304125> schedule_timeout+0x75/0xc0
<b0133235> get_futex_key+0x45/0x110 <f087192b> _snd_timer_stop+0x3b/0x170 [snd_timer]
<b017006b> fasync_helper+0x5b/0xf0 <b012ec1e> add_wait_queue+0x3e/0x70
<b013410d> do_futex+0x81d/0xa90 <f0872a10> snd_timer_user_ioctl+0x0/0xe10 [snd_timer]
<b0117360> default_wake_function+0x0/0x10 <f0872a10> snd_timer_user_ioctl+0x0/0xe10 [snd_timer]
<b017012b> do_ioctl+0x2b/0x90 <b01343dc> sys_futex+0x5c/0x120
<b015dce1> sys_read+0x41/0x70 <b010301f> syscall_call+0x7/0xb
and the other one:
aplay S B8E54000 6480 15874 1 14570 (NOTLB)
b8e55bf0 b013c953 0000000b b8e54000 b01076ea b8e54000 d37a4500 0042ecd8
0000000a b35fe138 b35fe030 d37a4500 0042ecd8 00000000 00000000 00000000
b8e54000 00000000 00000000 b8e55c04 18b45eda 00000000 b8e55e9c b03040f9
Call Trace:
<b013c953> handle_IRQ_event+0x33/0x60 <b01076ea> enable_8259A_irq+0x3a/0x70
<b03040f9> schedule_timeout+0x49/0xc0 <b012ec1e> add_wait_queue+0x3e/0x70
<b0124340> process_timeout+0x0/0x10 <b0170d30> do_sys_poll+0x2d0/0x420
<b01719c0> __pollwait+0x0/0x100 <b0117360> default_wake_function+0x0/0x10
<b0117360> default_wake_function+0x0/0x10 <b02a9393> __alloc_skb+0x53/0x110
<b02a605f> sock_alloc_send_skb+0x18f/0x1e0 <b015e388> fget+0x58/0xa0
<b01d48ed> copy_from_user+0x4d/0xa0 <b02a7705> sock_def_readable+0x45/0x80
<b02fe63e> unix_stream_sendmsg+0x17e/0x340 <b01bab43> ipc_unlock+0x23/0x40
<b01bc9d4> sys_semtimedop+0x3c4/0x800 <b02a9a44> __kfree_skb+0x34/0xc0
<b02a9998> kfree_skbmem+0x8/0x80 <b0272152> e100_tx_clean+0x92/0x110
<b01d48ed> copy_from_user+0x4d/0xa0 <b01d48ed> copy_from_user+0x4d/0xa0
<b02a3811> sys_sendmsg+0x161/0x270 <b012066e> local_bh_enable+0x2e/0x90
<b015b113> fd_install+0x53/0x90 <b01d4acd> copy_to_user+0x4d/0x90
<b01be73a> sys_shmctl+0x2ca/0x6b2 <b01779f0> destroy_inode+0x20/0x40
<b01cf9ba> _atomic_dec_and_lock+0x2a/0x50 <b0176052> dput+0xc2/0x1b0
<b0107cf0> sys_ipc+0x50/0x260 <b0170ebd> sys_poll+0x3d/0x50
<b010301f> syscall_call+0x7/0xb
A few more of them:
aplay S 00000000 6988 16645 1 14570 (NOTLB)
c0893bf0 00000000 00000000 00000000 00000000 c0892000 0cc29400 0042ee0c
0000000a c1e89658 c1e89550 0cc29400 0042ee0c 00000000 00000000 00000000
c0892000 003d0900 00000000 c0893c04 18b96771 00000000 c0893e9c b03040f9
Call Trace:
<b03040f9> schedule_timeout+0x49/0xc0 <b012ec1e> add_wait_queue+0x3e/0x70
<b0124340> process_timeout+0x0/0x10 <b0170d30> do_sys_poll+0x2d0/0x420
<b01719c0> __pollwait+0x0/0x100 <b0117360> default_wake_function+0x0/0x10
<b0117360> default_wake_function+0x0/0x10 <b02a9393> __alloc_skb+0x53/0x110
<b02a605f> sock_alloc_send_skb+0x18f/0x1e0 <b015e388> fget+0x58/0xa0
<b01d48ed> copy_from_user+0x4d/0xa0 <b02a7705> sock_def_readable+0x45/0x80
<b011c1a9> profile_tick+0x29/0x70 <b0103a84> apic_timer_interrupt+0x1c/0x24
<b01bab43> ipc_unlock+0x23/0x40 <b01bc9d4> sys_semtimedop+0x3c4/0x800
<b01d48ed> copy_from_user+0x4d/0xa0 <b01d48ed> copy_from_user+0x4d/0xa0
<b02a3811> sys_sendmsg+0x161/0x270 <b0103a84> apic_timer_interrupt+0x1c/0x24
<b01d4acd> copy_to_user+0x4d/0x90 <b01be73a> sys_shmctl+0x2ca/0x6b2
<b01779f0> destroy_inode+0x20/0x40 <b01cf9ba> _atomic_dec_and_lock+0x2a/0x50
<b0176052> dput+0xc2/0x1b0 <b0107cf0> sys_ipc+0x50/0x260
<b0170ebd> sys_poll+0x3d/0x50 <b010301f> syscall_call+0x7/0xb
aplay S D086BE78 6764 16827 30769 (NOTLB)
d086be84 d086be4c b01063d4 d086be78 00000003 d086a000 f0c1bb00 0042edf2
0000000a eb5c56d8 eb5c55d0 f0c1bb00 0042edf2 00000000 00000000 00000000
d086a000 01e84800 00000000 d086a000 b04047a8 00000000 d086a000 b0304125
Call Trace:
<b01063d4> do_gettimeofday+0x14/0xc0 <b0304125> schedule_timeout+0x75/0xc0
<b0133235> get_futex_key+0x45/0x110 <f087192b> _snd_timer_stop+0x3b/0x170 [snd_timer]
<b017006b> fasync_helper+0x5b/0xf0 <b012ec1e> add_wait_queue+0x3e/0x70
<b013410d> do_futex+0x81d/0xa90 <f0872a10> snd_timer_user_ioctl+0x0/0xe10 [snd_timer]
<b0117360> default_wake_function+0x0/0x10 <f0872a10> snd_timer_user_ioctl+0x0/0xe10 [snd_timer]
<b017012b> do_ioctl+0x2b/0x90 <b01343dc> sys_futex+0x5c/0x120
<b015dce1> sys_read+0x41/0x70 <b010301f> syscall_call+0x7/0xb
It's not 100% reproducible, but running something like:
for i in `seq 1 100`; do aplay whatever.wav; done
is likely to leave a couple of hung processes. The wav files that I'm
using are the ones from amsn package (/usr/share/amsn/skin/default/sound).
Kernel is 2.6.17-rc1, this is the soundcard:
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235 AC97 Audio Controller (rev 40)
Subsystem: Unknown device 1695:3004
Flags: medium devsel, IRQ 5
I/O ports at e000 [size=256]
Capabilities: [c0] Power Management version 2
(it'a VT8233A)
My ~/.asoundrc is empty, since now dmix is enabled by default.
I've confirmed that going back to 1.0.10 (same kernel) makes the
problem disappear.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-rc3
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.utf8)
Versions of packages alsa-utils depends on:
ii dialog 1.0-20060221-1 Displays user-friendly dialog boxe
ii libasound2 1.0.11-3 ALSA library
ii libc6 2.3.6-7 GNU C Library: Shared libraries
ii libncurses5 5.5-1.1 Shared libraries for terminal hand
ii linux-sound-base 1.0.11-1 base package for ALSA and OSS soun
ii lsb-base 3.1-5 Linux Standard Base 3.1 init scrip
ii module-init-tools 3.2.2-2 tools for managing Linux kernel mo
ii modutils 2.4.27.0-5 Linux module utilities
ii pciutils 1:2.1.11-16 Linux PCI Utilities
ii python-minimal 2.3.5-5 A minimal subset of the Python lan
ii whiptail 0.51.6-20 Displays user-friendly dialog boxe
Versions of packages alsa-utils recommends:
ii alsa-base 1.0.11-1 ALSA driver configuration files
-- no debconf information
More information about the Pkg-alsa-devel
mailing list