Application: plasma-discover (6.4.5) ApplicationNotResponding [ANR]: false Qt Version: 6.9.2 Frameworks Version: 6.18.0 Operating System: Linux 6.14.0-33-generic x86_64 Windowing System: X11 Distribution: KDE neon User Edition DrKonqi: 6.4.5 [CoredumpBackend] -- Information about the crash: Je ne me souviens pas si le plantage a commencé après l'ajout/suppression d'un programme en particulier, mais depuis quelques semaines je ne peux plus du tout y accéder. Ce n'est pas bloquant pour l'usage quotidien et la ligne de commande permet d'obtenir les mêmes réponses quoi que bien moins filtrées. The crash can be reproduced every time. -- Backtrace (Reduced): #6 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 #7 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #8 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #9 0x00007e78d884527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #10 0x00007e78d88288ff in __GI_abort () at ./stdlib/abort.c:79 #11 0x00007e78d9272d32 in qAbort () at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qassert.cpp:46 #12 qt_message_fatal<QString&> (message=..., context=...) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qlogging.cpp:2149 [...] #14 0x00007e78d9273b45 in QMessageLogger::fatal (this=<optimized out>, msg=0x7e78d924b8d0 "ASSERT: \"%s\" in file %s, line %d") at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qlogging.cpp:883 #15 0x00007e78d925d779 in qt_assert (assertion=assertion@entry=0x7e78ac0974e0 "component.kind() != AppStream::Component::KindFirmware", file=file@entry=0x7e78ac097080 "./libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp", line=line@entry=384) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qassert.cpp:105 #16 0x00007e78ac03f9a4 in PackageKitBackend::addComponent (this=0x62cd44485630, component=...) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:384 #17 0x00007e78ac05dd7f in PackageKitBackend::loadAllPackages (this=0x62cd44485630) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:1194 #18 0x00007e78ac056bd9 in operator() (__closure=0x62cd47e3b700, stream=0x62cd47e47970) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:714 #19 0x00007e78ac04ea6e in std::function<void (PKResultsStream*)>::operator()(PKResultsStream*) const (__args#0=<optimized out>, this=0x62cd47e47d90) at /usr/include/c++/13/bits/std_function.h:591 #20 operator()(_ZZN17PackageKitBackend20deferredResultStreamERK7QStringSt8functionIFvP15PKResultsStreamEEENKUlPS_8QPointerIS4_ES7_E_clES8_SA_S7_.Frame *) (frame_ptr=0x62cd47e47d30) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:689 #21 0x00007e78ac05e394 in std::__n4861::coroutine_handle<void>::resume (this=0x62cd47e48070) at /usr/include/c++/13/coroutine:135 #22 QCoro::detail::TaskFinalSuspend::await_suspend<QCoro::detail::TaskPromise<void> > (finishedCoroutine=..., this=0x62cd47e47ea8) at /usr/include/qcoro6/qcoro/impl/taskfinalsuspend.h:28 Reported using DrKonqi
Created attachment 185460 [details] New crash information added by DrKonqi DrKonqi auto-attaching complete backtrace.
Translation: I don't remember if the crash started after adding/removing a particular program, but for a few weeks I can't access it at all. This is not blocking for daily use and the command line allows you to get the same answers although much less filtered. Searchable backtrace Thread 1 (Thread 0x7e78d2957240 (LWP 16366)): [KCrash Handler] #6 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 #7 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #8 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #9 0x00007e78d884527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #10 0x00007e78d88288ff in __GI_abort () at ./stdlib/abort.c:79 #11 0x00007e78d9272d32 in qAbort () at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qassert.cpp:46 #12 qt_message_fatal<QString&> (message=..., context=...) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qlogging.cpp:2149 #13 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7e78d924b8d0 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7ffc59c12138) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qlogging.cpp:381 #14 0x00007e78d9273b45 in QMessageLogger::fatal (this=<optimized out>, msg=0x7e78d924b8d0 "ASSERT: \"%s\" in file %s, line %d") at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qlogging.cpp:883 #15 0x00007e78d925d779 in qt_assert (assertion=assertion@entry=0x7e78ac0974e0 "component.kind() != AppStream::Component::KindFirmware", file=file@entry=0x7e78ac097080 "./libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp", line=line@entry=384) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qassert.cpp:105 #16 0x00007e78ac03f9a4 in PackageKitBackend::addComponent (this=0x62cd44485630, component=...) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:384 #17 0x00007e78ac05dd7f in PackageKitBackend::loadAllPackages (this=0x62cd44485630) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:1194 #18 0x00007e78ac056bd9 in operator() (__closure=0x62cd47e3b700, stream=0x62cd47e47970) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:714 #19 0x00007e78ac04ea6e in std::function<void (PKResultsStream*)>::operator()(PKResultsStream*) const (__args#0=<optimized out>, this=0x62cd47e47d90) at /usr/include/c++/13/bits/std_function.h:591 #20 operator()(_ZZN17PackageKitBackend20deferredResultStreamERK7QStringSt8functionIFvP15PKResultsStreamEEENKUlPS_8QPointerIS4_ES7_E_clES8_SA_S7_.Frame *) (frame_ptr=0x62cd47e47d30) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:689 #21 0x00007e78ac05e394 in std::__n4861::coroutine_handle<void>::resume (this=0x62cd47e48070) at /usr/include/c++/13/coroutine:135 #22 QCoro::detail::TaskFinalSuspend::await_suspend<QCoro::detail::TaskPromise<void> > (finishedCoroutine=..., this=0x62cd47e47ea8) at /usr/include/qcoro6/qcoro/impl/taskfinalsuspend.h:28 #23 QCoro::sleepFor(_ZN5QCoro8sleepForIlSt5ratioILl1ELl1000EEEENS_4TaskIvEERKNSt6chrono8durationIT_T0_EE.Frame *) (frame_ptr=0x62cd47e47e30) at /usr/include/qcoro6/qcoro/qcorotimer.h:64 #24 0x00007e78d9346e39 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/kernel/qobjectdefs_impl.h:461 #25 doActivate<false> (sender=0x62cd47e47e80, signal_index=3, argv=0x7ffc59c12950) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/kernel/qobject.cpp:4157 #26 0x00007e78d934cb7d in QMetaObject::activate<void, QTimer::QPrivateSignal> (ret=0x0, local_signal_index=0, mo=<optimized out>, sender=<optimized out>) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/kernel/qobjectdefs.h:306 #27 QTimer::timeout (this=<optimized out>, _t1=...) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qtimer.cpp:182 #28 0x00007e78d93394be in QObject::event (this=0x62cd47e47e80, e=0x7ffc59c12ae0) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/kernel/qobject.cpp:1407 #29 0x00007e78db4c7dcd in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x62cd47e47e80, e=0x7ffc59c12ae0) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/widgets/kernel/qapplication.cpp:3300 #30 0x00007e78d92e59c0 in QCoreApplication::notifyInternal2 (receiver=0x62cd47e47e80, event=0x7ffc59c12ae0) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/kernel/qcoreapplication.cpp:1106 #31 0x00007e78d946aab7 in QTimerInfoList::activateTimers (this=0x62cd43d31bd0) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/kernel/qtimerinfo_unix.cpp:426 #32 0x00007e78d955f4a9 in timerSourceDispatch (source=<optimized out>) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/kernel/qeventdispatcher_glib.cpp:152 #33 0x00007e78d7ccb5c5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007e78d7d2a737 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #35 0x00007e78d7ccaa63 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #36 0x00007e78d955cb2f in QEventDispatcherGlib::processEvents (this=0x62cd43d37e00, flags=...) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #37 0x00007e78d92edadb in QEventLoop::exec (this=0x7ffc59c12d50, flags=...) at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qflags.h:77 #38 0x00007e78d92e817f in QCoreApplication::exec () at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/corelib/global/qflags.h:77 #39 0x00007e78d98debad in QGuiApplication::exec () at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/gui/kernel/qguiapplication.cpp:1986 #40 0x00007e78db4c3d19 in QApplication::exec () at /usr/src/qt6-base-6.9.2-0zneon+24.04+noble+release+build121/src/widgets/kernel/qapplication.cpp:2567 #41 0x000062cd42d20b32 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/plasma-discover-6.4.5-0zneon+24.04+noble+release+build41/discover/main.cpp:231
The backtrace looks very similar to bug 490786 , for a crash in the Flatpak backend, which was fixed
Hm that other crash you mention is just another assertion but has not much to do. Here we're seeing a call to load all packages and it seems like one of them it's a firmware. Normally firmwares are in fwupd so we'd need to understand if it's legitimate that there's firmwares here. Testing with this extra information would help: diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp index 2ac52e5d1..76036d136 100644 --- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp +++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp @@ -393,6 +393,7 @@ AppPackageKitResource *PackageKitBackend::addComponent(const AppStream::Componen { const QStringList pkgNames = component.packageNames(); Q_ASSERT(!pkgNames.isEmpty()); + qWarning() << "BOOM!" << component.id() << component.kind() << component.packageNames(); Q_ASSERT(component.kind() != AppStream::Component::KindFirmware); auto appId = makeAppId(component.id());
Oh, there absolutely *will be* firmware components outside of fwupd. Fwupd primarily deals with flashed firmware, but there is also a ton of runtime firmware that is flashed, well, at runtime and distributed by the respective Linux distribution. Giving the OS a way to install packages containing it on-demand was one of the ultimate design goals of AppStream (same with drivers, although fortunately most of them are now in the kernel). You can read more at https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Firmware.html From a quick check at Debian, Debian actually contains a ton of firmware components, and even more apps/components that expose modaliases to advertise enhanced hardware compatibility.
I would expect these to be distributed with AppStream::Component::KindDriver. It's clearly a problem we are finding anyway and I guess there's little reason to get stuck with it.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/discover/-/merge_requests/1195
Hey, I'm thinking while reading your discussion about firmware packages. I have the same issue on both my work computer and personal. And on both I've installed VMWare. Because I use secure boot I remember manually sign kernel modules, plus VMWare installed a bunch of stuff. Could it be "the culprit" ? Don't judge me for using VMWare on Linux, I came from Windows recently haha
@apol > I would expect these to be distributed with AppStream::Component::KindDriver. Not necessarily - the drivers are in the kernel (ideally), the firmware is external. And especially on OSes like Debian where non-free firmware is split out, having separate firmware packages makes sense (but it also makes sense in general, to keep the initramfs small).
@contact@hexteckgate.ovh It is possible that VMWare provides a driver component, but I'd be surprised if it provided metadata for a firmware component - so I think it's unrelated. Nothing wrong with VMWare, at least in the past, but nowadays it's unbelievably expensive, and having to install out-of-tree kernel modules is always a pain.
Git commit 3246d814829331e49516cdaa1d6eae9cca85d840 by Aleix Pol Gonzalez, on behalf of Aleix Pol. Committed on 31/10/2025 at 00:42. Pushed by apol into branch 'master'. pk: Some distros distribute firmwares Allow for the components to be included and looked up under drivers. M +15 -7 libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp M +0 -2 libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp https://invent.kde.org/plasma/discover/-/commit/3246d814829331e49516cdaa1d6eae9cca85d840
Git commit 7b37cecb0a373658274f5ad1471f0864b9d6d503 by Aleix Pol. Committed on 31/10/2025 at 00:44. Pushed by apol into branch 'Plasma/6.5'. pk: Some distros distribute firmwares Allow for the components to be included and looked up under drivers. (cherry picked from commit 3246d814829331e49516cdaa1d6eae9cca85d840) M +15 -7 libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp M +0 -2 libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp https://invent.kde.org/plasma/discover/-/commit/7b37cecb0a373658274f5ad1471f0864b9d6d503