Wireplumber crash after tumbleweed upgrade

After the latest Tumbleweed upgrade, wireplumber 0.4.14 crashes with:

W 09:58:57.931158         spa.bluez5 ../spa/plugins/bluez5/bluez5-dbus.c:5204:get_managed_objects_reply: GetManagedObjects() failed: org.freedesktop.DBus.Error.NameHasNoOwner
wireplumber: mixer.c:432: snd_mixer_elem_add: Assertion `dir != 0' failed.
Aborted (core dumped)

(Note that this workstation doesn’t have any bluetooth adapter).

Any idea how to debug this further?

This may be of help…
https://pipewire.pages.freedesktop.org/wireplumber/daemon-logging.html

Stop the existing wireplumber service

systemctl --user stop wireplumber

then restart manually in a terminal like this

WIREPLUMBER_DEBUG=D wireplumber

You could redirect the output to a file with something like

WIREPLUMBER_DEBUG=D wireplumber out.txt 2>&1

It will be lengthy, and I’m not sure what it will tell us about your particular issue.

My audio is not working either after the latest upgrade: Wireplumber output

Thank you! I didn’t know the proper way to get more output out of wireplumber (it doesn’t support the usual --verbose or --debug options).

Though for my case, turns out that the bumping up to pipe 0.3.69 in this morning’s TumbleWeed update solved the problem, so no more problems to report.

1 Like

Thanks for the update. With TW, it’s often a matter of waiting until updated packages arrive.

Yup, same in my experience, too.

Part of my reason to switch to a rolling distro about a decade ago when Tumbleweed became available: faster updates to newer version and newer tech. (Makes up for the slightly more bumpy road with regards to unexpected bugs and regressions).

Annnd… crashes returned this morning.
Thanks to the verbose trick, I can now see the details. It’s exactly the same situation as green_technician above:

…mine is also crashing while trying to probe the input:

D 09:59:08.152729   m-reserve-device ../modules/module-reserve-device/reserve-device.c:465:on_name_acquired: <WpReserveDevice:0x5558a22bd7d0> org.freedesktop.ReserveDevice1.Audio1 acquired
D 09:59:08.152768         pw.context ../src/pipewire/context.c:1552:pw_context_load_spa_handle: 0x5558a20d0a20: load factory api.alsa.acp.device
D 09:59:08.152781         pw.context ../src/pipewire/pipewire.c:229:load_spa_handle: load lib:'alsa/libspa-alsa' factory-name:'api.alsa.acp.device'
D 09:59:08.152795           spa.alsa ../spa/plugins/alsa/alsa-acp-device.c:1060:impl_init: probe card hw:1
I 09:59:08.154377           spa.alsa main.c:1541:snd_use_case_mgr_open: error: failed to import hw:1 use case configuration -2
I 09:59:08.154689           spa.alsa main.c:1541:snd_use_case_mgr_open: error: failed to import Yamaha DS-1E (YMF754) use case configuration -2
I 09:59:08.154699           spa.alsa ../spa/plugins/alsa/acp/alsa-ucm.c:763:pa_alsa_ucm_query_profiles: UCM not available for card Yamaha DS-1E (YMF754)
D 09:59:08.154717           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/profile-sets/default.conf'
D 09:59:08.162711           spa.alsa ../spa/plugins/alsa/acp/alsa-mixer.c:5142:pa_alsa_profile_set_probe: Looking at profile input:analog-stereo
D 09:59:08.162748           spa.alsa ../spa/plugins/alsa/acp/alsa-mixer.c:5175:pa_alsa_profile_set_probe: Checking for recording on Analog Stereo (analog-stereo)
D 09:59:08.162759           spa.alsa ../spa/plugins/alsa/acp/alsa-util.c:698:pa_alsa_open_by_device_string: Trying front:1 with SND_PCM_NO_AUTO_FORMAT ...
I 09:59:08.167754           spa.alsa ../spa/plugins/alsa/acp/alsa-util.c:708:pa_alsa_open_by_device_string: ALSA device open 'front:1' capture: 0x5558a23ce2b0
D 09:59:08.167794           spa.alsa ../spa/plugins/alsa/acp/alsa-util.c:325:pa_alsa_set_hw_params: Maximum hw buffer size is 341 ms
D 09:59:08.167834           spa.alsa ../spa/plugins/alsa/acp/alsa-util.c:339:pa_alsa_set_hw_params: Set buffer size first (to 4800 samples), period size second (to 1200 samples).
D 09:59:08.167844           spa.alsa ../spa/plugins/alsa/acp/alsa-mixer.c:5199:pa_alsa_profile_set_probe: Profile input:analog-stereo supported.
D 09:59:08.167862           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-front-mic.conf'
D 09:59:08.167931           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common'
D 09:59:08.167989           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-rear-mic.conf'
D 09:59:08.168047           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common'
D 09:59:08.168097           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-internal-mic.conf'
D 09:59:08.168176           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common'
D 09:59:08.168229           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-dock-mic.conf'
D 09:59:08.168284           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common'
D 09:59:08.168333           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input.conf'
D 09:59:08.168392           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input.conf.common'
D 09:59:08.168590           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf'
D 09:59:08.168682           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common'
D 09:59:08.168753           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-linein.conf'
D 09:59:08.168859           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-aux.conf'
D 09:59:08.168903           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input.conf.common'
D 09:59:08.169092           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-video.conf'
D 09:59:08.169131           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input.conf.common'
D 09:59:08.169337           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-tvtuner.conf'
D 09:59:08.169377           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input.conf.common'
D 09:59:08.169552           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-fm.conf'
D 09:59:08.169590           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input.conf.common'
D 09:59:08.169767           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic-line.conf'
D 09:59:08.169804           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input.conf.common'
D 09:59:08.169917           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common'
D 09:59:08.170029           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-headphone-mic.conf'
D 09:59:08.170094           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common'
D 09:59:08.170154           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-headset-mic.conf'
D 09:59:08.170225           spa.alsa ../spa/plugins/alsa/acp/conf-parser.c:177:pa_config_parse: Parsing configuration file '/usr/share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common'
wireplumber: mixer.c:432: snd_mixer_elem_add: Assertion `dir != 0' failed.
Aborted (core dumped)

