Some QT applications (okular, qucs-s) segfaulting under Wayland + GNOME 46

I don’t know whether you use Wayland or X11;
however, do you get the same error under both?

This may be helpful to someone.

1 Like

I also see this when running it, but I can’t reproduce the crashing. At least now we know that there is no user configuration at fault.

I wonder if that could be related to theming or some set “env var” in /. You noted that the flatpak version works for you and I assume that your system is up to date, which at least indicates that there is something wrong with the root configuration.

Do you happen to have qt5ct and qt6ct installed and configured, or do you manage your qt themes differently?

Have you tried running the crashing apps while setting different theming environment variables for them? Like for example:
QT_QPA_PLATFORMTHEME="qt6ct" QT_STYLE_OVERRIDE="qt6ct-style" okular

What does dmesg say about the crashing processes?

I am using Wayland. It didn’t occurred to me trying with X11 (doh… Feeling silly). Tomorrow I’ll try, now is sleep time :wink:

Thanks again for your help.

I do not know what qt5ct/qt6ct are… I just installed okular with pamac as ever. It worked ok before the big gnome 46 update… Tomorrow I’ll try what you suggest and report back!

A bit more info about the crash (let’s continue with okular, given that it’s in the official repository.

When it crashes, the only info in dmseg is:

[  192.162190] okular[4293]: segfault at 6 ip 0000000000000006 sp 00007ffd618cc548 error 14 in okular[55a284359000+12000] likely on CPU 0 (core 0, socket 0)
[  192.162201] Code: Unable to access opcode bytes at 0xffffffffffffffdc.

Session type (echo $XDG_SESSION_TYPE) is wayland (will check soon with X11).

ldd /usr/bin/okular
	linux-vdso.so.1 (0x00007ffdca665000)
	libKF6Parts.so.6 => /usr/lib/libKF6Parts.so.6 (0x00007fef632c2000)
	libPlasmaActivities.so.6 => /usr/lib/libPlasmaActivities.so.6 (0x00007fef63287000)
	libKF6XmlGui.so.6 => /usr/lib/libKF6XmlGui.so.6 (0x00007fef631a8000)
	libKF6KIOGui.so.6 => /usr/lib/libKF6KIOGui.so.6 (0x00007fef6313a000)
	libKF6WindowSystem.so.6 => /usr/lib/libKF6WindowSystem.so.6 (0x00007fef630e3000)
	libKF6KIOCore.so.6 => /usr/lib/libKF6KIOCore.so.6 (0x00007fef62f66000)
	libKF6Crash.so.6 => /usr/lib/libKF6Crash.so.6 (0x00007fef62f57000)
	libKF6ConfigWidgets.so.6 => /usr/lib/libKF6ConfigWidgets.so.6 (0x00007fef62f01000)
	libKF6CoreAddons.so.6 => /usr/lib/libKF6CoreAddons.so.6 (0x00007fef62e41000)
	libKF6I18n.so.6 => /usr/lib/libKF6I18n.so.6 (0x00007fef62dc8000)
	libKF6WidgetsAddons.so.6 => /usr/lib/libKF6WidgetsAddons.so.6 (0x00007fef62a00000)
	libQt6Widgets.so.6 => /usr/lib/libQt6Widgets.so.6 (0x00007fef62200000)
	libKF6ConfigGui.so.6 => /usr/lib/libKF6ConfigGui.so.6 (0x00007fef62d95000)
	libKF6ConfigCore.so.6 => /usr/lib/libKF6ConfigCore.so.6 (0x00007fef62d21000)
	libQt6DBus.so.6 => /usr/lib/libQt6DBus.so.6 (0x00007fef62c6a000)
	libQt6Gui.so.6 => /usr/lib/libQt6Gui.so.6 (0x00007fef61800000)
	libQt6Core.so.6 => /usr/lib/libQt6Core.so.6 (0x00007fef61200000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fef60e00000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fef60c1c000)
	libKF6GlobalAccel.so.6 => /usr/lib/libKF6GlobalAccel.so.6 (0x00007fef629cf000)
	libQt6Xml.so.6 => /usr/lib/libQt6Xml.so.6 (0x00007fef629aa000)
	libQt6Network.so.6 => /usr/lib/libQt6Network.so.6 (0x00007fef62041000)
	libQt6PrintSupport.so.6 => /usr/lib/libQt6PrintSupport.so.6 (0x00007fef62934000)
	libKF6ItemViews.so.6 => /usr/lib/libKF6ItemViews.so.6 (0x00007fef611b7000)
	libKF6IconWidgets.so.6 => /usr/lib/libKF6IconWidgets.so.6 (0x00007fef6291c000)
	libKF6IconThemes.so.6 => /usr/lib/libKF6IconThemes.so.6 (0x00007fef61181000)
	libKF6ColorScheme.so.6 => /usr/lib/libKF6ColorScheme.so.6 (0x00007fef62908000)
	libKF6GuiAddons.so.6 => /usr/lib/libKF6GuiAddons.so.6 (0x00007fef61139000)
	libKF6Service.so.6 => /usr/lib/libKF6Service.so.6 (0x00007fef610cf000)
	libKF6Solid.so.6 => /usr/lib/libKF6Solid.so.6 (0x00007fef60b3e000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fef6337e000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fef60a00000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fef610a4000)
	libxcb-res.so.0 => /usr/lib/libxcb-res.so.0 (0x00007fef62c5e000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007fef62900000)
	libxcb-keysyms.so.1 => /usr/lib/libxcb-keysyms.so.1 (0x00007fef628f9000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007fef60915000)
	libKF6AuthCore.so.6 => /usr/lib/libKF6AuthCore.so.6 (0x00007fef6108f000)
	libacl.so.1 => /usr/lib/libacl.so.1 (0x00007fef62038000)
	libmount.so.1 => /usr/lib/libmount.so.1 (0x00007fef608c5000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fef608a0000)
	libKF6Codecs.so.6 => /usr/lib/libKF6Codecs.so.6 (0x00007fef6086c000)
	libudev.so.1 => /usr/lib/libudev.so.1 (0x00007fef60835000)
	libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007fef607e4000)
	libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007fef617ee000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007fef60794000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007fef60647000)
	libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007fef605ff000)
	libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007fef605cd000)
	libOpenGL.so.0 => /usr/lib/libOpenGL.so.0 (0x00007fef605a2000)
	libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007fef60568000)
	libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007fef60459000)
	libmd4c.so.0 => /usr/lib/libmd4c.so.0 (0x00007fef61079000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fef6038b000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007fef60372000)
	libicui18n.so.74 => /usr/lib/libicui18n.so.74 (0x00007fef60000000)
	libicuuc.so.74 => /usr/lib/libicuuc.so.74 (0x00007fef5fe13000)
	libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007fef5fd26000)
	libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3 (0x00007fef6035c000)
	libb2.so.1 => /usr/lib/libb2.so.1 (0x00007fef6033e000)
	libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0x00007fef5fc94000)
	libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007fef5fbc1000)
	libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007fef5fb6d000)
	libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1 (0x00007fef6032f000)
	libproxy.so.1 => /usr/lib/libproxy.so.1 (0x00007fef6032a000)
	libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0x00007fef5f600000)
	libKF6Archive.so.6 => /usr/lib/libKF6Archive.so.6 (0x00007fef5fb2f000)
	libQt6WaylandClient.so.6 => /usr/lib/libQt6WaylandClient.so.6 (0x00007fef5f515000)
	libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0x00007fef5fb1b000)
	libimobiledevice-1.0.so.6 => /usr/lib/libimobiledevice-1.0.so.6 (0x00007fef5faf5000)
	libplist-2.0.so.4 => /usr/lib/libplist-2.0.so.4 (0x00007fef5fada000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fef5fad5000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fef5facb000)
	libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007fef5f4dc000)
	libcap.so.2 => /usr/lib/libcap.so.2 (0x00007fef5f4d0000)
	libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007fef5f418000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fef5f3ef000)
	libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007fef5f34f000)
	libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007fef5f32c000)
	libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007fef5f319000)
	libicudata.so.74 => /usr/lib/libicudata.so.74 (0x00007fef5d400000)
	libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007fef5f1d0000)
	liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007fef5f1a9000)
	liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007fef5f176000)
	libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007fef5d3b0000)
	libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007fef5d2d8000)
	libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007fef5d2aa000)
	libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007fef5f16e000)
	libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007fef5f160000)
	libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007fef5d2a3000)
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007fef5d292000)
	libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1 (0x00007fef5d26f000)
	libpxbackend-1.0.so => /usr/lib/libproxy/libpxbackend-1.0.so (0x00007fef5d260000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007fef5d200000)
	libwayland-cursor.so.0 => /usr/lib/libwayland-cursor.so.0 (0x00007fef5d1f6000)
	libffi.so.8 => /usr/lib/libffi.so.8 (0x00007fef5d1eb000)
	libssl.so.3 => /usr/lib/libssl.so.3 (0x00007fef5d112000)
	libusbmuxd-2.0.so.7 => /usr/lib/libusbmuxd-2.0.so.7 (0x00007fef5d106000)
	libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007fef5d0e0000)
	libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007fef5d01d000)
	libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007fef5ce50000)
	libduktape.so.207 => /usr/lib/libduktape.so.207 (0x00007fef5ce03000)
	libimobiledevice-glue-1.0.so.0 => /usr/lib/libimobiledevice-glue-1.0.so.0 (0x00007fef5cdf0000)
	libnghttp3.so.9 => /usr/lib/libnghttp3.so.9 (0x00007fef5cdcd000)
	libnghttp2.so.14 => /usr/lib/libnghttp2.so.14 (0x00007fef5cda3000)
	libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007fef5cd81000)
	libssh2.so.1 => /usr/lib/libssh2.so.1 (0x00007fef5cd38000)
	libpsl.so.5 => /usr/lib/libpsl.so.5 (0x00007fef5cd22000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007fef5cd1b000)
	libunistring.so.5 => /usr/lib/libunistring.so.5 (0x00007fef5cb6b000)

