SDDM/GDM Fail after upgrading via DNF5 from F39 to F40

I just upgraded on my Laptop and am getting the black screen. It’s failing on both GDM and SDDM. I’ve included info from coredumpinfo. Has anyone else had this issue, I haven’t opened a bugzilla yet, but can. System works fine on F39.

PID: 1332 (sddm-greeter-qt)
           UID: 977 (sddm)
           GID: 975 (sddm)
        Signal: 6 (ABRT)
     Timestamp: Fri 2024-04-05 16:40:55 PDT (1h 32min ago)
  Command Line: /usr/bin/sddm-greeter-qt6 --socket /tmp/sddm--wxhlSP --theme /usr/share/sddm/themes/breeze
    Executable: /usr/bin/sddm-greeter-qt6
 Control Group: /user.slice/user-977.slice/session-c1.scope
          Unit: session-c1.scope
         Slice: user-977.slice
       Session: c1
     Owner UID: 977 (sddm)
      Hostname: elysium
       Storage: /var/lib/systemd/coredump/core.sddm-greeter-qt.977.35945aaea15547bf902586591e0c9a6f.1332.1712360455000000.zst (present)
  Size on Disk: 923.4K
       Package: sddm/0.21.0-4.fc40
      build-id: 87cf5820ea94c5d67106e4665be14d1f46846eb1
       Message: Process 1332 (sddm-greeter-qt) of user 977 dumped core.
                
                Module libwayland-cursor.so.0 from rpm wayland-1.22.0-3.fc40.x86_64
                Module libwayland-client.so.0 from rpm wayland-1.22.0-3.fc40.x86_64
                Module libQt6WaylandClient.so.6 from rpm qt6-qtwayland-6.6.2-1.fc40.x86_64
                Module libqwayland-generic.so from rpm qt6-qtwayland-6.6.2-1.fc40.x86_64
                Module libcrypt.so.2 from rpm libxcrypt-4.4.36-5.fc40.x86_64
                Module libblkid.so.1 from rpm util-linux-2.40-0.9.rc1.fc40.x86_64
                Module libsasl2.so.3 from rpm cyrus-sasl-2.1.28-19.fc40.x86_64
                Module libevent-2.1.so.7 from rpm libevent-2.1.12-12.fc40.x86_64
                Module libunistring.so.5 from rpm libunistring-1.1-7.fc40.x86_64
                Module libmount.so.1 from rpm util-linux-2.40-0.9.rc1.fc40.x86_64
                Module libgmodule-2.0.so.0 from rpm glib2-2.80.0-1.fc40.x86_64
                Module libssl.so.3 from rpm openssl-3.2.1-2.fc40.x86_64
                Module libpsl.so.5 from rpm libpsl-0.21.5-3.fc40.x86_64
                Module libssh.so.4 from rpm libssh-0.10.6-5.fc40.x86_64
                Module libidn2.so.0 from rpm libidn2-2.3.7-1.fc40.x86_64
                Module libnghttp2.so.14 from rpm nghttp2-1.59.0-3.fc40.x86_64
                Module libffi.so.8 from rpm libffi-3.4.4-7.fc40.x86_64
                Module libduktape.so.207 from rpm duktape-2.7.0-7.fc40.x86_64
                Module libgio-2.0.so.0 from rpm glib2-2.80.0-1.fc40.x86_64
                Module libcurl.so.4 from rpm curl-8.6.0-8.fc40.x86_64
                Module libselinux.so.1 from rpm libselinux-3.6-4.fc40.x86_64
                Module libicudata.so.74 from rpm icu-74.2-1.fc40.x86_64
                Module libbz2.so.1 from rpm bzip2-1.0.8-18.fc40.x86_64
                Module libgraphite2.so.3 from rpm graphite2-1.3.14-15.fc40.x86_64
                Module libXext.so.6 from rpm libXext-1.3.6-1.fc40.x86_64
                Module libdbus-1.so.3 from rpm dbus-1.14.10-3.fc40.x86_64
                Module libpcre2-8.so.0 from rpm pcre2-10.42-2.fc40.2.x86_64
                Module libxml2.so.2 from rpm libxml2-2.12.6-1.fc40.x86_64
                Module libGLdispatch.so.0 from rpm libglvnd-1.7.0-4.fc40.x86_64
                Module libgobject-2.0.so.0 from rpm glib2-2.80.0-1.fc40.x86_64
                Module libpxbackend-1.0.so from rpm libproxy-0.5.3-5.fc40.x86_64
                Module libbrotlicommon.so.1 from rpm brotli-1.1.0-3.fc40.x86_64
                Module libkeyutils.so.1 from rpm keyutils-1.6.3-3.fc40.x86_64
                Module libkrb5support.so.0 from rpm krb5-1.21.2-5.fc40.x86_64
                Module libcom_err.so.2 from rpm e2fsprogs-1.47.0-5.fc40.x86_64
                Module libk5crypto.so.3 from rpm krb5-1.21.2-5.fc40.x86_64
                Module libkrb5.so.3 from rpm krb5-1.21.2-5.fc40.x86_64
                Module libpcre2-16.so.0 from rpm pcre2-10.42-2.fc40.2.x86_64
                Module libb2.so.1 from rpm libb2-0.98.1-11.fc40.x86_64
                Module libdouble-conversion.so.3 from rpm double-conversion-3.3.0-3.fc40.x86_64
                Module libicuuc.so.74 from rpm icu-74.2-1.fc40.x86_64
                Module libicui18n.so.74 from rpm icu-74.2-1.fc40.x86_64
                Module libfreetype.so.6 from rpm freetype-2.13.2-5.fc40.x86_64
                Module libharfbuzz.so.0 from rpm harfbuzz-8.4.0-1.fc40.x86_64
                Module libpng16.so.16 from rpm libpng-1.6.40-3.fc40.x86_64
                Module libOpenGL.so.0 from rpm libglvnd-1.7.0-4.fc40.x86_64
                Module libGLX.so.0 from rpm libglvnd-1.7.0-4.fc40.x86_64
                Module libxkbcommon.so.0 from rpm libxkbcommon-1.6.0-2.fc40.x86_64
                Module libQt6DBus.so.6 from rpm qt6-qtbase-6.6.2-6.fc40.x86_64
                Module libglib-2.0.so.0 from rpm glib2-2.80.0-1.fc40.x86_64
                Module libX11.so.6 from rpm libX11-1.8.7-3.fc40.x86_64
                Module libfontconfig.so.1 from rpm fontconfig-2.15.0-4.fc40.x86_64
                Module libEGL.so.1 from rpm libglvnd-1.7.0-4.fc40.x86_64
                Module libcrypto.so.3 from rpm openssl-3.2.1-2.fc40.x86_64
                Module libproxy.so.1 from rpm libproxy-0.5.3-5.fc40.x86_64
                Module libz.so.1 from rpm zlib-ng-2.1.6-2.fc40.x86_64
                Module libbrotlidec.so.1 from rpm brotli-1.1.0-3.fc40.x86_64
                Module libgssapi_krb5.so.2 from rpm krb5-1.21.2-5.fc40.x86_64
                Module libzstd.so.1 from rpm zstd-1.5.6-1.fc40.x86_64
                Module liblzma.so.5 from rpm xz-5.4.6-3.fc40.x86_64
                Module liblz4.so.1 from rpm lz4-1.9.4-6.fc40.x86_64
                Module libcap.so.2 from rpm libcap-2.69-3.fc40.x86_64
                Module libXau.so.6 from rpm libXau-1.0.11-6.fc40.x86_64
                Module libQt6OpenGL.so.6 from rpm qt6-qtbase-6.6.2-6.fc40.x86_64
                Module libQt6QmlModels.so.6 from rpm qt6-qtdeclarative-6.6.2-3.fc40.x86_64
                Module libQt6Core.so.6 from rpm qt6-qtbase-6.6.2-6.fc40.x86_64
                Module libQt6Gui.so.6 from rpm qt6-qtbase-6.6.2-6.fc40.x86_64
                Module libQt6Network.so.6 from rpm qt6-qtbase-6.6.2-6.fc40.x86_64
                Module libQt6Qml.so.6 from rpm qt6-qtdeclarative-6.6.2-3.fc40.x86_64
                Module libsystemd.so.0 from rpm systemd-255.4-1.fc40.x86_64
                Module libxcb-xkb.so.1 from rpm libxcb-1.16-4.fc40.x86_64
                Module libxcb.so.1 from rpm libxcb-1.16-4.fc40.x86_64
                Module libQt6Quick.so.6 from rpm qt6-qtdeclarative-6.6.2-3.fc40.x86_64
                Module sddm-greeter-qt6 from rpm sddm-0.21.0-4.fc40.x86_64
                Stack trace of thread 1332:
                #0  0x00007fe68b6a8144 __pthread_kill_implementation (libc.so.6 + 0x98144)
                #1  0x00007fe68b65065e raise (libc.so.6 + 0x4065e)
                #2  0x00007fe68b638902 abort (libc.so.6 + 0x28902)
                #3  0x00007fe68bcca48d _Z6qAbortv (libQt6Core.so.6 + 0xca48d)
                #4  0x00007fe68bd1567d _ZL10qt_message9QtMsgTypeRK18QMessageLogContextPKcP13__va_list_tag (libQt6Core.so.6 + 0x11567d)
                #5  0x00007fe68bccb3f5 _ZNK14QMessageLogger5fatalEPKcz (libQt6Core.so.6 + 0xcb3f5)
                #6  0x00007fe68c539d6c _ZL13init_platformRK7QStringS1_S1_RiPPc.cold (libQt6Gui.so.6 + 0x139d6c)
                #7  0x00007fe68c5d9b3c _ZN22QGuiApplicationPrivate25createPlatformIntegrationEv (libQt6Gui.so.6 + 0x1d9b3c)
                #8  0x00007fe68c5da5a0 _ZN22QGuiApplicationPrivate21createEventDispatcherEv (libQt6Gui.so.6 + 0x1da5a0)
                #9  0x00007fe68bd968f5 _ZN23QCoreApplicationPrivate4initEv (libQt6Core.so.6 + 0x1968f5)
                #10 0x00007fe68c5de11d _ZN22QGuiApplicationPrivate4initEv (libQt6Gui.so.6 + 0x1de11d)
                #11 0x00007fe68c5dfdc5 _ZN15QGuiApplicationC1ERiPPci (libQt6Gui.so.6 + 0x1dfdc5)
                #12 0x000055602d15fe37 main (sddm-greeter-qt6 + 0x14e37)
                #13 0x00007fe68b63a088 __libc_start_call_main (libc.so.6 + 0x2a088)
                #14 0x00007fe68b63a14b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a14b)
                #15 0x000055602d165b65 _start (sddm-greeter-qt6 + 0x1ab65)
                ELF object binary architecture: AMD x86-64

