Bug 2064389 - Pipewire throws I/O error when attempting to play sound
Summary: Pipewire throws I/O error when attempting to play sound
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: wireplumber
Version: 36
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Hutterer
QA Contact:
URL:
Whiteboard: AcceptedBlocker
Depends On:
Blocks: ARMTracker F36BetaBlocker
TreeView+ depends on / blocked
 
Reported: 2022-03-15 18:00 UTC by Geoffrey Marr
Modified: 2022-03-18 12:40 UTC (History)
10 users (show)

Fixed In Version: wireplumber-0.4.8-3.fc36
Clone Of:
Environment:
Last Closed: 2022-03-17 18:37:41 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
output of 'journalctl -a' (3.33 MB, text/plain)
2022-03-15 18:03 UTC, Geoffrey Marr
no flags Details
output of 'pw-dump' (182.69 KB, text/plain)
2022-03-15 18:29 UTC, Geoffrey Marr
no flags Details
output of 'journalctl -xe | grep pipewire' (3.67 KB, text/plain)
2022-03-15 18:30 UTC, Geoffrey Marr
no flags Details

Description Geoffrey Marr 2022-03-15 18:00:15 UTC
Description of problem:
In Fedora-Workstation-36_Beta-1.1.aarch64, sound output fails when attempting to play sound through Rhythmbox, totem, or gnome-settings (using the Test function). After attempting to play sound through any of these, this error is found in the log:

fedora pipewire-pulse[1775]: mod.protocol-pulse: client 0xaaaaf1c083e0 [gnome-control-center]: ERROR command:-1 (invalid) tag:12 error:25 (Input/output error)

Version-Release number of selected component (if applicable):
Fedora-Workstation-36_Beta-1.1.aarch64
pipewire-0.3.47-1.fc36.aarch64

How reproducible:
Every time, reproduced on RPi3B+, RPi4, PineBook Pro

Steps to Reproduce:
1. Install Fedora-Workstation-36_Beta-1.1.aarch64 on any hardware
2. Attempt to play a sound using gnome-settings (Sound>Output>Test), totem, or Rhythmbox.
3. No sound played, check log for Input/output error

Additional info:
Sound will correctly play if the user uses pw-cat, for example: "pw-cat -p --target 45 audiotest.wav". Note that when using this command, the target must be set using the --target flag (even if the correct target is set via default), or else the audio will not play and this error is presented:

stream node 63 error: no node available
remote error: id=3 seq:9 res:-2 (No such file or directory): no node available

This seems to be a regression from F35, where just using "pw-cat -r test.wav" will use the default audio target and not require the user to specify the target, even if it's already set as default.

Comment 1 Fedora Blocker Bugs Application 2022-03-15 18:02:33 UTC
Proposed as a Blocker for 36-beta by Fedora user coremodule using the blocker tracking app because:

 Proposing as a potential violation of the following F36 Beta criterion:

"The installed system must be able to play back sound with gstreamer-based applications." [0]

[0] https://fedoraproject.org/wiki/Fedora_36_Beta_Release_Criteria#Working_sound

Comment 2 Geoffrey Marr 2022-03-15 18:03:34 UTC
Created attachment 1866076 [details]
output of 'journalctl -a'

Comment 3 Geoffrey Marr 2022-03-15 18:29:36 UTC
Created attachment 1866081 [details]
output of 'pw-dump'

Comment 4 Geoffrey Marr 2022-03-15 18:30:02 UTC
Created attachment 1866082 [details]
output of 'journalctl -xe | grep pipewire'

Comment 5 Geoffrey Marr 2022-03-15 18:31:34 UTC
Tried pipewire-0.3.48-1.fc36.aarch64, no change.

Comment 6 Adam Williamson 2022-03-16 00:07:52 UTC
Can you try this scratch build of current git HEAD?

https://koji.fedoraproject.org/koji/taskinfo?taskID=84248048

