Bug 1221150

Summary: TW 20240306: gstreamer-plugins-bad-1.24.0-1.1 ( or rather included libgstva.so ) causes pulseaudio crash (no audio devices found)
Product: [openSUSE] openSUSE Tumbleweed Reporter: Nik Kai <nik.kaiser87>
Component: SoundAssignee: Antonio Larrosa <alarrosa>
Status: CONFIRMED --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P3 - Medium CC: jkohoutek, karl, manfred.h, me, monkeyboyted, Sauerlandlinux, toby
Version: Current   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE Tumbleweed   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Empty sound systray

Description Nik Kai 2024-03-07 22:50:39 UTC
Created attachment 873321 [details]
Empty sound systray

Sorry for the lenghty title, but I wanted to include all relevant package/file names so the bug can be found easier.

Here's what happened: 
After installing today's update, that included gstreamer-plugins-bad from OpenSuse's servers, I didn't have sound after a restart. 
Opened Firefox to google the issue, an old tab had Youtube open which started to autoplay, causing a complete(!) system lockup. 
Pressed the reset button on my PC, repeated the whole thing, still complete crash. 

Started pavucontrol to diagnose which said: Waiting for connection to PulseAudio. Indefinitely. 

Went to terminal and simply entered "pulseaudio" to see if something came up, sure did:

(pulseaudio:3475): GStreamer-WARNING **: 23:24:03.512: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though.
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0

** (pulseaudio:3475): CRITICAL **: 23:24:03.566: gst_va_encoder_new: assertion 'GST_IS_VA_DISPLAY (display)' failed

** (pulseaudio:3475): CRITICAL **: 23:24:03.566: gst_va_encoder_get_rate_control_enum: assertion 'GST_IS_VA_ENCODER (self)' failed

(pulseaudio:3475): GStreamer-CRITICAL **: 23:24:03.566: gst_object_unref: assertion 'object != NULL' failed

(pulseaudio:3475): GStreamer-CRITICAL **: 23:24:03.566: gst_object_unref: assertion 'object != NULL' failed

(pulseaudio:3475): GLib-GObject-CRITICAL **: 23:24:03.566: validate_pspec_to_install: assertion 'G_IS_PARAM_SPEC (pspec)' failed

(pulseaudio:3475): GLib-GObject-CRITICAL **: 23:24:03.566: g_param_spec_ref_sink: assertion 'G_IS_PARAM_SPEC (pspec)' failed

(pulseaudio:3475): GLib-GObject-CRITICAL **: 23:24:03.566: g_param_spec_unref: assertion 'G_IS_PARAM_SPEC (pspec)' failed

ERROR: Caught a segmentation fault while loading plugin file:
/lib64/gstreamer-1.0/libgstva.so

Please either:
- remove it and restart.
- run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
------------------------------------

So we have a segfault in the /lib64/gstreamer-1.0/libgstva.so file, thats included with gstreamer-plugins-bad. 

After removing gstreamer-plugins-bad via Yast including dependencies and another restart, my audio devices started working again. 

I tested the current update on my partner's PC as well, only difference to my setup is that she runs Pipewire, this bug does not affect her, so it's only relevant to people still running Pulseaudio.
Comment 1 Takashi Iwai 2024-03-08 08:38:31 UTC
Antonio, could you take a look?  Sounds like the regression from your latest update or so.
Comment 2 Antonio Larrosa 2024-03-08 08:59:23 UTC
Hmm, actually, gstreamer still uses pulseaudio by default even when pipewire is being used (by going trough the pipewire-pulseaudio compatibility layer). I'm in the process of fixing that, but that's another topic.

Can you check if you have updated all gstreamer packages correctly?
The following command should show no output:

rpm -qa | grep gstreamer.*-1.2[0123]

