Bug 524007

Summary: alsa-ng output plugin buffer underruns
Product: [Fedora] Fedora Reporter: Adam Pribyl <covex>
Component: audacious-pluginsAssignee: Michael Schwendt <bugs.michael>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: areis, atkac, bugs.michael, dominik, jkysela, pahan
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 0.4-1.fc12.2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-02-02 01:10:41 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
alsa info
none
frozen audacious backtrace none

Description Adam Pribyl 2009-09-17 15:01:13 UTC
Description of problem:
After last updates to alsa-lib
Sep 09 10:03:25 Updated: alsa-lib-1.0.21-1.fc11.x86_64
Sep 09 10:03:53 Updated: alsa-lib-1.0.21-1.fc11.i586
Sep 09 10:07:36 Updated: alsa-lib-devel-1.0.21-1.fc11.x86_64
Sep 14 14:55:43 Updated: alsa-lib-1.0.21-3.fc11.x86_64
Sep 14 14:56:37 Updated: alsa-lib-1.0.21-3.fc11.i586
Sep 14 14:57:55 Updated: alsa-lib-devel-1.0.21-3.fc11.x86_64
Or maybe pulseaudio?
Sep 09 10:03:23 Updated: pulseaudio-libs-0.9.15-17.fc11.x86_64
Sep 09 10:03:40 Updated: pulseaudio-0.9.15-17.fc11.x86_64
Sep 09 10:03:48 Updated: pulseaudio-libs-glib2-0.9.15-17.fc11.x86_64
Sep 09 10:03:54 Updated: pulseaudio-module-bluetooth-0.9.15-17.fc11.x86_64
Sep 09 10:04:41 Updated: pulseaudio-libs-zeroconf-0.9.15-17.fc11.x86_64
Sep 09 10:04:42 Updated: pulseaudio-utils-0.9.15-17.fc11.x86_64
Sep 09 10:04:45 Updated: pulseaudio-libs-0.9.15-17.fc11.i586
Sep 09 10:04:46 Updated: pulseaudio-module-x11-0.9.15-17.fc11.x86_64
Sep 09 10:04:48 Updated: pulseaudio-module-gconf-0.9.15-17.fc11.x86_64
Sep 09 10:07:40 Updated: pulseaudio-esound-compat-0.9.15-17.fc11.x86_64
Sep 14 14:56:33 Updated: alsa-plugins-pulseaudio-1.0.21-2.fc11.x86_64

I started to hear a glitches in sound, those are represented by sudden start of very fast play (detecting by slidebar going fast forward and high bandwidth used - NFS filesystem) after a few moments its back to normal. But when I move the slidebar in player (audacious using alsa plugin) sound almost always gets distorted. 

Never had such a problems before.

Additional info:
ALSA sound/pci/hda/hda_intel.c:1102: Too big adjustment 32
ALSA sound/pci/hda/hda_intel.c:1102: Too big adjustment 32
ALSA sound/pci/hda/hda_intel.c:1102: Too big adjustment 32
ALSA sound/pci/hda/hda_intel.c:1102: Too big adjustment 32
ALSA sound/pci/hda/hda_intel.c:1102: Too big adjustment 32
ALSA sound/pci/hda/hda_intel.c:1102: Too big adjustment 32
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 1,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 2,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 4,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 8,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 16,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing wakeup watermark to 7,98 ms
pulseaudio[2238]: alsa-sink.c: Increasing wakeup watermark to 8,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 26,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing wakeup watermark to 15,99 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 36,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing wakeup watermark to 25,99 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 46,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing wakeup watermark to 35,99 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 56,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing wakeup watermark to 45,99 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 66,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing wakeup watermark to 55,99 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 76,00 ms
pulseaudio[2238]: alsa-sink.c: Increasing wakeup watermark to 65,99 ms
pulseaudio[2238]: alsa-sink.c: Increasing minimal latency to 86,00 ms

attaching alsa-info.

Comment 1 Adam Pribyl 2009-09-17 15:02:11 UTC
Created attachment 361511 [details]
alsa info

Comment 2 Adam Pribyl 2009-09-17 15:43:52 UTC
OK, I see:
Sep 14 14:56:35 Updated: audacious-plugins-1.5.1-10.fc11.x86_64

