geckolinux / geckolinux-project

GeckoLinux bug tracker and documentation
https://geckolinux.github.io
209 stars 17 forks source link

Settings program and other programs fail to launch after updating; gstreamer-1.0/libgstvaapi.so bug #392

Closed Bum-Cement closed 1 year ago

Bum-Cement commented 2 years ago

This issue is for the Budgie Desktop on Gecko Linux 153 STATIC and may exist for other desktop environments of Gecko Linux. After a new install and then fully updating, the Settings application fails to launch. YaST and Budgie Desktop Settings will launch, but Settings does not. Settings is where wallpapers and such can be changed. I also found that the default installed applications Clementine, Pidgin and Pix Image Viewer failed to launch and terminal output gave details about segfault. It appears to be a bug in GStreamer. I have added a couple of relevant links regarding that GStreamer bug. I've attached a video demonstrating the inability to open the Settings program and a HardInfo report. (While trying to convert the .mkv video to .mp4 so I can upload here I found that the Handbrake application for video conversion also fails to launch.)

Gecko Linux 153 Static Budgie Desktop

So far, Settings, Pidgin, Pix Image Viewer, Clementine, and Handbrake won't launch.

This is output of Pidign when I try to run it:

jun@fragbox:~> pidgin

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

Please either:
- remove it and restart.
- run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
jun@fragbox:~> pidgin --gst-disable-segtrap --gst-disable-registry-fork
pidgin: unrecognized option '--gst-disable-segtrap'
Pidgin 2.13.0. Try `pidgin -h' for more information.

This is output of Clementine when I try to run it:

jun@fragbox:~> clementine
16:07:08.051 INFO  {anonymous}:225                  Using default config locations.
16:07:08.051 INFO  main:320                         Clementine-qt5 1.4 rc2
16:07:08.229 DEBUG NetworkProxyFactory:49           Detected system proxy URLs: ("", "", "", "")
16:07:08.230 DEBUG WorkerPool<HandlerType>:281      Starting worker 0x7fa77eb9a5b0 "/usr/bin/clementine-tagreader" "/tmp/clementine_561097967"
16:07:08.231 DEBUG WorkerPool<HandlerType>:281      Starting worker 0x7fa77eb9a5b0 "/usr/bin/clementine-tagreader" "/tmp/clementine_731072386"
16:07:08.232 DEBUG WorkerPool<HandlerType>:281      Starting worker 0x7fa77eb9a5b0 "/usr/bin/clementine-tagreader" "/tmp/clementine_1837633318"
16:07:08.233 DEBUG WorkerPool<HandlerType>:281      Starting worker 0x7fa77eb9a5b0 "/usr/bin/clementine-tagreader" "/tmp/clementine_1397834013"
16:07:08.240 INFO  main:48                          TagReader worker connecting to "/tmp/clementine_561097967"
16:07:08.240 DEBUG WorkerPool<HandlerType>:301      Worker 0x7fa7740060c0 connected to "/tmp/clementine_561097967"
16:07:08.243 INFO  main:48                          TagReader worker connecting to "/tmp/clementine_1837633318"
16:07:08.244 INFO  main:48                          TagReader worker connecting to "/tmp/clementine_1397834013"
16:07:08.244 DEBUG WorkerPool<HandlerType>:301      Worker 0x7fa774005080 connected to "/tmp/clementine_1837633318"
16:07:08.244 DEBUG WorkerPool<HandlerType>:301      Worker 0x7fa7740097b0 connected to "/tmp/clementine_1397834013"
16:07:08.247 INFO  main:48                          TagReader worker connecting to "/tmp/clementine_731072386"
16:07:08.248 DEBUG WorkerPool<HandlerType>:301      Worker 0x7fa774006970 connected to "/tmp/clementine_731072386"
16:07:08.278 DEBUG GnomeGlobalShortcutBackend:55    registering
16:07:08.508 DEBUG MainWindow:230                   Starting
16:07:08.704 DEBUG CoverProviders:36                Registered cover provider "MusicBrainz"
16:07:08.704 DEBUG CoverProviders:36                Registered cover provider "Discogs"
16:07:08.704 DEBUG CoverProviders:36                Registered cover provider "last.fm"
16:07:08.715 DEBUG MainWindow:310                   Initialising player
16:07:08.731 DEBUG logging:77(GLib)                 posix_spawn avoided (fd close requested) 
16:07:08.733 WARN  logging:69(GStreamer)            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.

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

Please either:
- remove it and restart.
- run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
16:07:08.739 WARN  unknown                          QObject::~QObject: Timers cannot be stopped from another thread 
16:07:08.799 DEBUG MainWindow:316                   Creating models
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::dataChanged(QModelIndex,QModelIndex,QVector<int>) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::headerDataChanged(Qt::Orientation,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::rowsAboutToBeInserted(QModelIndex,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::rowsInserted(QModelIndex,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::columnsAboutToBeInserted(QModelIndex,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::columnsInserted(QModelIndex,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::rowsAboutToBeRemoved(QModelIndex,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::rowsRemoved(QModelIndex,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::columnsAboutToBeRemoved(QModelIndex,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::columnsRemoved(QModelIndex,int,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::rowsMoved(QModelIndex,int,int,QModelIndex,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::columnsMoved(QModelIndex,int,int,QModelIndex,int) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint) 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::modelAboutToBeReset() 
16:07:08.799 WARN  unknown                          QObject::disconnect: No such signal QObject::modelReset() 
Segmentation fault (core dumped)

This is the output of Pix Image Viewer:

jun@fragbox:~> pix

(pix:32436): GStreamer-WARNING **: 17:30:09.861: 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.

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

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

I did find this: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/254 And this: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245722

https://user-images.githubusercontent.com/88676245/169459529-c50d9a33-08d6-4492-91f6-5bc319dba395.mp4

Hard_Info_Report_GeckoLinux_STATIC_Budgie.x86_64-153.220104.0.tar.gz

Update May 21, 2022: I just compressed the file /usr/lib64/gstreamer-1.0/libgstvaapi.so into an archive so it's not accessible to the system and now Settings, Pidgin, Pix Image Viewer, Clementine, and Handbrake will open. However, I'm still unable to set a desktop or lockscreen background and the desktop background has become a black screen. Still can't set a desktop wallpaper through the Settings (gnome-control-center) program. See attached video.

https://user-images.githubusercontent.com/88676245/169640330-f6dedc40-8060-4464-b821-87e364aac3e6.mp4

To launch the Settings program from the terminal I type, gnome-control-center. I tried running it as sudo and su to see if it's a permissions issue for setting background and I received an error about not being able to contact the display. So I ran gnome-control-center and set DISPLAY=:0 by running the command: DISPLAY=:0 gnome-control-center to open the Settings program (gnome-control-center) with sudo permissions, but then I'm still unable to set background wallpapers. Here is the output from the terminal:

> gnome-control-center

** (gnome-control-center:17828): WARNING **: 00:19:28.720: Ignoring broken panel color (missing desktop file)

** (gnome-control-center:17828): WARNING **: 00:19:28.722: Ignoring broken panel online-accounts (missing desktop file)
> sudo gnome-control-center
Unable to init server: Could not connect: Connection refused

(gnome-control-center:17848): Gtk-CRITICAL **: 00:19:40.879: gtk_style_context_add_provider_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
Unable to init server: Could not connect: Connection refused

(gnome-control-center:17848): Gtk-WARNING **: 00:19:40.880: cannot open display: 
> clear

> su
Password: 
fragbox:/home/jun # DISPLAY=:0 gnome-control-center

(gnome-control-center:18142): GStreamer-WARNING **: 00:21:49.672: 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.

** (gnome-control-center:18142): WARNING **: 00:21:53.689: Ignoring broken panel color (missing desktop file)

** (gnome-control-center:18142): WARNING **: 00:21:53.691: Ignoring broken panel online-accounts (missing desktop file)

(gnome-control-center:18142): dconf-WARNING **: 00:21:53.765: failed to commit changes to dconf: The connection is closed
Error creating rfkill proxy: (null)

(gnome-control-center:18142): dconf-WARNING **: 00:21:57.083: failed to commit changes to dconf: The connection is closed

(gnome-control-center:18142): dconf-WARNING **: 00:21:59.489: failed to commit changes to dconf: The connection is closed

(gnome-control-center:18142): dconf-WARNING **: 00:21:59.489: failed to commit changes to dconf: The connection is closed

Where it says, "GStreamer-WARNING **: 00:21:49.672: External plugin loader failed...." this is probably due to the bug with GStreamer and libgstvaapi.so which I referenced above. So it seems the Settings program (gnome-control-center) won't launch because of that also.

Note to others who encounter this issue: If you've lost the ability to use the Settings program (gnome-control-center) and to be able to set your wallpaper backgrounds, you can go to /usr/share/wallpapers and right-click an image to open with Image Viewer and then right-click the image in Image Viewer there to Set as Wallpaper. Put your own images in /usr/share/wallpapers to be able to set them as wallpapers. Also, if you make the file libgstvaapi.so inaccessbile to the system by deleting it (don't recommend), moving it, or compressing it into an archive, your other programs which try to load it will then be able launch and run.

geckolinux commented 2 years ago

Hi there, I tested this with a fresh install of GeckoLinux_STATIC_Budgie.x86_64-153.220104.0.iso and I updated it as described here: https://github.com/geckolinux/geckolinux-project/wiki#updates-to-geckolinux-static-within-the-same-major-opensuse-version After rebooting the system still works fine. So it appears to be something specific to your hardware, specifically the graphics card.

Could you please try opening YaST Software and searching for vdpau and removing all of the installed matches except for libvdpau1 (which is a required dependency of other packages). Thanks in advance.

Bum-Cement commented 2 years ago

Hello, I've removed all vdpau packages except libvdpau1 and all is working well. Removing those has solved the issue. Thank you.

geckolinux commented 2 years ago

Reopening for todo list, check the vdpau* optimal defaults for next release.

geckolinux commented 1 year ago

Please try again in the latest GeckoLinux release.