or if you prefer, the following command should show all gstreamer packages having the same 1.24.0 version (but there might be other packages not from the official gstreamer stack with gstreamer in their name that are fine if they have a different version, if you're unsure feel free to copy the output here):

rpm -qa | grep gstreamer

Also, could you try removing the gstreamer cache just to be sure it's not affecting in some way? You can do so by running:

rm ~/.cache/gstreamer-1.0/registry.x86_64.bin

In fact, I'd try removing that cache file after checking all packages are updated to 1.24.0 and after installing back the gstreamer-plugins-bad package. That way you would be sure that the cache is regenerated from the correct packages in the system. Does that help?
Comment 3 Antonio Larrosa 2024-03-08 09:20:34 UTC
Ignore the comment above, I tested using pulseaudio and indeed, it is failing to start because of the gstreamer update. As a quick solution you might want to use pipewire (installing the wireplumber-audio package will take care of everything, including removing pulseaudio). I'm looking into it
Comment 4 Antonio Larrosa 2024-03-08 10:38:36 UTC
There seems to be a way to "fix it" manually. Can you try installing the gstreamer-plugins-bad package again and then run the next command?

rm ~/.cache/gstreamer-1.0/registry.x86_64.bin ; gst-inspect-1.0 foo

After doing that, pulseaudio seems to start correctly every time. It would be nice if you could verify if that works for you too.
Comment 5 Nik Kai 2024-03-08 16:06:49 UTC
(In reply to Antonio Larrosa from comment #4)
> There seems to be a way to "fix it" manually. Can you try installing the
> gstreamer-plugins-bad package again and then run the next command?
> 
> rm ~/.cache/gstreamer-1.0/registry.x86_64.bin ; gst-inspect-1.0 foo
> 
> After doing that, pulseaudio seems to start correctly every time. It would
> be nice if you could verify if that works for you too.

Hey Antonio, thanks for the speedy responses (and Takashi for pinging)!
About the two commands, I will absolutely run them for you when I get home, but until then (couple hours), could you please tell me what I'm actually doing by running them? I'm always bit hesitant to copy/paste commands that I don't know from somewhere :) Doesn't mean that I don't trust you, I just would like to know what I'm doing. I googled the "registry.x86_64.bin" file, I assume it .. registers .. things? In this case the plugin? And gst-inspect checks its status?

Thanks in advance, as I said I'll reinstall the plugin and verify your command soon.
Comment 6 Nik Kai 2024-03-08 20:36:25 UTC
(In reply to Antonio Larrosa from comment #4)
> There seems to be a way to "fix it" manually. Can you try installing the
> gstreamer-plugins-bad package again and then run the next command?
> 
> rm ~/.cache/gstreamer-1.0/registry.x86_64.bin ; gst-inspect-1.0 foo
> 
> After doing that, pulseaudio seems to start correctly every time. It would
> be nice if you could verify if that works for you too.

Did as instructed, but sadly, your solution does not have any effect. The error still pops up, segfault. 
I will leave the gstreamer-plugins-bad package uninstalled for now.
Comment 7 hui 2024-03-09 08:57:30 UTC
*** Bug 1221203 has been marked as a duplicate of this bug. ***
Comment 8 ted chang 2024-03-09 11:16:33 UTC
(In reply to hui from comment #7)
> *** Bug 1221203 has been marked as a duplicate of this bug. ***

I am not sure why my bug is marked as a duplicated of this bug because removing gstreams-plugins-bad didn't fix my issue.
Comment 9 Alan Prescott 2024-03-09 11:31:42 UTC
Same problem here on Lenovo Yoga laptop connected to Thunderbolt 3 dock following recent upgrade.
No sign of any audio input/output device from

# inxi -A
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel
  Device-2: Lenovo ThinkPad Thunderbolt 3 Dock Audio
    driver: hid-generic,snd-usb-audio,usbhid type: USB
  Device-3: Microdia USB 2.0 Camera driver: snd-usb-audio,uvcvideo type: USB
  API: ALSA v: k6.7.7-1-default status: kernel-api
Comment 10 Antonio Larrosa 2024-03-11 08:41:44 UTC
(In reply to Nik Kai from comment #5)
> Hey Antonio, thanks for the speedy responses (and Takashi for pinging)!
> About the two commands, I will absolutely run them for you when I get home,
> but until then (couple hours), could you please tell me what I'm actually
> doing by running them? I'm always bit hesitant to copy/paste commands that I
> don't know from somewhere :) Doesn't mean that I don't trust you, I just
> would like to know what I'm doing. I googled the "registry.x86_64.bin" file,
> I assume it .. registers .. things? In this case the plugin? And gst-inspect
> checks its status?
> 

Hi, you're right I should have explained it a bit better, sorry about that. From what I debugged last Friday it seems the problem is caused by two different issues. First, the scanning of available plugins is failing with a segmentation fault while loading the libgstva.so plugin. And second, gstreamer is failing to find the gst-plugin-scanner-x86_64 helper binary.

When pulseaudio starts, it tries to find the helper binary to do the plugin scan, and since it can't find it, it does the scanning in the own pulseaudio process. So when it tries to load the libgstva plugin the segfaults makes pulseaudio crash leaving the desktop without audio.

I've just submitted https://build.opensuse.org/request/show/1156870 which fixes the second issue. By making it find the helper binary, pulseaudio (and any other app using gstreamer) doesn't do the plugin scanning itself, but leaves that task to the gst-plugin-scanner-x86_64 helper binary, and when it crashes, it doesn't make pulseaudio crash, keeping it running and providing audio for the desktop.

Once the cache file in ~/.cache/gstreamer-1.0/registry.x86_64.bin is regenerated, plugins aren't rescanned again (at least, for a time). It seems when pulseaudio crashed doing it, the cache file wasn't written but when gst-plugin-scanner-x86_64 crashes, it does write it anyway. So after removing it, if you run pulseaudio manually, you'll still see a crash on your terminal (from gst-plugin-scanner-x86_64) but pulseaudio will keep running and if you stop and run it again, you won't see the segfault anymore (until the cache needs to be regenerated).

The commands I asked you to run (rm ~/.cache/gstreamer-1.0/registry.x86_64.bin ; gst-inspect-1.0 foo) was trying to do this "manually" by first removing the cache file and then running "gst-inspect-1.0 foo" which fails (there's no foo plugin) but regenerates the cache file manually, so the next time you run pulseaudio, it should run fine. At least in my tests, but I see that it didn't work for you.

In any case, https://build.opensuse.org/request/show/1156870 is a first step to fix this by at least reducing the most severe effects of the gstva segfault but the segfault itself still needs to be addressed.
Comment 12 Nik Kai 2024-03-11 17:47:45 UTC
(In reply to Antonio Larrosa from comment #10)
> (In reply to Nik Kai from comment #5)
> > Hey Antonio, thanks for the speedy responses (and Takashi for pinging)!
> > About the two commands, I will absolutely run them for you when I get home,
> > but until then (couple hours), could you please tell me what I'm actually
> > doing by running them? I'm always bit hesitant to copy/paste commands that I
> > don't know from somewhere :) Doesn't mean that I don't trust you, I just
> > would like to know what I'm doing. I googled the "registry.x86_64.bin" file,
> > I assume it .. registers .. things? In this case the plugin? And gst-inspect
> > checks its status?
> > 
> 
> Hi, you're right I should have explained it a bit better, sorry about that.
> From what I debugged last Friday it seems the problem is caused by two
> different issues. First, the scanning of available plugins is failing with a
> segmentation fault while loading the libgstva.so plugin. And second,
> gstreamer is failing to find the gst-plugin-scanner-x86_64 helper binary.
> 
> When pulseaudio starts, it tries to find the helper binary to do the plugin
> scan, and since it can't find it, it does the scanning in the own pulseaudio
> process. So when it tries to load the libgstva plugin the segfaults makes
> pulseaudio crash leaving the desktop without audio.
> 
> I've just submitted https://build.opensuse.org/request/show/1156870 which
> fixes the second issue. By making it find the helper binary, pulseaudio (and
> any other app using gstreamer) doesn't do the plugin scanning itself, but
> leaves that task to the gst-plugin-scanner-x86_64 helper binary, and when it
> crashes, it doesn't make pulseaudio crash, keeping it running and providing
> audio for the desktop.
> 
> Once the cache file in ~/.cache/gstreamer-1.0/registry.x86_64.bin is
> regenerated, plugins aren't rescanned again (at least, for a time). It seems
> when pulseaudio crashed doing it, the cache file wasn't written but when
> gst-plugin-scanner-x86_64 crashes, it does write it anyway. So after
> removing it, if you run pulseaudio manually, you'll still see a crash on
> your terminal (from gst-plugin-scanner-x86_64) but pulseaudio will keep
> running and if you stop and run it again, you won't see the segfault anymore
> (until the cache needs to be regenerated).
> 
> The commands I asked you to run (rm
> ~/.cache/gstreamer-1.0/registry.x86_64.bin ; gst-inspect-1.0 foo) was trying
> to do this "manually" by first removing the cache file and then running
> "gst-inspect-1.0 foo" which fails (there's no foo plugin) but regenerates
> the cache file manually, so the next time you run pulseaudio, it should run
> fine. At least in my tests, but I see that it didn't work for you.
> 
> In any case, https://build.opensuse.org/request/show/1156870 is a first step
> to fix this by at least reducing the most severe effects of the gstva
> segfault but the segfault itself still needs to be addressed.

Thanks so much for your detailed explanation and effort!
As said, I will just leave the package uninstalled for now and check back on its status later.
Comment 13 Jan Kohoutek 2024-03-12 08:38:38 UTC
Segfault in another gstreamer plugin too:

Mar 12 09:02:47 pascal pulseaudio[4958]: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though.
Mar 12 09:02:47 pascal pulseaudio[4958]: ERROR: Caught a segmentation fault while loading plugin file:
Mar 12 09:02:47 pascal pulseaudio[4958]: /lib64/gstreamer-1.0/libgstges.so
Mar 12 09:02:47 pascal pulseaudio[4958]: Please either:
Mar 12 09:02:47 pascal pulseaudio[4958]: - remove it and restart.
Mar 12 09:02:47 pascal pulseaudio[4958]: - run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
Mar 12 09:02:47 pascal systemd[3637]: pulseaudio.service: Main process exited, code=exited, status=255/EXCEPTION
Mar 12 09:02:47 pascal systemd[3637]: pulseaudio.service: Failed with result 'exit-code'.
Mar 12 09:02:47 pascal systemd[3637]: pulseaudio.service: Scheduled restart job, restart counter is at 1.
Mar 12 09:02:47 pascal pulseaudio[5280]: Stale PID file, overwriting.
Comment 15 Alan Prescott 2024-03-13 08:43:00 UTC
I've just run the latest zypper dup and still no audio devices after boot.

Running pulseaudio from tty still reports errors but does bring up the audio devices.

alan@sankyo:~> pulseaudio
W: [pulseaudio] pid.c: Stale PID file, overwriting.

(pulseaudio:5548): GStreamer-WARNING **: 09:19:56.920: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though.
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0

** (pulseaudio:5548): CRITICAL **: 09:19:57.079: _dma_fmt_to_dma_drm_fmts: assertion 'fmt != GST_VIDEO_FORMAT_UNKNOWN' failed

** (pulseaudio:5548): CRITICAL **: 09:19:57.106: gst_va_filter_new: assertion 'GST_IS_VA_DISPLAY (display)' failed

** (pulseaudio:5548): CRITICAL **: 09:19:57.106: gst_va_filter_open: assertion 'GST_IS_VA_FILTER (self)' failed

** (pulseaudio:5548): CRITICAL **: 09:19:57.106: gst_va_filter_install_properties: assertion 'GST_IS_VA_FILTER (self)' failed

(pulseaudio:5548): GStreamer-CRITICAL **: 09:19:57.106: gst_object_unref: assertion 'object != NULL' failed

(pulseaudio:5548): GStreamer-CRITICAL **: 09:19:57.106: gst_object_unref: assertion 'object != NULL' failed

** (pulseaudio:5548): CRITICAL **: 09:19:57.106: gst_va_filter_new: assertion 'GST_IS_VA_DISPLAY (display)' failed

** (pulseaudio:5548): CRITICAL **: 09:19:57.106: gst_va_filter_open: assertion 'GST_IS_VA_FILTER (self)' failed

** (pulseaudio:5548): CRITICAL **: 09:19:57.106: gst_va_filter_install_deinterlace_properties: assertion 'GST_IS_VA_FILTER (self)' failed

(pulseaudio:5548): GStreamer-CRITICAL **: 09:19:57.106: gst_object_unref: assertion 'object != NULL' failed

(pulseaudio:5548): GStreamer-CRITICAL **: 09:19:57.106: gst_object_unref: assertion 'object != NULL' failed

** (pulseaudio:5548): CRITICAL **: 09:19:57.106: gst_va_filter_new: assertion 'GST_IS_VA_DISPLAY (display)' failed

** (pulseaudio:5548): CRITICAL **: 09:19:57.106: gst_va_filter_open: assertion 'GST_IS_VA_FILTER (self)' failed

(pulseaudio:5548): GStreamer-CRITICAL **: 09:19:57.106: gst_object_unref: assertion 'object != NULL' failed

(pulseaudio:5548): GStreamer-CRITICAL **: 09:19:57.106: gst_object_unref: assertion 'object != NULL' failed
E: [pulseaudio] module.c: Failed to load module "module-systemd-login" (argument: ""): initialization failed.


I deleted the GPUCache folder and rebooted but still no audio devices

Journal entries for pulseaudio after reboot (if this helps)

alan@sankyo:~> journalctl -b0 
Mar 13 09:26:52 sankyo pulseaudio[3842]: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if>
Mar 13 09:26:52 sankyo kaccess[3820]: X server XKB extension major= 1  minor= 0
Mar 13 09:26:52 sankyo kernel: warning: `kded5' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
Mar 13 09:26:52 sankyo systemd[3397]: wireplumber.service: Scheduled restart job, restart counter is at 2.
Mar 13 09:26:52 sankyo systemd[3397]: Started Multimedia Service Session Manager.
Mar 13 09:26:52 sankyo wireplumber[3958]: 0x562af63dde10: no modules loaded from context.modules
Mar 13 09:26:52 sankyo wireplumber[3958]: failed to load components: no component provides 'monitor.alsa', wanted by 'hardware.audio [virtual]'
Mar 13 09:26:52 sankyo wireplumber[3958]: disconnected from pipewire
Mar 13 09:26:52 sankyo systemd[3397]: wireplumber.service: Main process exited, code=exited, status=78/CONFIG
Mar 13 09:26:52 sankyo systemd[3397]: wireplumber.service: Failed with result 'exit-code'.
Mar 13 09:26:52 sankyo rtkit-daemon[3543]: Warning: PolicyKit call failed: Unix process subject does not have uid set
Mar 13 09:26:52 sankyo pulseaudio[3842]: libva info: VA-API version 1.20.0
Mar 13 09:26:52 sankyo pulseaudio[3842]: libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
Mar 13 09:26:52 sankyo pulseaudio[3842]: libva info: Found init function __vaDriverInit_1_20
Mar 13 09:26:52 sankyo pulseaudio[3842]: libva info: va_openDriver() returns 0
Mar 13 09:26:52 sankyo dbus-daemon[3428]: [session uid=1001 pid=3428] Activating service name='org.freedesktop.Notifications' requested by ':1.31' (uid=1001 pid=3803 comm="/usr/libexec/kdeconnectd")
Mar 13 09:26:52 sankyo pulseaudio[3842]: _dma_fmt_to_dma_drm_fmts: assertion 'fmt != GST_VIDEO_FORMAT_UNKNOWN' failed
Mar 13 09:26:52 sankyo plasmashell[3601]: file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:265:13: QML SelectableLabel: Binding loop detected for property "implicitWidth"
Mar 13 09:26:52 sankyo systemd[3397]: wireplumber.service: Scheduled restart job, restart counter is at 3.
Mar 13 09:26:53 sankyo pulseaudio[3842]: gst_va_encoder_new: assertion 'GST_IS_VA_DISPLAY (display)' failed
Mar 13 09:26:53 sankyo pulseaudio[3842]: gst_va_encoder_get_rate_control_enum: assertion 'GST_IS_VA_ENCODER (self)' failed
Mar 13 09:26:53 sankyo pulseaudio[3842]: gst_object_unref: assertion 'object != NULL' failed
Mar 13 09:26:53 sankyo pulseaudio[3842]: gst_object_unref: assertion 'object != NULL' failed
Mar 13 09:26:53 sankyo pulseaudio[3842]: validate_pspec_to_install: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Mar 13 09:26:53 sankyo pulseaudio[3842]: g_param_spec_ref_sink: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Mar 13 09:26:53 sankyo pulseaudio[3842]: g_param_spec_unref: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Mar 13 09:26:53 sankyo pulseaudio[3842]: ERROR: Caught a segmentation fault while loading plugin file:
Mar 13 09:26:53 sankyo pulseaudio[3842]: /lib64/gstreamer-1.0/libgstva.so
Mar 13 09:26:53 sankyo pulseaudio[3842]: Please either:
Mar 13 09:26:53 sankyo pulseaudio[3842]: - remove it and restart.
Mar 13 09:26:53 sankyo pulseaudio[3842]: - run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
Mar 13 09:26:53 sankyo systemd[3397]: Started Multimedia Service Session Manager.
Mar 13 09:26:53 sankyo systemd[3397]: pulseaudio.service: Main process exited, code=exited, status=255/EXCEPTION
Mar 13 09:26:53 sankyo systemd[3397]: pulseaudio.service: Failed with result 'exit-code'.
Mar 13 09:26:53 sankyo systemd[3397]: Failed to start Sound Service.
Mar 13 09:26:53 sankyo wireplumber[3993]: 0x5597910a4e10: no modules loaded from context.modules
Mar 13 09:26:53 sankyo wireplumber[3993]: failed to load components: no component provides 'monitor.alsa', wanted by 'hardware.audio [virtual]'
Mar 13 09:26:53 sankyo wireplumber[3993]: disconnected from pipewire
Mar 13 09:26:53 sankyo systemd[3397]: wireplumber.service: Main process exited, code=exited, status=78/CONFIG
Mar 13 09:26:53 sankyo systemd[3397]: wireplumber.service: Failed with result 'exit-code'.


Starting pulseaudio from the CLI brings up all the audio devices in KDE panel
alan@sankyo:~> pulseaudio -D
Comment 16 Antonio Larrosa 2024-03-13 18:51:06 UTC
(In reply to Alan Prescott from comment #15)
> I've just run the latest zypper dup and still no audio devices after boot.
> 

Yes, the fix I submitted on Monday wasn't released yet. I've just asked and I've been told that it will be included in the next TW release that will probably be ready in ~4 hours.

Also, I submitted yesterday the fixes for these issues to upstream (just in case anyone is curious: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6319 and https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6322) and once upstream accepted them, I submitted those same patches to Factory replacing Monday's "quick fix" (in https://build.opensuse.org/request/show/1157152 and https://build.opensuse.org/request/show/1157153) which are still being tested, so they'll be part of the release after the next one.
Comment 17 Antonio Larrosa 2024-03-13 19:01:21 UTC
(In reply to Jan Kohoutek from comment #13)
> Segfault in another gstreamer plugin too:
> 
> Mar 12 09:02:47 pascal pulseaudio[4958]: External plugin loader failed. This
> most likely means that the plugin loader helper binary was not found or
> could not be run. You might need to set the GST_PLUGIN_SCANNER environment
> variable if your setup is unusual. This should normally not be required
> though.
> Mar 12 09:02:47 pascal pulseaudio[4958]: ERROR: Caught a segmentation fault
> while loading plugin file:
> Mar 12 09:02:47 pascal pulseaudio[4958]: /lib64/gstreamer-1.0/libgstges.so
> Mar 12 09:02:47 pascal pulseaudio[4958]: Please either:
> Mar 12 09:02:47 pascal pulseaudio[4958]: - remove it and restart.
> Mar 12 09:02:47 pascal pulseaudio[4958]: - run with --gst-disable-segtrap
> --gst-disable-registry-fork and debug.
> Mar 12 09:02:47 pascal systemd[3637]: pulseaudio.service: Main process
> exited, code=exited, status=255/EXCEPTION
> Mar 12 09:02:47 pascal systemd[3637]: pulseaudio.service: Failed with result
> 'exit-code'.
> Mar 12 09:02:47 pascal systemd[3637]: pulseaudio.service: Scheduled restart
> job, restart counter is at 1.
> Mar 12 09:02:47 pascal pulseaudio[5280]: Stale PID file, overwriting.

That one is "hidden" (as in doesn't have such a big effect) after the fixes I submitted yesterday to gstreamer (and probably even with the fix from Monday that will be released imminently). The problem is that it seems it'll take me much longer to fix this, so my advise would be that if you don't use gstreamer-editing-services (most people don't), just remove that package for now
Comment 18 Takashi Iwai 2024-03-14 06:35:58 UTC
*** Bug 1221370 has been marked as a duplicate of this bug. ***
Comment 19 Alan Prescott 2024-03-16 12:44:34 UTC
OK - just run zypper dup on my Tumbleweed laptop and in amongst the switch to Plasma 6 and Wayland I now have audio devices back.

I'm not going to switch the status to RESOLVED. I'll let other have chance to check things are Ok with them as well - not to mention having to check out Plasma 6 and Wayland and the PlasmaConfigSaver error message after upgrade :-)
Comment 20 Nathan Wolf 2024-03-19 00:11:32 UTC
I am not sure if this is the same problem or not, but I recently stumbled upon this issue too. My current mitigation to get the devices to repopulate was to run this, from the wiki on troubleshooting sound.

sudo udevadm trigger

This doesn't seem to be happening to a separate account that I created AFTER I upgraded to Plasma 6.

What sort of log files can I provide for this?