Wim, can you take a look at this urgently? It likely blocks Beta, and go/no-go is Thursday :(

Comment 7 Geoffrey Marr 2022-03-16 04:04:46 UTC
Just tried the scratch build, same thing. Still getting the same I/O error in the log...

Comment 8 Sally 2022-03-16 07:27:01 UTC
I think since pipewire 0.3.45 there is no sound in Fedora 35/36/XFCE/Gnome I test that on rpi4, I tried many options but without good result, so I had to switch back to pulseaudio, I have already opened a file on pipewire bugs you can check it out here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2172

Comment 9 František Zatloukal 2022-03-16 10:48:30 UTC
Trying wireplumber@HEAD if it solves the issue (as indicated in https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2172 )

Comment 10 František Zatloukal 2022-03-16 11:11:08 UTC
Yep, wireplumber from master fixes at least "remote error: id=3 seq:9 res:-2 (No such file or directory): no node available"

Here is a scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=84270540 ; I am still not getting any sound on rpi4, but, is it supposed to work (did it in F35)? I'll give it a shot in the afternoon with the 35/test it on pinebook and bisect to the fixing commit if it works all right on pinebook.

Comment 11 František Zatloukal 2022-03-16 11:28:59 UTC
Mhm, tested on rpi4 with Logitech G933 USB dongle:

wireplumber-0.4.8: Borked, no audio, remote error from pw-cat
wireplumber-master: Audio works, pw-cat works

Comment 13 František Zatloukal 2022-03-16 11:56:09 UTC
PR: https://src.fedoraproject.org/rpms/wireplumber/pull-request/2

Comment 14 Geoffrey Marr 2022-03-16 15:37:49 UTC
(In reply to František Zatloukal from comment #10)
> Yep, wireplumber from master fixes at least "remote error: id=3 seq:9 res:-2
> (No such file or directory): no node available"
> 
> Here is a scratch build:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=84270540 ; I am still
> not getting any sound on rpi4, but, is it supposed to work (did it in F35)?
> I'll give it a shot in the afternoon with the 35/test it on pinebook and
> bisect to the fixing commit if it works all right on pinebook.

I'm sure you figured it out by now Frantisek, but sound worked OK on F35 for RPi4. I know sound on F35 for PineBook Pro did not work, but it did on the RPi4.

(In reply to František Zatloukal from comment #12)
> Bisected to:
> https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/
> e429db7e8c266045aee25e153fb2308bd61fe233
> 
> Scratch: https://koji.fedoraproject.org/koji/taskinfo?taskID=84271343

Tested this scratch build of Wireplumber on RPi4 and Jetson Nano (Jetson Nano with a USB soundcard as it has none built-in) and sound works! No I/O errors in the log and I can reliably switch sound sources from one to another and still get sound out. LGTM.

Comment 15 Adam Williamson 2022-03-16 16:06:59 UTC
+5 in https://pagure.io/fedora-qa/blocker-review/issue/673 , marking accepted. I merged the fix and am building it now, thanks a lot for working that out, František!

Comment 16 Fedora Update System 2022-03-16 16:16:02 UTC
FEDORA-2022-7ed72a551e has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-7ed72a551e

Comment 17 Adam Williamson 2022-03-16 16:18:12 UTC
Sorry folks, can you just test one more thing? I noticed that pipewire 0.3.48 is in updates-testing, so stable is 0.3.47. Can we test and confirm that the combination of pipewire 0.3.47 from stable plus wireplumber 0.4.8-3 (the newly-created update) works OK? As that's what we would likely wind up shipping. Thanks!

Comment 18 Geoffrey Marr 2022-03-16 16:47:30 UTC
Tested these combinations:

pipewire-0.3.47-1.fc36.aarch64
wireplumber-0.4.8-3.fc36.aarch64

AND

pipewire-0.3.48-1.fc36.aarch64
wireplumber-0.4.8-3.fc36.aarch64

Both work as expected!

Comment 19 Fedora Update System 2022-03-17 17:11:24 UTC
FEDORA-2022-7ed72a551e has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-7ed72a551e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-7ed72a551e

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

Comment 20 Fedora Update System 2022-03-17 18:37:41 UTC
FEDORA-2022-7ed72a551e has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 21 Sally 2022-03-18 12:40:41 UTC
It works with me, on Fedora 36 Beta/XFCE on RPi4/
pipewire-0.3.48-1.fc36.aarch64
wireplumber-0.4.8-3.fc36.aarch64
Thank you.


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