This happens precisely when scanning for the input of hw1 (a YMF754 PCI card).
(Whereas for @green_technician it’s for another device a virtual Loopback).

Disabling the card by removing the module (rmmod) solves the problem, re-enabling the module (modprobe) brings back the crash.
So it look like wireplumber has problem when needing to handle inputs for that card.

Question (I’m not that good with wireplumber configuration): is there a way to disable the inputs on this card?
(Note: I don’t need that card for my day-to-day work).

Found the corresponding issue on upstream wirepluber gitlab:

Apparently it’s fixed so we need to wait for an update.

2 Likes

I have been having a multitude of other unrelated bugs and finally got around to trying to dup last week, only to run into this bug. I rolled back and then ran into it again today trying to dup again.
Is this also still outstanding for others?

ok… wtf… after hours of smashing my head against the wall with this I just gave up and tried to revert to pulseaudio (I doubt this would even work but whatever, system is hosed so why not give it a go).

did a simple zypper in pulseaudio and rebooted and sound is working now…

Yes, mostly:
according to the bug report I kibked above, it’s fixed in pipewire 0.3.70, but the base Tumbleweed is at 0.3.69 still.
But there are work arounds:

Indeed, it’s a solution.
Another one is using the Multimedia OBS, there is 0.3.70 already in there.

(and in my case, I am rmmod’ing the incriminated driver, as I don’t currently need that audio card).

Oh wow, thanks for the info!

Yep, I tried that link but got a 404, not sure why, maybe it’s set as a private project or something? Or perhaps they really deleted the issue? :person_shrugging:
Or maybe something else? @green_technician 's wireplumber output paste didn’t work for me either!

Anyway, I’m not sure I really reverted properly to pulseaudio or anything, wireplumber is just starting correctly now, as is pipewire, which led to most of my confusion before spluttering out the last reply.

I’m spoiled by tumbleweed’s usually very quick updates for new packages to remove known bugs (and introduce fresh suspend/sleep ones with new kernels or kde :wink: ), so I figured it was probably already fixed since last week and that something else was more broken with my system.

Pipewire 0.3.70 released on the main Tumbleweed repo. I’ll test it tomorrow.

Testing now:
Yes, the problematic sound card (YMF-754 DS-1E) works without crashing wireplumber.
Yay!

1 Like