Bug 508311 - Discover crashes in FlatpakSource::addResource() while installing package
Summary: Discover crashes in FlatpakSource::addResource() while installing package
Status: RESOLVED FIXED
Alias: None
Product: Discover
Classification: Applications
Component: Flatpak Backend (other bugs)
Version First Reported In: 6.4.4
Platform: Manjaro Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 508746 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-08-15 21:16 UTC by Michal Pácal
Modified: 2025-11-07 23:49 UTC (History)
6 users (show)

See Also:
Latest Commit:
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 (126.79 KB, text/plain)
2025-08-15 21:16 UTC, Michal Pácal
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michal Pácal 2025-08-15 21:16:41 UTC
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
Comment 1 Michal Pácal 2025-08-15 21:16:42 UTC
Created attachment 184118 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 TraceyC 2025-08-15 22:13:07 UTC
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
Comment 3 Nate Graham 2025-08-26 19:56:49 UTC
*** Bug 508746 has been marked as a duplicate of this bug. ***
Comment 4 Bug Janitor Service 2025-11-01 01:28:15 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/discover/-/merge_requests/1197
Comment 5 Aleix Pol 2025-11-03 17:29:17 UTC
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
Comment 6 Aleix Pol 2025-11-04 17:55:48 UTC
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