| Summary: | Crash during S/W update | ||
|---|---|---|---|
| Product: | [Applications] Discover | Reporter: | Jarek Pelczar <jarek> |
| Component: | Flatpak Backend | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | aleixpol, jgrulich, kdedev, nate, travier |
| Priority: | NOR | Keywords: | drkonqi |
| Version First Reported In: | 6.4.0 | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| See Also: | https://bugs.kde.org/show_bug.cgi?id=496826 | ||
| Latest Commit: | https://invent.kde.org/plasma/discover/-/commit/d2d60329e229adf2a891dc123f4428f5e8c1eee6 | Version Fixed/Implemented In: | 6.5.3 |
| Sentry Crash Report: | https://crash-reports.kde.org/organizations/kde/issues/206454/events/a313c7ef66d5416483477a05b75c48ad/ | ||
|
Description
Jarek Pelczar
2025-06-26 15:15:30 UTC
Thank you for the bug report. Based on the backtrace, it looks like the crash is in the flatpak backend and Qt. Unfortunately the backtrace is incomplete and missing debug symbols for the following lines that we need to figure out exactly what's going wrong: #6 0x00007777487ff0d1 in ??? () at /lib/x86_64-linux-gnu/libflatpak.so.0 #7 0x00007777488be512 in ??? () at /usr/lib/x86_64-linux-gnu/qt6/plugins/discover/flatpak-backend.so #8 0x0000777768ad0d55 in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6 Could you please install debug symbols and attach a new symbolicated backtrace generated by using `coredumpctl gdb` in a terminal window? See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl for details about how to do this. Thanks again! Sorry for the late reponse. Here is the gdb bracktrace attached:
(gdb) bt
#0 0x00007fffc8d690d1 in flatpak_transaction_real_run (self=0x7fff580014d0, cancellable=0x555557fbe100, error=0x7fff69dfa6e8) at ../common/flatpak-transaction.c:5320
#1 0x00007fffd7fab512 in FlatpakTransactionThread::run (this=<optimized out>) at /usr/src/plasma-discover-6.4.2-0ubuntu1~ubuntu25.10~ppa1/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:314
#2 0x00007ffff56d0d55 in QThreadPoolThread::run (this=0x5555581bca10) at /usr/src/qt6-base-6.8.3+dfsg-0ubuntu3/src/corelib/thread/qthreadpool.cpp:71
#3 0x00007ffff56d1ba3 in operator() (__closure=<optimized out>) at /usr/src/qt6-base-6.8.3+dfsg-0ubuntu3/src/corelib/thread/qthread_unix.cpp:375
#4 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at /usr/src/qt6-base-6.8.3+dfsg-0ubuntu3/src/corelib/thread/qthread_unix.cpp:311
#5 QThreadPrivate::start (arg=0x5555581bca10) at /usr/src/qt6-base-6.8.3+dfsg-0ubuntu3/src/corelib/thread/qthread_unix.cpp:339
#6 0x00007ffff4ca2871 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:448
#7 0x00007ffff4d33d1c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) bt -full
#0 0x00007fffc8d690d1 in flatpak_transaction_real_run (self=0x7fff580014d0, cancellable=0x555557fbe100, error=0x7fff69dfa6e8) at ../common/flatpak-transaction.c:5320
do_cont = 0
error_details = <optimized out>
state = <optimized out>
op = 0x7fff580ebfb0
local_error = 0x0
res = <optimized out>
pref = <optimized out>
priv = 0x7fff580013f0
l = 0x7fff58775480 = {0x7fff580ebfb0}
succeeded = 1
needs_prune = 0
needs_triggers = 0
needs_cache_drop = 0
ready_res = 1
i = <optimized out>
#1 0x00007fffd7fab512 in FlatpakTransactionThread::run (this=<optimized out>) at /usr/src/plasma-discover-6.4.2-0ubuntu1~ubuntu25.10~ppa1/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:314
finish = {m_func = {__this = <optimized out>}, m_invoke = <optimized out>}
localError = 0x0
#2 0x00007ffff56d0d55 in QThreadPoolThread::run (this=0x5555581bca10) at /usr/src/qt6-base-6.8.3+dfsg-0ubuntu3/src/corelib/thread/qthreadpool.cpp:71
del = false
page = <optimized out>
r = 0x55555648b2f0
locker = {m_mutex = 0x5555583966e8, m_isLocked = false}
#3 0x00007ffff56d1ba3 in operator() (__closure=<optimized out>) at /usr/src/qt6-base-6.8.3+dfsg-0ubuntu3/src/corelib/thread/qthread_unix.cpp:375
locker = {m_mutex = <optimized out>, m_isLocked = <optimized out>}
#4 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at /usr/src/qt6-base-6.8.3+dfsg-0ubuntu3/src/corelib/thread/qthread_unix.cpp:311
#5 QThreadPrivate::start (arg=0x5555581bca10) at /usr/src/qt6-base-6.8.3+dfsg-0ubuntu3/src/corelib/thread/qthread_unix.cpp:339
__clframe = {__cancel_routine = <optimized out>, __cancel_arg = 0x5555581bca10, __do_it = <optimized out>, __cancel_type = <optimized out>}
thr = 0x5555581bca10
data = <optimized out>
#6 0x00007ffff4ca2871 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:448
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {128, -2013604747446537233, -1696, 32, 14, 140737488341728, -2013604747467508753, -2013382753684507665}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#7 0x00007ffff4d33d1c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) print *op
$7 = {parent = {g_type_instance = {g_class = Python Exception <class 'gdb.error'>: No type named TypeNode.
}, ref_count = 1, qdata = 0x0}, remote = 0x7fff5846d170 "flathub", ref = 0x7fff58005f20, subpaths = 0x7fff5871d730, previous_ids = 0x0, commit = 0x0, bundle = 0x0, external_metadata = 0x0, kind = FLATPAK_TRANSACTION_OPERATION_UPDATE, non_fatal = 0, failed = 1, skip = 0, update_only_deploy = 0, pin_on_deploy = 0, resolved = 1,
resolved_commit = 0x7fff58577b20 "f9b003615e6d7c0e8b2c0081fa93f832091ff56f59ca7592076984c873e53150", resolved_sideload_path = 0x0, resolved_metadata = 0x7fff585407a0, resolved_metakey = 0x7fff58672580, resolved_old_metadata = 0x7fff5805b490, resolved_old_metakey = 0x7fff586e7350, resolved_token = 0x0, requested_token = 0, download_size = 67349541, installed_size = 185567744, eol = 0x0, eol_rebase = 0x0, token_type = 0,
summary_metadata = 0x7fff58603b60, run_after_count = 0, run_after_prio = 2, run_before_ops = 0x0, run_last = 0, fail_if_op_fails = 0x7fff5851aff0, related_to_ops = 0x0}
(gdb) print *priv
$8 = {parent = {g_type_instance = {g_class = <error reading variable: Cannot access memory at address 0x0>}, ref_count = 0, qdata = 0x0}, installation = 0x555555ddf410, dir = 0x7fff58001720, last_op_for_ref = 0x7fff580014f0Python Exception <class 'gdb.error'>: There is no member named keys.
, remote_states = 0x7fff580015c0Python Exception <class 'gdb.error'>: There is no member named keys.
, extra_dependency_dirs = 0x7fff580016c0, extra_sideload_repos = 0x7fff580016f0, ops = 0x7fff5873bd00 = {0x7fff5851c4d0, 0x7fff587754a0, 0x7fff586af060, 0x7fff58005870,
0x7fff58692f60, 0x7fff5872bf00, 0x7fff5875ea60, 0x7fff5800f3b0, 0x7fff5851aff0, 0x7fff580ebfb0}, added_origin_remotes = 0x7fff58001690, flatpakrefs = 0x0, bundles = 0x0, next_request_id = 0, active_request_id = 0, active_request = 0x0, current_op = 0x7fff580ebfb0, parent_window = 0x0, no_pull = 0, no_deploy = 0, disable_auto_pin = 0, disable_static_deltas = 0, disable_prune = 0, disable_deps = 0, disable_related = 0,
reinstall = 0, force_uninstall = 0, can_run = 0, include_unused_uninstall_ops = 0, auto_install_sdk = 0, auto_install_debug = 0, default_arch = 0x0, max_op = 2, needs_resolve = 0, needs_tokens = 0}
It appears that the crash is because of NULL pointer dereference to local_error. Thanks for the more detailed backtrace. I'll let the Discover developers take it from here. A possibly relevant merge request was started @ https://invent.kde.org/plasma/discover/-/merge_requests/1198 Git commit 2cc1ff90c5d78c96395646f80da84719dc115214 by Aleix Pol Gonzalez, on behalf of Aleix Pol. Committed on 10/11/2025 at 01:37. Pushed by apol into branch 'master'. flatpak: Fix issue with GError libflatpak explodes if it gets a GError that isn't nullptr. M +10 -0 libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp https://invent.kde.org/plasma/discover/-/commit/2cc1ff90c5d78c96395646f80da84719dc115214 Git commit d2d60329e229adf2a891dc123f4428f5e8c1eee6 by Aleix Pol Gonzalez. Committed on 10/11/2025 at 01:38. Pushed by apol into branch 'Plasma/6.5'. flatpak: Fix issue with GError libflatpak explodes if it gets a GError that isn't nullptr. (cherry picked from commit 2cc1ff90c5d78c96395646f80da84719dc115214) Co-authored-by: Aleix Pol <aleixpol@kde.org> M +10 -0 libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp https://invent.kde.org/plasma/discover/-/commit/d2d60329e229adf2a891dc123f4428f5e8c1eee6 |