I have no qt6ct nor qt5ct installed; should I install them? Anyway, If I run it (as suggested by @pux) with

QT_QPA_PLATFORMTHEME="qt6ct" QT_STYLE_OVERRIDE="qt6ct-style" okular

I have

Application: invalid style override 'qt6ct-style' passed, ignoring it.
	Available styles: HighContrastInverse, HighContrast, Adwaita-HighContrastInverse, Adwaita-HighContrast, Adwaita-Dark, Adwaita, Breeze, Windows, Fusion
QAbstractAnimation::pause: Cannot pause a stopped animation
[1]    6208 segmentation fault (core dumped)  QT_QPA_PLATFORMTHEME="qt6ct" QT_STYLE_OVERRIDE="qt6ct-style" /usr/bin/okular

and then the same crash (if I change qt6ct-style with Adwaita, I have no warning, but the crash is still there).

I then installed qt6ct from the official repository, but I still had the same crash.

As suggested by @soundofthunder : I tried it in a “Gnome on X11” session, and it doesn’t crash.

So it’s definitely a QT6 on Wayland Gnome problem… bummer, I liked Wayland…

Interesting, as I see no reason why you would have a problem with QT applications on Wayland other than maybe your mixed dpi multi monitor setup.
What happens if you set the Wayland Plugin like this:

QT_QPA_PLATFORM=wayland okular

If nothing else helps you could try to trace the segmentation fault with valgrind for example, if you like to go down this rabbit hole. :wink:

valgrind --leak-check=full --track-origins=yes --show-reachable=yes okular

should I try this in Wayland, I suppose?

Yes, I’ll try to trace that too (this evening — the Manjaro one is my home computer, for work I am more or less forced to a boring Ubuntu LTS :wink:). I am a bit frustrated that nobody seems able to reproduce it. Otherwise, I would try to report it on okular bug tracker itself…

Yes, sorry I forgot to mention that!

This issue is indeed very unique it seems as your Hardware should be best suited for Wayland, I hope you can find the culprit!


Maybe just to add some thoughts as you mentioned the use of AUR packages.

  • Have you checked if there are any interfering AUR packages/libraries that replace system packages/libraries required by the crashing applications?
  • Have you managed “.pacnew” etc?
  • Have you managed orphaned packages?
  • Have you checked for packages moved to the AUR?
2 Likes

I will check; is there a way to check it rapidly with pacman/pamac? Basically, I think the only relevant (to Qt) AUR I have is qucs-s; I could always try to remove and clean dependencies…

Yes, or so I think, I will double-check.

Hm. No, that I missed. Should I remove all of them, I suppose…

