| Summary: | Discover crashes in FlatpakSource::addResource() while installing package | ||
|---|---|---|---|
| Product: | [Applications] Discover | Reporter: | Michal Pácal <michal> |
| Component: | Flatpak Backend | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | aleixpol, jgrulich, kdedev, kde_bts, nate, travier |
| Priority: | NOR | Keywords: | drkonqi |
| Version First Reported In: | 6.4.4 | ||
| Target Milestone: | --- | ||
| Platform: | Manjaro | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/discover/-/commit/7fb529b2f1c862d24f854744c5e3f2001abb9378 | Version Fixed/Implemented In: | 6.5.3 |
| Sentry Crash Report: | https://crash-reports.kde.org/organizations/kde/issues/231292/events/193be6b09622481389eb8929282ca5e2/ | ||
| Attachments: | New crash information added by DrKonqi | ||
Created attachment 184118 [details]
New crash information added by DrKonqi
DrKonqi auto-attaching complete backtrace.
Searchable backtrace
Thread 1 (Thread 0x7f60775e7f40 (LWP 231329)):
[KCrash Handler]
#5 0x00007f6031f3de5b in FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}::operator()() const (__closure=0x5611b5c70f90) at /usr/src/debug/discover/discover-6.4.4/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:160
#6 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void**)::{lambda()#1}::operator()() const (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116
#7 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void**)::{lambda()#1}&&) (args=0x7fff0e8e8bd8, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#8 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void**) (f=..., arg=0x7fff0e8e8bd8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115
#9 QtPrivate::FunctorCallable<FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call<QtPrivate::List<>, void>(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void*, void**) (f=..., arg=0x7fff0e8e8bd8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337
#10 QtPrivate::QCallableObject<FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5611b5c70f80, r=0x7f6060003ba0, a=0x7fff0e8e8bd8, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547
#11 0x00007f607d5d37ef in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#12 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4146
#13 0x00007f6031f25678 in FlatpakResource::setInstalledSize (this=0x5611c0f50ae0, size=<optimized out>) at /usr/src/debug/discover/discover-6.4.4/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:597
#14 FlatpakBackend::updateAppInstalledMetadata (this=<optimized out>, installedRef=0x5611b3db1c30, resource=0x5611c0f50ae0) at /usr/src/debug/discover/discover-6.4.4/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1222
#15 FlatpakBackend::updateAppState (this=<optimized out>, resource=0x5611c0f50ae0) at /usr/src/debug/discover/discover-6.4.4/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1395
#16 0x00007f607d5d37ef in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#17 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4146
#18 0x00007f6080033a17 in QMetaObject::activate<void, Transaction::Status> (sender=0x5611ccae7a50, mo=0x7f60800adfc0 <Transaction::staticMetaObject>, local_signal_index=0, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs.h:306
#19 Transaction::statusChanged (this=this@entry=0x5611ccae7a50, _t1=<optimized out>) at /usr/src/debug/discover/build/libdiscover/DiscoverCommon_autogen/include/moc_Transaction.cpp:311
#20 0x00007f60800370a5 in Transaction::setStatus (this=0x5611ccae7a50, status=<optimized out>) at /usr/src/debug/discover/discover-6.4.4/libdiscover/Transaction/Transaction.cpp:68
#21 0x00007f607d5c0e34 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1431
#22 0x00007f607f901c70 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5611ccae7a50, e=0x7f5f9aeeaed0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3303
#23 0x00007f607d568118 in QCoreApplication::notifyInternal2 (receiver=0x5611ccae7a50, event=event@entry=0x7f5f9aeeaed0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#24 0x00007f607d5684fb in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7f5f9aeeaed0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#25 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5611b3d5f220) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1879
#26 0x00007f607d83fcf8 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1733
#27 postEventSourceDispatch (s=0x5611b3d64650) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#28 0x00007f607c30887d in g_main_dispatch (context=0x7f6070000f70) at ../glib/glib/gmain.c:3398
#29 0x00007f607c309cd7 in g_main_context_dispatch_unlocked (context=0x7f6070000f70) at ../glib/glib/gmain.c:4249
#30 g_main_context_iterate_unlocked (context=context@entry=0x7f6070000f70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
#31 0x00007f607c309ee5 in g_main_context_iteration (context=0x7f6070000f70, may_block=1) at ../glib/glib/gmain.c:4379
#32 0x00007f607d83c5e2 in QEventDispatcherGlib::processEvents (this=0x5611b3d646d0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#33 0x00007f607d5744b6 in QEventLoop::processEvents (this=0x7fff0e8e9220, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#34 QEventLoop::exec (this=0x7fff0e8e9220, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#35 0x00007f607d56c7c1 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1449
#36 0x00007f607f8fc66a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2570
#37 0x00005611882094fa in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/discover/discover-6.4.4/discover/main.cpp:231
*** Bug 508746 has been marked as a duplicate of this bug. *** A possibly relevant merge request was started @ https://invent.kde.org/plasma/discover/-/merge_requests/1197 Git commit 635eb56f71a6df7050a952700c4626a1fc42e520 by Aleix Pol Gonzalez, on behalf of Aleix Pol. Committed on 03/11/2025 at 17:28. Pushed by apol into branch 'master'. flatpak: Simplify size changes Instead of connecting every resource into a lambda, do it in place. M +0 -6 libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp M +4 -0 libdiscover/backends/FlatpakBackend/FlatpakBackend.h M +15 -2 libdiscover/backends/FlatpakBackend/FlatpakResource.cpp M +1 -0 libdiscover/backends/FlatpakBackend/FlatpakResource.h https://invent.kde.org/plasma/discover/-/commit/635eb56f71a6df7050a952700c4626a1fc42e520 Git commit 7fb529b2f1c862d24f854744c5e3f2001abb9378 by Aleix Pol Gonzalez. Committed on 04/11/2025 at 17:08. Pushed by apol into branch 'Plasma/6.5'. flatpak: Simplify size changes Instead of connecting every resource into a lambda, do it in place. (cherry picked from commit 635eb56f71a6df7050a952700c4626a1fc42e520) Co-authored-by: Aleix Pol <aleixpol@kde.org> M +0 -6 libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp M +4 -0 libdiscover/backends/FlatpakBackend/FlatpakBackend.h M +15 -2 libdiscover/backends/FlatpakBackend/FlatpakResource.cpp M +1 -0 libdiscover/backends/FlatpakBackend/FlatpakResource.h https://invent.kde.org/plasma/discover/-/commit/7fb529b2f1c862d24f854744c5e3f2001abb9378 |
Application: plasma-discover (6.4.4) ApplicationNotResponding [ANR]: false Qt Version: 6.9.1 Frameworks Version: 6.17.0 Operating System: Linux 6.16.0-5-MANJARO x86_64 Windowing System: Wayland Distribution: Manjaro Linux DrKonqi: 6.4.4 [CoredumpBackend] -- Information about the crash: While attempting to install a Flatpak package (specifically sh.ppy.osu) Discover crashed while still displaying progress bar on the package's view. The app was opened using a link from Flathub. Manually checking using flatpak CLI, the installation finished without issues. The reporter is unsure if this crash is reproducible. -- Backtrace (Reduced): #5 0x00007f6031f3de5b in FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}::operator()() const (__closure=0x5611b5c70f90) at /usr/src/debug/discover/discover-6.4.4/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:160 #6 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void**)::{lambda()#1}::operator()() const (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116 #7 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void**)::{lambda()#1}&&) (args=0x7fff0e8e8bd8, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65 #8 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void**) (f=..., arg=0x7fff0e8e8bd8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115 #9 QtPrivate::FunctorCallable<FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}>::call<QtPrivate::List<>, void>(FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}&, void*, void**) (f=..., arg=0x7fff0e8e8bd8) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337 #10 QtPrivate::QCallableObject<FlatpakSource::addResource(FlatpakResource*)::{lambda()#1}, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5611b5c70f80, r=0x7f6060003ba0, a=0x7fff0e8e8bd8, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547 #11 0x00007f607d5d37ef in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #12 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4146 #13 0x00007f6031f25678 in FlatpakResource::setInstalledSize (this=0x5611c0f50ae0, size=<optimized out>) at /usr/src/debug/discover/discover-6.4.4/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:597 #14 FlatpakBackend::updateAppInstalledMetadata (this=<optimized out>, installedRef=0x5611b3db1c30, resource=0x5611c0f50ae0) at /usr/src/debug/discover/discover-6.4.4/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1222 #15 FlatpakBackend::updateAppState (this=<optimized out>, resource=0x5611c0f50ae0) at /usr/src/debug/discover/discover-6.4.4/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1395 #16 0x00007f607d5d37ef in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #17 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4146 [...] #19 Transaction::statusChanged (this=this@entry=0x5611ccae7a50, _t1=<optimized out>) at /usr/src/debug/discover/build/libdiscover/DiscoverCommon_autogen/include/moc_Transaction.cpp:311 #20 0x00007f60800370a5 in Transaction::setStatus (this=0x5611ccae7a50, status=<optimized out>) at /usr/src/debug/discover/discover-6.4.4/libdiscover/Transaction/Transaction.cpp:68 #21 0x00007f607d5c0e34 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1431 Reported using DrKonqi