Well, that was weird. I fixed the issue. Apparently, the package bismuth didn’t upgrade which caused kdecoration not to upgrade, which then caused many other packages not to upgrade. To fix, I deleted bismuth, then ran dnf upgrade again and that resolved the issue. I would have thought the upgrade should have failed to catch that, but it didn’t. I was experimenting with using dnf5 for the upgrade, maybe that had something to do with it. Anyway, all fixed now.

Edit: I’ve opened up a bug:
https://bugzilla.redhat.com/show_bug.cgi?id=2273749

I started to think hey, this passed the transaction check and then went on to install a half upgraded system - should not have done that. Should have been caught by transaction check.

5 Likes

I was able to recreate on a virtual machine and also determined this is an issue with DNF5. Until this is resolved, I would not use DNF5 for system-upgrades. DNF5 has a serious issue with the transaction check process. See the bug report for more information.

4 Likes

Greatly appreciate that info !

1 Like

It seems that this particular issue is caused by problem when versions of kde libraries are mixed. The issue is caused by the packages not declaring the required dependencies, so this could be considered a bug in the package. In practice, it is often hard to catch, because people tend to upgrade all related packages together, so realistically such issues will happen occasionally when some other package prevents part of the upgrade from happening.

It has nothing to do with dnf5.

no, it really does have a lot to do with dnf5. There is indeed a dependency issue in the packages, but dnf5 did not behave at all correctly in dealing with it. dnf devs are treating this as a high priority issue.

2 Likes

The patched version is now available in copr, if you don’t want to wait for it to appear in updates-testing:

dnf copr enable rpmsoftwaremanagement/dnf5-unstable

Tested in a VM and looks good:

Thanks everyone for the quick response. Much appreciated!

1 Like