From: bugtrack@alsa-project.org
To: alsa-devel@alsa-project.org
Subject: [ALSA - driver 0001559]: hang in snd_pcm_drain()
Date: Mon, 21 Nov 2005 19:49:40 +0100 [thread overview]
Message-ID: <5ecb79e568f374eaaa5ae84822c00030@bugtrack.alsa-project.org> (raw)
The following issue has been RESOLVED.
======================================================================
<https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1559>
======================================================================
Reported By: Faust3
Assigned To: rlrevell
======================================================================
Project: ALSA - driver
Issue ID: 1559
Category: CORE - pcm
Reproducibility: random
Severity: major
Priority: normal
Status: resolved
Distribution:
Kernel Version:
Resolution: fixed
Fixed in Version:
======================================================================
Date Submitted: 11-14-2005 19:14 CET
Last Modified: 11-21-2005 19:49 CET
======================================================================
Summary: hang in snd_pcm_drain()
Description:
MPlayer sometimes hangs during uninit in snd_pcm_drain()
Sometimes one can play up to 40 files untill it happens, so this is not
easily reproducable.
Although I could reproduce it with alsa-lib-1.0.10rc3 and kernel 2.6.15rc1
and 2.6.14.
As far as I know it does not happen with 2.6.12. I did not test 2.6.13
Here is some backtrace when pressing ctrl-c (I can redo with debugging
symbols if needed)
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb797e0bd in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7efcca1 in snd_pcm_wait_nocheck () from /usr/lib/libasound.so.2
#3 0xb7f32a2d in _snd_pcm_dmix_open () from /usr/lib/libasound.so.2
#4 0xb7efaa9c in snd_pcm_drain () from /usr/lib/libasound.so.2
#5 0xb7f0c63b in snd_pcm_generic_drain () from /usr/lib/libasound.so.2
#6 0xb7efaa9c in snd_pcm_drain () from /usr/lib/libasound.so.2
#7 0xb7f1712e in _snd_pcm_rate_open () from /usr/lib/libasound.so.2
#8 0xb7efaa9c in snd_pcm_drain () from /usr/lib/libasound.so.2
#9 0x080cd4a9 in uninit ()
#10 0x08856ad8 in ?? ()
#11 0x00000006 in ?? ()
#12 0xbf9f2148 in ?? ()
#13 0x081f750c in getch2_disable ()
#14 0x00000000 in ?? ()
#15 0x00000000 in ?? ()
#16 0x08643700 in getch2_buf ()
#17 0x08072839 in uninit_player ()
#18 0x00000007 in ?? ()
#19 0x084dbcc6 in _IO_stdin_used ()
#20 0x00000e4b in ?? ()
#21 0xbf9f0efc in ?? ()
#22 0x00000004 in ?? ()
#23 0x00000004 in ?? ()
#24 0x08076959 in main ()
Attaching strace will make it continue.
As far as I can tell the problematic poll is in
static unsigned int snd_timer_user_poll(struct file *file, poll_table *
wait)
in sound/core/timer.c in the kernel.
I don't know if this has any importance but tu->qused in the above
function is 2, about 2 polls before the hang. During normal playback it
always seems to be 0 or 1
It might have also something to do with the many xruns I'm getting with
some files,
but I think the xruns are more likely a MPlayer problem.
The problem does not occure when using oss emulation.
Please tell me if you need additional info or if I should add some debug
printf/printks etc.
======================================================================
----------------------------------------------------------------------
Faust3 - 11-18-05 19:07
----------------------------------------------------------------------
Ok I made a test app available at http://faust3.kilu.de/testcase.tar.gz
Just run the included ao_alsa_test and it will hang in the
snd_pcm_drain()
The bug is probably there for some time already. However it was hidden by
another
bug that has been fixed in revision 1.15 of alsa-lib/src/timer/timer_hw.c
Commit message:
"Summary: Change some timer ioctls due to confliction
Change values of some timer ioctls to avoid confliction with FIO* ioctls.
Use old ioctls if the timer protocol version doesn't match."
Due to this bug SNDRV_TIMER_IOCTL_STOP never reached sound/core/timer.c
in alsa-driver.
Now that the above bug is fixed and SNDRV_TIMER_IOCTL_STOP gets called,
the poll()
will hang.
This happens with all alsa driver versions since 1.0.9rc4 (where
SNDRV_TIMER_VERSION got increased to 2.0.4)
Tell me if you need more info...
Driver snd-intel8x0
Card: Intel 82801DB-ICH4
Chip: SigmaTel STAC9750,51
----------------------------------------------------------------------
rlrevell - 11-21-05 19:49
----------------------------------------------------------------------
Fixed in CVS.
Issue History
Date Modified Username Field Change
======================================================================
11-14-05 19:14 Faust3 New Issue
11-14-05 19:33 Faust3 Issue Monitored: Faust3
11-18-05 19:07 Faust3 Note Added: 0006756
11-21-05 19:49 rlrevell Status new => resolved
11-21-05 19:49 rlrevell Resolution open => fixed
11-21-05 19:49 rlrevell Assigned To => rlrevell
11-21-05 19:49 rlrevell Note Added: 0006773
======================================================================
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
next reply other threads:[~2005-11-21 18:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-21 18:49 bugtrack [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-03-04 18:08 [ALSA - driver 0001559]: hang in snd_pcm_drain() bugtrack
2005-11-18 18:08 bugtrack
2005-11-14 18:14 bugtrack
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5ecb79e568f374eaaa5ae84822c00030@bugtrack.alsa-project.org \
--to=bugtrack@alsa-project.org \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox