Bug#1145932: plasma-discover: Discover freezes when rendering PackageKit-backed applications

Theodor–Bogdan Lancor <[email protected]>
Newsgroups gmane.linux.debian.devel.qt-kde
Message-ID <178787943750.43785.3905922240851438759.reportbug__6357.33114774979$1787879970$gmane$org@serenzen>
Package: plasma-discover
Version: 6.7.4-1
Severity: important




-- System Information:
Debian Release: forky/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 7.1.8+deb14.1-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages plasma-discover depends on:
ii  appstream                                      1.1.6-1
ii  apt-config-icons                               1.1.6-1
ii  kio6                                           6.28.0-1
ii  libappstreamqt3                                1.1.6-1
ii  libc6                                          2.43-3
ii  libgcc-s1                                      16.2.0-1
ii  libkf6attica6                                  6.28.0-1
ii  libkf6configcore6                              6.28.0-1
ii  libkf6configgui6                               6.28.0-1
ii  libkf6coreaddons6                              6.28.0-2
ii  libkf6crash6                                   6.28.0-1
ii  libkf6dbusaddons6                              6.28.0-1
ii  libkf6i18n6                                    6.28.0-1
ii  libkf6i18nqml6                                 6.28.0-1
ii  libkf6iconthemes6                              6.28.0-1
ii  libkf6idletime6                                6.28.0-1
ii  libkf6jobwidgets6                              6.28.0-1
ii  libkf6kiocore6                                 6.28.0-1
ii  libkf6kiogui6                                  6.28.0-1
ii  libkf6newstuffcore6                            6.28.0-1
ii  libkf6notifications6                           6.28.0-1
ii  libkf6service-bin                              6.28.0-1
ii  libkf6service6                                 6.28.0-1
ii  libkf6statusnotifieritem6                      6.28.0-1
ii  libkf6widgetsaddons6                           6.28.0-1
ii  libkf6windowsystem6                            6.28.0-2
ii  libkirigamiapp6                                1.12.0-1
ii  libmarkdown2                                   2.2.7-2.1+b2
ii  libpackagekitqt6-2                             1.1.4-1+b1
ii  libqcoro6core0t64                              0.13.0-2
ii  libqt6concurrent6                              6.10.2+dfsg-16
ii  libqt6core6t64                                 6.10.2+dfsg-16
ii  libqt6dbus6                                    6.10.2+dfsg-16
ii  libqt6gui6                                     6.10.2+dfsg-16
ii  libqt6network6                                 6.10.2+dfsg-16
ii  libqt6qml6                                     6.10.2+dfsg-6
ii  libqt6quick6                                   6.10.2+dfsg-6
ii  libqt6webview6                                 6.10.2-3
ii  libqt6widgets6                                 6.10.2+dfsg-16
ii  libstdc++6                                     16.2.0-1
ii  packagekit                                     1.3.6-1
ii  plasma-discover-common                         6.7.4-1
ii  plasma-version [plasma-version-base-6.7]       6.7.0
ii  qml6-module-org-kde-config                     6.28.0-1
ii  qml6-module-org-kde-kcmutils                   6.28.0-1
ii  qml6-module-org-kde-kirigami                   6.28.0-1
ii  qml6-module-org-kde-kirigamiaddons-components  1.12.0-1
ii  qml6-module-org-kde-kirigamiaddons-formcard    1.12.0-1
ii  qml6-module-org-kde-kitemmodels                6.28.0-1
ii  qml6-module-org-kde-purpose                    6.28.0-1
ii  qml6-module-org-kde-userfeedback               6.28.0-1
ii  qml6-module-qt5compat-graphicaleffects         6.10.2-4
ii  qml6-module-qtnetwork                          6.10.2+dfsg-6
ii  qml6-module-qtqml                              6.10.2+dfsg-6
ii  qml6-module-qtqml-models                       6.10.2+dfsg-6
ii  qml6-module-qtquick                            6.10.2+dfsg-6
ii  qml6-module-qtquick-controls                   6.10.2+dfsg-6
ii  qml6-module-qtquick-layouts                    6.10.2+dfsg-6
ii  qml6-module-qtquick-templates                  6.10.2+dfsg-6
ii  qml6-module-qtwebview                          6.10.2-3

Versions of packages plasma-discover recommends:
ii  apt-config-icons-hidpi         1.1.6-1
ii  apt-config-icons-large         1.1.6-1
ii  apt-config-icons-large-hidpi   1.1.6-1
ii  kde-config-updates             6.7.4-1
ii  plasma-discover-backend-fwupd  6.7.4-1
ii  software-properties-qt         0.99.30-4.1

Versions of packages plasma-discover suggests:
ii  plasma-discover-backend-flatpak  6.7.4-1
pn  plasma-discover-backend-snap     <none>

-- no debconf information


Discover becomes unresponsive immediately when entering any view that displays applications from the PackageKit backend, including Home and application categories.
Views which do not display PackageKit application resources remain usable, e.g. Settings, About, wallpapers/add-ons. Starting Discover directly in Updates mode also works:
	plasma-discover --mode Update --backends packagekit
However, navigating from there to any view which renders PackageKit-backed applications freezes Discover.

The problem is isolated to Discover's PackageKit application path:
	pkgcli search kate works
	pkgcli refresh works
	pkgcli list-updates works
	appstreamcli search kate works

Discover works normally with flatpak-backend,fwupd-backend,kns-backend
Discover freezes when PackageKit-backed application entries are displayed
reinstalling plasma-discover, packagekit, and libpackagekitqt6-2 did not change the behaviour

A live GDB backtrace taken while Discover is frozen shows the main/UI thread in:
	kimg_jxl.so
	QImageReader::size()
	QPixmapIconEngine::bestMatch()
	QPixmapIconEngine::actualSize()
	QIcon::actualSize()
	libKirigamiPrimitives

Several worker threads are simultaneously waiting inside libjxl_threads.so.0.11.
strace consistently shows Discover opening Debian AppStream JPEG XL application icons immediately before the freeze, e.g.:
	/var/lib/swcatalog/icons/debian-forky-main/128x128/video-downloader_com.github.unrud.VideoDownloader.jxl
The same JXL image opens successfully in Gwenview, so the image itself can be decoded normally outside this Discover/Kirigami path.

Best,
ThB
discover-packagekit-freeze.bt (application/x-wine-extension-ini, 31 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.