PA and knotify startup race leads to wrong device selection

Bug #875660 reported by Dave Gilbert on 2011-10-16
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Phonon
Unknown
Medium
kde-runtime (Ubuntu)
Undecided
Unassigned
pulseaudio (Ubuntu)
Undecided
Unassigned

Bug Description

This appears to be a regression in Oneiric.
I'm running Kubuntu with pulseaudio.
I have on my motherboard intel hda analog audio and my graphics card (an ATI) had an HDMI out; by default I like the audio to come out of the analog output that is the only one connected.

Sometimes logging into KDE I find that it's decided to switch to the HDMI as the default; today I caught it and did an lsof /dev/snd/* and found:

knotify4 2276 dg mem CHR 116,3 6691 /dev/snd/pcmC0D0p
knotify4 2276 dg 20r CHR 116,33 0t0 9995 /dev/snd/timer
knotify4 2276 dg 21u CHR 116,3 0t0 6691 /dev/snd/pcmC0D0p
pulseaudi 2893 dg 24u CHR 116,9 0t0 6698 /dev/snd/controlC1
pulseaudi 2893 dg 31u CHR 116,6 0t0 6694 /dev/snd/controlC0
pulseaudi 2893 dg 38u CHR 116,6 0t0 6694 /dev/snd/controlC0

So knotify4 has hogged the analog output, and hence pa can't get in.

So I kill knotify4, and do a pactl exit to restart pa - but pa then still lists the HDMI as the default output in paman, and I can't see a way to get it back to default without restarting everything.

I'm also going to subscribe this bug to kde-runtime; I'm not sure who is supposed to manage the race between pa startup and anything else, and I'm not sure if it's a kubuntu special or KDE in general.

Dave

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: pulseaudio 1:1.0-0ubuntu3
ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
Uname: Linux 3.0.0-12-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu3
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: VT1708S Analog [VT1708S Analog]
   Subdevices: 2/2
   Subdevice #0: subdevice #0
   Subdevice #1: subdevice #1
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: dg 4889 F.... pulseaudio
 /dev/snd/controlC0: dg 4889 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xfbcf8000 irq 47'
   Mixer name : 'VIA VT1708S'
   Components : 'HDA:11060397,18490397,00100000'
   Controls : 37
   Simple ctrls : 21
Card1.Amixer.info:
 Card hw:1 'HDMI'/'HDA ATI HDMI at 0xfbffc000 irq 48'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100100'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
