Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Timothy Pearson <tpearson@raptorengineering.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: Possible ALSA loopback bug?
Date: Tue, 22 Jan 2019 18:21:23 +0100	[thread overview]
Message-ID: <s5hmunslib0.wl-tiwai@suse.de> (raw)
In-Reply-To: <5C475004.4010106@raptorengineering.com>

On Tue, 22 Jan 2019 18:16:52 +0100,
Timothy Pearson wrote:
> 
> On 01/22/2019 11:13 AM, Takashi Iwai wrote:
> > On Mon, 21 Jan 2019 22:38:19 +0100,
> > Timothy Pearson wrote:
> >>
> >> On 01/20/2019 07:00 PM, Timothy Pearson wrote:
> >>> I've been running a dedicated machine with ALSA loopback, feeding
> >>> darkice on the capture side and (currently) using mplayer to provide
> >>> audio on the playback side.  I've seen sporadic hangs for a couple of
> >>> years on this setup, but recently with the switch to mplayer I have
> >>> additional information that points more to ALSA than the other applications.
> >>>
> >>> When the audio hangs, mplayer prints a continuous stream of:
> >>> "Audio device got stuck!"
> >>>
> >>> The only way to "unstick" the audio stream is to terminate and restart
> >>> mplayer.  Restarting darkice does not fix the stuck stream.  There is no
> >>> pulseaudio on this sytem.
> >>>
> >>> What would be the next steps to debug this setup?  It's shown up on two
> >>> entirely different installs at this point (Ubuntu 14.04 and Debian 9).
> >>>
> >>> Thanks!
> >>
> >> A bit of additional information:  before audio output ceases entirely,
> >> the messages start printing and the audio becomes very choppy.  The
> >> system has no processes stuck at 100% CPU or any other visible signs of
> >> duress during this time.
> >>
> >> Suggestions on debug are welcome!
> > 
> > The whole story above indicates merely a message like infamous TeX
> > error, "something is wrong" :)  We need more detailed information.
> 
> That's what I had guessed, but I am not familiar enough with the ALSA
> stack to know what would be useful for debugging or how to get it.  The
> loopback module is in kernel, which makes debug even more fun.
> 
> I recently determined that the capture end of the loopback device
> (darkice) reports "Buffer overrun".  Given that, my next question
> becomes what happens if capture stops / stalls on an ALSA loopback
> device?  Is this expected to be recoverable without restarting both ends
> of the loopback (playback and capture) or am I asking ALSA to do
> something it isn't designed to do?

If it's about buffer overrun (or underrun for playback), more often
it's an application-side problem that doesn't recover the stream
properly.

> > For example, how is the PCM status of each running PCM stream when
> > this happens?  Also, track where the application gets stuck, what was
> > expected but what didn't happen.  You can see it via gdb or whatever.
> 
> How would I get the PCM status?

You can check it in /proc/asound/card*/pcm*/....
If the stream gets stuck as XRUN state, it implies that the
application didn't treat it right.


HTH,

Takashi

  reply	other threads:[~2019-01-22 17:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-21  1:00 Possible ALSA loopback bug? Timothy Pearson
2019-01-21 21:38 ` Timothy Pearson
2019-01-22 17:13   ` Takashi Iwai
2019-01-22 17:16     ` Timothy Pearson
2019-01-22 17:21       ` Takashi Iwai [this message]
2019-01-23 22:02         ` Timothy Pearson

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=s5hmunslib0.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=tpearson@raptorengineering.com \
    /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