[alsa-devel] alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large: 349696 bytes (1821 ms).

Raymond Yau superquad.vortex2 at gmail.com
Mon Dec 21 02:45:22 CET 2009


2009/12/21 Chris <cpollock at embarqmail.com>

> On Sun, 2009-12-20 at 07:47 +0800, Raymond Yau wrote:
> > I can reproduce this bug on pulseaudio-0.9.14 by
> >
> > aplay -v --period-size=32  any_rate_not_equal_44100Hz.wav
> >
> >
>
> Anyway to stop this from happening? When it does happen it's causing my
> drive to thrash for about 4-5 minutes or longer as shown below:
>
> Dec 20 14:35:50 localhost pulseaudio[4331]: ratelimit.c: 271 events
> suppressed
> Dec 20 14:35:50 localhost pulseaudio[4331]: asyncq.c: q overrun, queuing
> locally
>
> Dec 20 14:44:15 localhost pulseaudio[4331]: asyncq.c: q overrun, queuing
> locally
>
>
>
you have to provide  a test case which can reproduce this bug and a full
pulseaudio log which recorded how this bug occur

http://www.pulseaudio.org/wiki/Community#BugsPatchesTranslations

If autospawning is enabled (which it now is by default) you might have to
race against it when restarting PA, so it might be a good idea to issue
"pulseaudio -k ; pulseaudio -vvvvv" in a single command


In my case , I suspect the latency and watermark calculation did not get the
correct watermark/sleeping time when the alsa application using small period
size (128 bytes is the alsa-pulse-plugin 's minimum period size ) since the
error "asyncq.c: q overrun, queuing
locally" does not occur when using the normal period_size of those
applications (e.g. aplay , mplayer work quite well ) or rewind too much
since snd_pcm_rewind() is a new function which is only used by PA server


> D: memblockq.c: memblockq requested: maxlength=4194304, tlength=44160,
> base=4, prebuf=44032, minreq=128 maxrewind=0
> D: memblockq.c: memblockq sanitized: maxlength=4194304, tlength=44160,
> base=4, prebuf=44032, minreq=128 maxrewind=0
> I: protocol-native.c: Final latency 502.13 ms = 497.78 ms + 2*1.45 ms +
1.45
> ms
> D: module-alsa-sink.c: latency set to 4.00ms
> D: module-alsa-sink.c: hwbuf_unused_frames=1872
> D: module-alsa-sink.c: setting avail_min=2225
> D: module-alsa-sink.c: Requesting rewind due to latency change.
> D: module-alsa-sink.c: Requested to rewind 8192 bytes.
> D: module-alsa-sink.c: Limited to 7804 bytes.
> D: module-alsa-sink.c: before: 1951
> D: module-alsa-sink.c: after: 1951
> D: module-alsa-sink.c: Rewound 7804 bytes.
> D: sink.c: Processing rewind...
> D: sink-input.c: Have to rewind 7804 bytes on render memblockq.
> E: asyncq.c: q overrun, queuing locally
> E: asyncq.c: q overrun, queuing locally
> E: asyncq.c: q overrun, queuing locally
> E: asyncq.c: q overrun, queuing locally
> I: module-alsa-sink.c: Underrun!


More information about the Alsa-devel mailing list