CheckboxSubmission: f2d10bd9f943a85b486a282e7840a570
CheckboxSystem: 0531969bcfd4f03af7405c98dc94a948
Date: Sun Oct 16 12:31:37 2011
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release amd64 (20091027)
ProcEnviron:
 LANGUAGE=
 PATH=(custom, user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: pulseaudio
UpgradeStatus: Upgraded to oneiric on 2011-09-24 (21 days ago)
dmi.bios.date: 09/10/2009
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: P1.50
dmi.board.name: P55M Pro
dmi.board.vendor: ASRock
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrP1.50:bd09/10/2009:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnP55MPro:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.name: To Be Filled By O.E.M.
dmi.product.version: To Be Filled By O.E.M.
dmi.sys.vendor: To Be Filled By O.E.M.

Dave Gilbert (ubuntu-treblig) wrote :

Version: unspecified (using KDE 4.7.2)
OS: Linux

(I originally reported this on Ubuntu's Launchpad as:
https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/875660)

I'm running Kubuntu with pulseaudio.
I have on my motherboard intel hda analog audio and my graphics card (an ATI) had an HDMI out; by default I like the audio to come out of the analog output that is the only one connected.

Sometimes logging into KDE I find that it's decided to switch to the HDMI as the default; today I caught it and did an lsof /dev/snd/* and found:

knotify4 2276 dg mem CHR 116,3 6691 /dev/snd/pcmC0D0p
knotify4 2276 dg 20r CHR 116,33 0t0 9995 /dev/snd/timer
knotify4 2276 dg 21u CHR 116,3 0t0 6691 /dev/snd/pcmC0D0p
pulseaudi 2893 dg 24u CHR 116,9 0t0 6698 /dev/snd/controlC1
pulseaudi 2893 dg 31u CHR 116,6 0t0 6694 /dev/snd/controlC0
pulseaudi 2893 dg 38u CHR 116,6 0t0 6694 /dev/snd/controlC0

So knotify4 has hogged the analog output, and hence pa can't get in.

So I kill knotify4, and do a pactl exit to restart pa - but pa then still lists the HDMI as the default output in paman.

(I've now found I can switch it back with pacmd set-default-sink)

Dave

Reproducible: Sometimes

Steps to Reproduce:
It's a race, so only happens sometimes.
1) Login
2) Try to play some music
3) Find it doesn't play
4) lsof /dev/snd/* to see who has what devices

Actual Results:
No music coming out of my analog output.
lsof shows knotify4 hogging the analog device

Expected Results:
Sweet music on my analog output, pa has opened all the devices.

Dave Gilbert (ubuntu-treblig) wrote :

Now filed as KDE bug:
https://bugs.kde.org/show_bug.cgi?id=284176

Note also, the pa magic to change the default is pacmd set-default-sink

Dave

Changed in phonon:
importance: Unknown → Medium
status: Unknown → New

It's not exactly a good solution, but I've been patching knotify for a while now to use libcanberra instead. It's been working pretty well for me!

See the canberra branch here:
http://colin.guthr.ie/git/kdebase-runtime/

It's pretty old now but should apply cleanly still if you want to try it out.

The whole default device thing shouldn't really matter under KDE (provided you run start-pulseaudio-kde after restarting PA to reload the module-device-manager module) this is run automatically at startup and in future releases will be baked into PA itself so will be deprecated.... that's a good few months away tho'.

This happens for me now almost every day. I am using 4.7.4 - is this fixed in newer versions?

Not that I know of.

Have you tried the canberra patches I posted earlier? Does that avoid the problem for you?

(In reply to comment #3)
> Not that I know of.
>
> Have you tried the canberra patches I posted earlier? Does that avoid the
> problem for you?

I only get "No repositories found" at the site. If the patch should work, maybe I can make a patched ebuild (using Gentoo).

Oh sorry, I guess the link is out of date:
http://colin.guthr.ie/git/kde-runtime/

I did a rebase not long ago, so the patches should all still apply (quite simple patches anyway)

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in kde-runtime (Ubuntu):
status: New → Confirmed
Changed in pulseaudio (Ubuntu):
status: New → Confirmed

I suspect this bug is the same, or related to, a problem that happened with my install of Kubuntu 12.04 beta2: After Kubuntu was freshly installed, my keyboard volume control keys would not work, even though sound would play and when the keys were pressed the pop-up notification and the panel widget would display the change.

After wasting time reading about how to find various types of audio bugs, and then relearning that HDMI is for output (I've never used it), I finally realized that the problem was simply that KMix had chosen my HDMI as the "master channel" and I needed to change it to my built-in audio.

If this bug is related to my problem, it will be great if it will be fixed soon, because I can imagine unsavvy users giving up on KDE when they can't discover how to fix the problem before their patience expires.

I added a comment to KDE bug 284176, encouraging them to fix it soon, because I had a problem with Kubuntu 12.04 beta2 that I suspect is because of this bug (described in my KDE bug comment).

@Derick: This is a different problem.

I should say this hasn't happened to me for a while (tempting fate!) - I'm on 4.8.2 now.

This happened for me again when I upgraded from 4.7.4 to 4.8.1

...it seems it happens when the system is loaded while starting KDE.

It still happens on 4.10.1.

This is Gentoo. Two identical systems, on one PA wins and all is peachy. On the other however knotify4 wins and PA misses the default audio device. All you can do at that moment is:

* kill knotify4
* kill PA
* kill knotify4 AGAIN
* start PA
* restart kmix

I found what the difference was on the two machines what SHOULD help a lot!

If I set phonon-gstreamer to higher priority, this problem happens, if I use phonon-vlc, then it doesn't. Don't know what to blame, but at least I have a working system again by prioritizing phonon-vlc.

Setting status correctly, might actually be backend related, see comment #11

Changed in phonon:
status: New → Unknown

Don't use GStreamer :) :D

Daniel van Vugt (vanvugt) wrote :

Thank you for reporting this bug to Ubuntu.
Ubuntu 11.10 (oneiric) reached end-of-life on May 9, 2013.

See this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

We appreciate that this bug may be old and you might not be interested in discussing it any more. But if you are then please upgrade to the latest Ubuntu version and re-test.

Changed in pulseaudio (Ubuntu):
status: Confirmed → Incomplete
Changed in kde-runtime (Ubuntu):
status: Confirmed → Incomplete
Daniel van Vugt (vanvugt) wrote :

Closed due to no response.

Changed in pulseaudio (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.