So this is probably nor alsa nor pulseaudio problem, but audacious, because audacious is also freezing often. :(

Comment 3 Michael Schwendt 2009-09-17 17:03:01 UTC
> (audacious using alsa plugin)

Why not the PulseAudio output plugin?


> audacious is also freezing often. :( 

May I get a full backtrace from you for such a freeze?
http://fedoraproject.org/wiki/StackTraces

I've had lots of deadlocks some weeks ago until a kernel ALSA update fixed it. Different hardware, though.


The previous audacious-plugins package is this:
http://koji.fedoraproject.org/koji/buildinfo?buildID=104925

Comment 4 Adam Pribyl 2009-09-17 18:29:51 UTC
Because when using pulseaudio output audacious + pulseaudio consumes two times as much of CPU power compared to alsa output (e.g. https://bugzilla.redhat.com/show_bug.cgi?id=514739 or https://bugzilla.redhat.com/show_bug.cgi?id=474487)

Its easy to reprocude the program hang, but I do not get any backtrace, audacious just sits on the screen and is not responding. When I kill it from terminal, it exits normaly, but UI is unresposive:

Starting program: /usr/bin/audacious 
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff1881910 (LWP 10485)]
[New Thread 0x7fffe5547910 (LWP 10486)]
[New Thread 0x7fffe471d910 (LWP 10487)]
[New Thread 0x7fffe2ba7910 (LWP 10489)]
[New Thread 0x7fffe21a6910 (LWP 10490)]
[Thread 0x7fffe2ba7910 (LWP 10489) exited]
[New Thread 0x7fffe2ba7910 (LWP 10491)]
[Thread 0x7fffe21a6910 (LWP 10490) exited]
[New Thread 0x7fffe21a6910 (LWP 10492)]
[Thread 0x7fffe21a6910 (LWP 10492) exited]
[New Thread 0x7fffe21a6910 (LWP 10493)]
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL 0
ERROR: ALSA: alsa-core.c:110 (alsaplug_mixer_new_for_card): failed to attach to hardware mixer: Adresář nebo soubor neexistuje
[New Thread 0x7fffe159f910 (LWP 10494)]
[New Thread 0x7fffe0b9e910 (LWP 10495)]
[Thread 0x7fffe159f910 (LWP 10494) exited]
[Thread 0x7fffe0b9e910 (LWP 10495) exited]
[Thread 0x7fffe21a6910 (LWP 10493) exited]
[New Thread 0x7fffe21a6910 (LWP 10496)]
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL 0
ERROR: ALSA: alsa-core.c:110 (alsaplug_mixer_new_for_card): failed to attach to hardware mixer: Adresář nebo soubor neexistuje
[New Thread 0x7fffe0b9e910 (LWP 10497)]
[New Thread 0x7fffe159f910 (LWP 10498)]
[Thread 0x7fffe21a6910 (LWP 10496) exited]
[New Thread 0x7fffe21a6910 (LWP 10499)]
[Thread 0x7fffe21a6910 (LWP 10499) exited]
[New Thread 0x7fffe21a6910 (LWP 10500)]
[Thread 0x7fffe2ba7910 (LWP 10491) exited]
[Thread 0x7fffe471d910 (LWP 10487) exited]
^CAudacious has received SIGINT and is shutting down.
[Thread 0x7fffe5547910 (LWP 10486) exited]
LASTFM: (cleanup) Cleanup finished
[Thread 0x7fffe21a6910 (LWP 10500) exited]
[Thread 0x7fffe159f910 (LWP 10498) exited]
[Thread 0x7fffe0b9e910 (LWP 10497) exited]
[Thread 0x7ffff1881910 (LWP 10485) exited]

Program exited normally.


This is what is says to console
$ audacious 
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL 0
ERROR: ALSA: alsa-core.c:110 (alsaplug_mixer_new_for_card): failed to attach to hardware mixer: Adresář nebo soubor neexistuje (Note: This is "Directory of file does not exist")
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL 0
ERROR: ALSA: alsa-core.c:110 (alsaplug_mixer_new_for_card): failed to attach to hardware mixer: Adresář nebo soubor neexistuje
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL 0
ERROR: ALSA: alsa-core.c:110 (alsaplug_mixer_new_for_card): failed to attach to hardware mixer: Adresář nebo soubor neexistuje

When I attach it with strace at the moment when it is frozen:
Process 10648 attached - interrupt to quit
futex(0x7fb615b669e0, FUTEX_WAIT, 10668, NULL

That's it.

Comment 5 Adam Pribyl 2009-09-17 18:32:16 UTC
OK - with the old plugins package from koji (-6) everything is back to normal.

Comment 6 Michael Schwendt 2009-09-17 18:49:33 UTC
> Its easy to reprocude the program hang, but I do not get
> any backtrace, audacious just sits on the screen and is
> not responding.

Don't kill it, don't use strace. Attach gdb to it:

  $ gdb -p $(pidof audacious)
  ...
  (gdb) thread apply all bt
  ...

Cut'n'paste the output or use "script" to log your terminal session. Be sure to follow the Wiki page linked above, so you install any missing -debuginfo packages prior to reproducing the problem.

[...]

Well, I'm not aware of all problems with PulseAudio, but watch the following update summaries and comments to understand the background of shipping the alsa-ng plugin:

https://admin.fedoraproject.org/updates/F11/FEDORA-2009-6438
https://admin.fedoraproject.org/updates/F11/FEDORA-2009-7266

Comment 7 Adam Pribyl 2009-09-17 20:15:39 UTC
Created attachment 361559 [details]
frozen audacious backtrace

Thanks for patience, I did my best to obtain the backtrace, but as there is no crash, there is no backtrace. With gdb attached to pid at the moment when it is already frozen I've obtained following info after "thread apply all bt".

Comment 8 Michael Schwendt 2009-09-18 09:28:11 UTC
> but as there is no crash, there is no backtrace. 

Rest assured, what you attached is a backtrace. :)

Some details are missing though. Some -debuginfo packages are not installed (for alsa-lib and pulseaudio-libs), but some threads being stuck in poll() is kernel/driver related. I posted to fedora-devel-list about symptoms like that in July.

Compare with e.g. bug 496608 where a user reports such a problem with lots of other audio players, such as totem and mplayer.  Btw, today somebody reported a similar problem for Audacity.

Comment 9 Michael Schwendt 2009-09-19 14:55:26 UTC
Does this build

  http://koji.fedoraproject.org/koji/buildinfo?buildID=132750

improve the situation for you?

Comment 10 Adam Pribyl 2009-09-20 09:33:19 UTC
From the sound point of view this is very good improvement, even thou it is not perfect and there are still some hickups in sound with 
pulseaudio[2400]: alsa-sink.c: Increasing minimal latency to 46,00 ms
pulseaudio[2400]: alsa-sink.c: Increasing wakeup watermark to 35,99 ms
pulseaudio[2400]: alsa-sink.c: Increasing minimal latency to 56,00 ms
This is however probably not related to audacious, and sound is fluent now.

But audacious is still freezing, mainly when it shifts to next track, it plays few seconds, then sound freezes, when I try to push some buttons, then GUI freezes too. Also the volume slider does nothing with this version.

Comment 11 Michael Schwendt 2009-09-20 12:40:15 UTC
You can open the output plugin preferences and verify the mixer device. Select "Master".

> freezes

See comment 3 and comment 8. [I believe Audacious is innocent with regard to lockups in poll(), but Audacious 2.2 alpha1 contains a 3rd generation output plugin, which I'll test also on Fedora 11. Fedora 12 currently beats the crap out of Audacious and breaks in various ways.]

Comment 12 Adam Pribyl 2009-09-20 16:51:11 UTC
There was no Master in the setup to select, after I hand filled in there "Master", all of a sudden all various mixer devices appeared in the drop down menu again... some "old configuration" transition problem.

I understand the freezes are not not related directly ty audacious, just reporting, this situation did not change with the new version of audacious-plugins.

As the problem with the sound seems to go away, you can close this bug with the new release of plugins, if you wish.

Comment 13 Michael Schwendt 2009-09-26 09:31:19 UTC
I'd like to keep this open as it will continue to be a problem also with Fedora 12, which no longer includes Audacious 1.5.1 but 2.1.

See bug 516649 comment 13 for the background. There is confusion among ALSA/alsa-lib application developers about what to do exactly (i.e. how to set up alsa-lib) to avoid problems with audio playback.

Comment 14 Michael Schwendt 2009-10-19 10:56:48 UTC
*** Bug 529642 has been marked as a duplicate of this bug. ***

Comment 15 Dominik 'Rathann' Mierzejewski 2009-10-19 14:58:36 UTC
(In reply to comment #13)
> I'd like to keep this open as it will continue to be a problem also with Fedora
> 12, which no longer includes Audacious 1.5.1 but 2.1.
> 
> See bug 516649 comment 13 for the background. There is confusion among
> ALSA/alsa-lib application developers about what to do exactly (i.e. how to set
> up alsa-lib) to avoid problems with audio playback.  

Interestingly, MPlayer works fine, so maybe look at how it's done there.

Comment 16 Michael Schwendt 2009-10-19 15:37:54 UTC
Well, there's not much point in copying other drivers. Some of the work in Audacious' output plugins was based on following PulseAudio author's "safe API" specs for ALSA, which made them simplify the "alsa-ng" driver so much that ALSA's low-latency defaults are insufficient.

In upstream 2.2 development they work on the new "alsa-gapless" output plugin.

Comment 17 Michael Schwendt 2009-12-04 19:28:56 UTC
*** Bug 525817 has been marked as a duplicate of this bug. ***

Comment 18 Fedora Update System 2010-01-01 12:44:37 UTC
audacious-plugin-fc-0.4-1.fc12.2,audacious-plugins-2.2-7.fc12,audacious-2.2-4.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/audacious-plugin-fc-0.4-1.fc12.2,audacious-plugins-2.2-7.fc12,audacious-2.2-4.fc12

Comment 19 Fedora Update System 2010-01-02 03:33:30 UTC
audacious-plugin-fc-0.4-1.fc12.2, audacious-plugins-2.2-7.fc12, audacious-2.2-4.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update audacious-plugin-fc audacious-plugins audacious'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-0028

Comment 20 Fedora Update System 2010-01-05 22:54:27 UTC
audacious-plugin-fc-0.4-1.fc12.2, audacious-2.2-4.fc12, audacious-plugins-2.2-8.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update audacious-plugin-fc audacious audacious-plugins'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-0028

Comment 21 Fedora Update System 2010-01-12 23:31:02 UTC
audacious-plugin-fc-0.4-1.fc12.2, audacious-2.2-4.fc12, audacious-plugins-2.2-10.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update audacious-plugin-fc audacious audacious-plugins'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-0028

Comment 22 Fedora Update System 2010-01-12 23:31:58 UTC
audacious-plugin-fc-0.4-1.fc12.2, audacious-2.2-4.fc12, audacious-plugins-2.2-10.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update audacious-plugin-fc audacious audacious-plugins'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-0028

Comment 23 Fedora Update System 2010-01-12 23:32:47 UTC
audacious-plugin-fc-0.4-1.fc12.2, audacious-2.2-4.fc12, audacious-plugins-2.2-10.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update audacious-plugin-fc audacious audacious-plugins'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-0028

Comment 24 Fedora Update System 2010-01-26 00:58:11 UTC
audacious-plugin-fc-0.4-1.fc12.2, audacious-2.2-7.fc12, audacious-plugins-2.2-10.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update audacious-plugin-fc audacious audacious-plugins'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-0028

Comment 25 Michael Schwendt 2010-01-27 10:41:59 UTC
Third-party add-on packages for Audacious 2.2 are available
in their respective -updates-testing repository.

Please give feedback on the Audacious 2.2 test update:
http://admin.fedoraproject.org/updates/F12/FEDORA-2010-0028

There are no plans to continue with Audacious 2.1.

Comment 26 Fedora Update System 2010-02-01 01:24:22 UTC
audacious-plugin-fc-0.4-1.fc12.2, audacious-plugins-2.2-10.fc12.pl14, audacious-2.2-10.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update audacious-plugin-fc audacious-plugins audacious'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-0028

Comment 27 Fedora Update System 2010-02-02 01:09:43 UTC
audacious-plugin-fc-0.4-1.fc12.2, audacious-plugins-2.2-10.fc12.pl14, audacious-2.2-10.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.