…and this one, no, I didn’t check. I will have a look around this evening. Thanks for the suggestions!

GNOME was once a great platform that’s suitable for running any application. But now, they are doing things to promote their own apps without caring for compatibility with other frameworks, so don’t hope to get your loved apps running fine on GNOME3.

One example is Factorio response to GNOME Client-side window decorations

GNOME, in their infinite wisdom, have decided that all clients must provide their own decorations, and if a client does not, they will simply be missing. I disagree with this decision; Factorio does not need to provide decorations on any other platform, nay, on any other desktop environment, but GNOME can (ab)use its popularity to force programs to conform to its idiosyncrasies or be left behind.

By the way, most popular KDE apps run even on Windows.

Try to run QT_QPA_PLATFORM=xcb okular

2 Likes

Even Okular… Sad, but true.

1 Like

YAY it works! both okular and qucs-s are working with this environment variable (@pux using wayland instead of xcb did crash…)

Thanks a lot! So, what does that mean? Could I have some strange library hanging around? (I did a bit of research, and if I understand correctly, will that option force the use of x11-on-Wayland libraries instead of Wayland native ones? Correct?)

Thanks a lot, @medmedin @pux @soundofthunder , for helping!

Maybe due to Gnome folks deciding to not support server side window decorations on Wayland. But I’m not sure.

In short, you force Qt applications to use X11 (Xwayland) with the xcb “env var”, which turns out to work around the issue in this case.

Why this is necessary I don’t know, as I can’t reproduce it on my Gnome setup, hence my suspiction it beeing related to theming.

1 Like

I think I have found the real culprit.

For reasons I do not know (they did not appear in the list of orphaned packages, and when I removed them, no other package was removed as a dependency…), I had form some AUR these packages:

[2024-05-28T19:35:26+0200] [ALPM] removed qgnomeplatform-qt6 (0.9.1-8)
[2024-05-28T19:35:26+0200] [ALPM] removed adwaita-color-schemes (0.9.1-8)
[2024-05-28T19:35:26+0200] [ALPM] removed adwaita-qt6 (1.4.2-1)
[2024-05-28T19:35:26+0200] [ALPM] transaction completed

…and now the apps are not so nice-looking, but they work. So I think @pux was right.

Thanks again, I am learning a lot from this thread.

This was most likely the problem! Glad it works now and happy rolling! :wink:


By the way, this is a side effect of removing qgnomeplatform as it was once used as the standard theming solution for QT apps in gnome.

You may also want to check your /etc/environment for out of date Environment Variables.

1 Like

Hmm, maybe

QT_QPA_PLATFORMTHEME=qt5ct

could be suspicious…

If not configured, it would at least look alien on Gnome. Please take a look at this section on the Arch Wiki about Qt theming on Gnome.

1 Like

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.