Bug 1933111 - Audio locking after system suspends
Summary: Audio locking after system suspends
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pipewire
Version: 34
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Wim Taymans
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-02-25 17:21 UTC by Tom London
Modified: 2021-03-23 00:16 UTC (History)
3 users (show)

Fixed In Version: pipewire-0.3.24-1.fc34
Clone Of:
Environment:
Last Closed: 2021-03-23 00:16:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tom London 2021-02-25 17:21:15 UTC
Description of problem:

I've noticed an issue with audio "locking up" after an automatic suspend: rhythmbox (and other apps) fail to play. Logging out and back in restores audio.
I've noticed this in the journal around the time the system suspended:

Feb 25 08:13:25 localhost.localdomain pipewire-media-session[5920]: no node found for 45
Feb 25 08:13:25 localhost.localdomain gsd-media-keys[5838]: Unable to get default sink
Feb 25 08:13:25 localhost.localdomain pipewire-pulse[5705]: stream 0x563bb7c7fec0: error no node available
Feb 25 08:13:25 localhost.localdomain pipewire-media-session[5920]: no node found for 45
Feb 25 08:13:25 localhost.localdomain pipewire-pulse[5705]: pulse-server 0x563bb86cf810: [Rhythmbox] ERROR command:-1 (invalid) tag:4294967295 error:25 (Input/output error)



Version-Release number of selected component (if applicable):
pipewire-pulseaudio-0.3.22-7.fc34.x86_64

How reproducible:
Every suspend

Steps to Reproduce:
1. Start rhythmbox and wait until system suspends
2. Enter password to resuscitate system
3. Sound is "frozen" 

Actual results:
Silence

Expected results:
Music!

Additional info:

Comment 1 Tom London 2021-02-25 18:06:41 UTC
Noticed this:

[tbl@localhost ~]$ ps agx | grep pipe
   5705 ?        S<sl   0:37 /usr/bin/pipewire-pulse
   5913 ?        S<sl   0:08 /usr/bin/pipewire
   5920 ?        S<l    0:00 /usr/bin/pipewire-media-session
   8950 pts/0    S+     0:00 grep --color=auto pipe
[tbl@localhost ~]$

Killing off pipewire-media-session:

[tbl@localhost ~]$ sudo kill -9 5920
[tbl@localhost ~]$ ps agx | grep pipe
   5705 ?        S<sl   0:37 /usr/bin/pipewire-pulse
   5913 ?        S<sl   0:08 /usr/bin/pipewire
   5920 ?        Z<     0:00 [pipewire-media-] <defunct>
   8963 pts/0    S+     0:00 grep --color=auto pipe
[tbl@localhost ~]$ 
and /usr/bin/pipewire:

[tbl@localhost ~]$ sudo kill -9 5913
[tbl@localhost ~]$ ps agx | grep pipe
   5705 ?        S<sl   0:38 /usr/bin/pipewire-pulse
   9001 ?        S<sl   0:00 /usr/bin/pipewire
   9004 ?        S<l    0:00 /usr/bin/pipewire-media-session
   9012 pts/0    S+     0:00 grep --color=auto pipe
[tbl@localhost ~]$ 

And sound is restored.

Comment 2 Wim Taymans 2021-03-01 08:47:27 UTC
Are you playing through HDMI? What does pavucontrol say is the profile of the audio card after resume? does toggling the profile restore sound again?

Comment 3 Tom London 2021-03-01 14:34:17 UTC
Yes, I'm playing through HDMI.

Here is what pavucontrol says just after boot (normal playback) for "Output Devices":

Built-in Audio Digital Stereo (HDMI)    

Port: HDMI/DisplayPort (plugged in)   

"Configuation" says:

Built-in Audio

Profile: Digital Stereo (HDMI) Output

I'll let it "Sleep/Suspend" and post what it shows...

Comment 4 Tom London 2021-03-01 14:43:21 UTC
I set "Blank screen" in Settings->Power to 2 minutes (it was set at 15 minutes previously) and started rhythmbox.

After 2 minutes the screen blanks and rhythmbox mutes.

After entering my password to resume, pavucontrol shows no devices in "Output Devices" and "Configuration" tab shows Profile as "Off".

Comment 5 Tom London 2021-03-01 14:47:08 UTC
[tbl@localhost ~]$ ps agx | grep pipewire
   2700 ?        S<sl   0:20 /usr/bin/pipewire-pulse
   2894 ?        S<sl   0:06 /usr/bin/pipewire
   2899 ?        S<l    0:00 /usr/bin/pipewire-media-session
   4797 pts/0    S+     0:00 grep --color=auto pipewire
[tbl@localhost ~]$ kill -9 2899
[tbl@localhost ~]$ ps agx | grep pipewire
   2700 ?        S<sl   0:20 /usr/bin/pipewire-pulse
   2894 ?        S<sl   0:06 /usr/bin/pipewire
   2899 ?        Z<     0:00 [pipewire-media-] <defunct>
   4807 pts/0    S+     0:00 grep --color=auto pipewire
[tbl@localhost ~]$ kill -9 2894
[tbl@localhost ~]$ ps agx | grep pipewire
   2700 ?        S<sl   0:20 /usr/bin/pipewire-pulse
   4823 ?        S<sl   0:00 /usr/bin/pipewire
   4825 ?        S<l    0:00 /usr/bin/pipewire-media-session
   4845 pts/0    S+     0:00 grep --color=auto pipewire

After doing both "kill -9"s and restarting pavucontrol, the profile reappears.

Rhythmbox does not "restore", I have to kill it and restart it to get playback.

Comment 6 Tom London 2021-03-06 14:29:22 UTC
This shell sequence restores sound when it freezes:

     kill -9 $(pgrep pipewire | tail -2)

Comment 7 Wim Taymans 2021-03-08 11:21:33 UTC
Upstream issue: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/466

Comment 8 Tom London 2021-03-10 16:58:56 UTC
Just FYI, issue persists for me with pipewire-0.3.23-2.fc34.x86_64

Comment 9 Fedora Update System 2021-03-18 14:30:41 UTC
FEDORA-2021-2c994d0609 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-2c994d0609

Comment 10 Tom London 2021-03-18 15:45:05 UTC
I upgraded:

pipewire-0.3.24-1.fc33.x86_64.rpm
pipewire-alsa-0.3.24-1.fc33.x86_64.rpm
pipewire-gstreamer-0.3.24-1.fc33.x86_64.rpm
pipewire-libs-0.3.24-1.fc33.x86_64.rpm
pipewire-pulseaudio-0.3.24-1.fc33.x86_64.rpm

and rebooted.

I then allowed the screen to blank (having set the timeout to 1 minute).

After "resuming", rhythmbox did not resume the clip it was playing prior, but switching to a new music clip did indeed play correctly.

Also "pavucontrol" shows the HDMI device.

Thanks!

Comment 11 Fedora Update System 2021-03-18 21:48:24 UTC
FEDORA-2021-2c994d0609 has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-2c994d0609`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-2c994d0609

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2021-03-23 00:16:34 UTC
FEDORA-2021-2c994d0609 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.