https://bugs.kde.org/show_bug.cgi?id=481993
--- Comment #13 from Harald Sitter <sit...@kde.org> --- I believe there is a race condition between flatpak and packagekit init where they can end up deadlocking each other inside plugin loading code. Or more specifically the flatpak backend tries to g_module load libsoup while appstream inside the packagekit backend tries to lazy g_module load GIO plugins. The packagekit thread loading appstream loading gio plugins trying to get a lock thread #14, name = 'Thread (pooled)', stop reason = signal SIGSTOP frame #0: 0x00007ff929e912c0 libc.so.6`__GI___lll_lock_wait at futex-internal.h:146:13 frame #1: 0x00007ff929e912aa libc.so.6`__GI___lll_lock_wait(futex=0x00007ff92d5aea48, private=0) at lowlevellock.c:49:7 frame #2: 0x00007ff929e9805d libc.so.6`___pthread_mutex_lock at pthread_mutex_lock.c:48:5 frame #3: 0x00007ff929e98046 libc.so.6`___pthread_mutex_lock(mutex=0x00007ff92d5aea48) at pthread_mutex_lock.c:128:7 frame #4: 0x00007ff92d5822ef ld-linux-x86-64.so.2`_dl_open(file="/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so", mode=-2147483647, caller_dlopen=0x00007ff928a41b2c, nsid=-2, argc=3, argv=<unavailable>, env=0x00007ffebcebfcd8) at dl-open.c:830:3 frame #5: 0x00007ff929e9063c libc.so.6`dlopen_doit(a=0x00007ff8f97f9200) at dlopen.c:56:15 frame #6: 0x00007ff929f74a98 libc.so.6`__GI__dl_catch_exception(exception=0x00007ff8f97f9160, operate=<unavailable>, args=<unavailable>) at dl-error-skeleton.c:208:8 frame #7: 0x00007ff929f74b63 libc.so.6`__GI__dl_catch_error(objname=0x00007ff8f97f91b8, errstring=0x00007ff8f97f91c0, mallocedp=0x00007ff8f97f91b7, operate=<unavailable>, args=<unavailable>) at dl-error-skeleton.c:227:19 frame #8: 0x00007ff929e9012e libc.so.6`_dlerror_run(operate=<unavailable>, args=<unavailable>) at dlerror.c:138:17 frame #9: 0x00007ff929e906c8 libc.so.6`___dlopen [inlined] dlopen_implementation(dl_caller=<unavailable>, mode=<unavailable>, file=<unavailable>) at dlopen.c:71:10 frame #10: 0x00007ff929e906a7 libc.so.6`___dlopen(file=<unavailable>, mode=<unavailable>) at dlopen.c:81:12 frame #11: 0x00007ff928a41b2c libgmodule-2.0.so.0`g_module_open_full + 444 frame #12: 0x00007ff928e2e6db libgio-2.0.so.0`___lldb_unnamed_symbol4621 + 91 frame #13: 0x00007ff928fc926b libgobject-2.0.so.0`g_type_module_use + 107 frame #14: 0x00007ff928ef64b6 libgio-2.0.so.0`___lldb_unnamed_symbol6867 + 86 frame #15: 0x00007ff928e2eff6 libgio-2.0.so.0`g_io_extension_point_get_extensions + 22 frame #16: 0x00007ff928e34f0a libgio-2.0.so.0`___lldb_unnamed_symbol4657 + 554 frame #17: 0x00007ff928e755dd libgio-2.0.so.0`g_vfs_get_default + 93 frame #18: 0x00007ff928e1b9f2 libgio-2.0.so.0`g_file_new_for_path + 18 frame #19: 0x00007ff9290506f3 libappstream.so.5`as_cache_remove_old_data_from_dir.isra.0(cache_dir="/home/me/.cache/appstream", cache=<unavailable>) at as-cache.c:370:9 frame #20: 0x00007ff92901cba4 libappstream.so.5`as_cache_prune_data at as-cache.c:457:2 frame #21: 0x00007ff929051bc3 libappstream.so.5`as_pool_load_internal.constprop.0(pool=0x000055dc9f01d200, include_user_data=1, force_cache_refresh=0, caches_updated=0x0000000000000000, error=0x00007ff8f97f9548, cancellable=<unavailable>) at as-pool.c:1629:2 frame #22: 0x00007ff92a5d18de libAppStreamQt.so.3`AppStream::Pool::load() + 62 frame #23: 0x00007ff8f8306645 packagekit-backend.so`loadAppStream(appdata=0x000055dc9f028cc0) at PackageKitBackend.cpp:300:29 frame #24: 0x00007ff8f8318170 packagekit-backend.so`bool std::__invoke_impl<bool, bool (*&)(AppStream::Pool*), AppStream::Pool*&>((null)=__invoke_other @ 0x00007ff8f97f9628, __f=0x00007ff8f97f96a0, __args=0x00007ff8f97f9698) at invoke.h:61:14 frame #25: 0x00007ff8f831813d packagekit-backend.so`std::__invoke_result<bool (*&)(AppStream::Pool*), AppStream::Pool*&>::type std::__invoke<bool (*&)(AppStream::Pool*), AppStream::Pool*&>(__fn=0x00007ff8f97f96a0, __args=0x00007ff8f97f9698) at invoke.h:96:14 frame #26: 0x00007ff8f831810d packagekit-backend.so`std::invoke_result<bool (*&)(AppStream::Pool*), AppStream::Pool*&>::type std::invoke<bool (*&)(AppStream::Pool*), AppStream::Pool*&>(__fn=0x00007ff8f97f96a0, __args=0x00007ff8f97f9698) at functional:110:14 frame #27: 0x00007ff8f83180e1 packagekit-backend.so`QtConcurrent::StoredFunctionCall<bool (*)(AppStream::Pool*), AppStream::Pool*>::runFunctor(this=0x00007ff8f97f97a0, function=(packagekit-backend.so`loadAppStream(AppStream::Pool*) at PackageKitBackend.cpp:299), args=0x000055dc9f028cc0)::'lambda'(bool (*)(AppStream::Pool*), AppStream::Pool*)::operator()(bool (*)(AppStream::Pool*), AppStream::Pool*) const at qtconcurrentstoredfunctioncall.h:116:20 frame #28: 0x00007ff8f83180ab packagekit-backend.so`bool std::__invoke_impl<bool, QtConcurrent::StoredFunctionCall<bool (*)(AppStream::Pool*), AppStream::Pool*>::runFunctor()::'lambda'(bool (*)(AppStream::Pool*), AppStream::Pool*) const&, bool (*)(AppStream::Pool*), AppStream::Pool*>((null)=__invoke_other @ 0x00007ff8f97f96d8, __f=0x00007ff8f97f97a0, __args=0x000055dc9f01aa88, __args=0x000055dc9f01aa80) at invoke.h:61:14 frame #29: 0x00007ff8f8318035 packagekit-backend.so`std::__invoke_result<QtConcurrent::StoredFunctionCall<bool (*)(AppStream::Pool*), AppStream::Pool*>::runFunctor()::'lambda'(bool (*)(AppStream::Pool*), AppStream::Pool*) const&, bool (*)(AppStream::Pool*), AppStream::Pool*>::type std::__invoke<QtConcurrent::StoredFunctionCall<bool (*)(AppStream::Pool*), AppStream::Pool*>::runFunctor()::'lambda'(bool (*)(AppStream::Pool*), AppStream::Pool*) const&, bool (*)(AppStream::Pool*), AppStream::Pool*>(__fn=0x00007ff8f97f97a0, __args=0x000055dc9f01aa88, __args=0x000055dc9f01aa80) at invoke.h:96:14 frame #30: 0x00007ff8f8317ffe packagekit-backend.so`decltype(auto) std::__apply_impl<QtConcurrent::StoredFunctionCall<bool (*)(AppStream::Pool*), AppStream::Pool*>::runFunctor()::'lambda'(bool (*)(AppStream::Pool*), AppStream::Pool*) const&, std::tuple<bool (*)(AppStream::Pool*), AppStream::Pool*>, 0ul, 1ul>(__f=0x00007ff8f97f97a0, __t=0x000055dc9f01aa80, (null)=std::index_sequence<0UL, 1UL> @ 0x00007ff8f97f9748) at tuple:1852:14 frame #31: 0x00007ff8f8317f7d packagekit-backend.so`decltype(auto) std::apply<QtConcurrent::StoredFunctionCall<bool (*)(AppStream::Pool*), AppStream::Pool*>::runFunctor()::'lambda'(bool (*)(AppStream::Pool*), AppStream::Pool*) const&, std::tuple<bool (*)(AppStream::Pool*), AppStream::Pool*>>(__f=0x00007ff8f97f97a0, __t=0x000055dc9f01aa80) at tuple:1863:14 frame #32: 0x00007ff8f831718a packagekit-backend.so`QtConcurrent::StoredFunctionCall<bool (*)(AppStream::Pool*), AppStream::Pool*>::runFunctor(this=0x000055dc9f01aa60) at qtconcurrentstoredfunctioncall.h:122:27 frame #33: 0x00007ff8f83170f6 packagekit-backend.so`QtConcurrent::RunFunctionTaskBase<bool>::run(this=0x000055dc9f01aa60) at qtconcurrentrunbase.h:83:13 frame #34: 0x00007ff92a966d7d libQt6Core.so.6`___lldb_unnamed_symbol10932 + 541 frame #35: 0x00007ff92a96036d libQt6Core.so.6`___lldb_unnamed_symbol10875 + 333 frame #36: 0x00007ff929e94ac3 libc.so.6`start_thread(arg=<unavailable>) at pthread_create.c:442:8 frame #37: 0x00007ff929f26850 libc.so.6`__clone3 at clone3.S:81 the gui thread loading flatpak also trying to get a lock. (while presumably holding a dl level lock?) * thread #1, name = 'plasma-discover', stop reason = signal SIGSTOP * frame #0: 0x00007ff929e912c0 libc.so.6`__GI___lll_lock_wait at futex-internal.h:146:13 frame #1: 0x00007ff929e912aa libc.so.6`__GI___lll_lock_wait(futex=0x00007ff8d00068a0, private=0) at lowlevellock.c:49:7 frame #2: 0x00007ff929e9805d libc.so.6`___pthread_mutex_lock at pthread_mutex_lock.c:48:5 frame #3: 0x00007ff929e98046 libc.so.6`___pthread_mutex_lock(mutex=0x00007ff8d00068a0) at pthread_mutex_lock.c:128:7 frame #4: 0x00007ff928a41a07 libgmodule-2.0.so.0`g_module_open_full + 151 frame #5: 0x00007ff8d465f3a5 libsoup-2.4.so.1`___lldb_unnamed_symbol1978 + 53 frame #6: 0x00007ff92d57a47e ld-linux-x86-64.so.2`call_init(l=<unavailable>, argc=3, argv=0x00007ffebcebfcb8, env=0x00007ffebcebfcd8) at dl-init.c:70:3 frame #7: 0x00007ff92d57a568 ld-linux-x86-64.so.2`_dl_init [inlined] call_init(env=0x00007ffebcebfcd8, argv=0x00007ffebcebfcb8, argc=3, l=<unavailable>) at dl-init.c:33:6 frame #8: 0x00007ff92d57a53b ld-linux-x86-64.so.2`_dl_init(main_map=0x000055dc9f02c130, argc=3, argv=0x00007ffebcebfcb8, env=0x00007ffebcebfcd8) at dl-init.c:117:5 frame #9: 0x00007ff929f74af5 libc.so.6`__GI__dl_catch_exception(exception=<unavailable>, operate=<unavailable>, args=<unavailable>) at dl-error-skeleton.c:182:7 frame #10: 0x00007ff92d581ff6 ld-linux-x86-64.so.2`dl_open_worker at dl-open.c:808:5 frame #11: 0x00007ff92d581fc8 ld-linux-x86-64.so.2`dl_open_worker(a=0x00007ffebcebdc10) at dl-open.c:771:1 frame #12: 0x00007ff929f74a98 libc.so.6`__GI__dl_catch_exception(exception=0x00007ffebcebdbf0, operate=0x000000000000df60, args=0x00007ffebcebdc10) at dl-error-skeleton.c:208:8 frame #13: 0x00007ff92d58234e ld-linux-x86-64.so.2`_dl_open(file=<unavailable>, mode=-2147479551, caller_dlopen=0x00007ff92a909cb0, nsid=-2, argc=3, argv=<unavailable>, env=0x00007ffebcebfcd8) at dl-open.c:883:17 frame #14: 0x00007ff929e9063c libc.so.6`dlopen_doit(a=0x00007ffebcebde80) at dlopen.c:56:15 frame #15: 0x00007ff929f74a98 libc.so.6`__GI__dl_catch_exception(exception=0x00007ffebcebdde0, operate=<unavailable>, args=<unavailable>) at dl-error-skeleton.c:208:8 frame #16: 0x00007ff929f74b63 libc.so.6`__GI__dl_catch_error(objname=0x00007ffebcebde38, errstring=0x00007ffebcebde40, mallocedp=0x00007ffebcebde37, operate=<unavailable>, args=<unavailable>) at dl-error-skeleton.c:227:19 frame #17: 0x00007ff929e9012e libc.so.6`_dlerror_run(operate=<unavailable>, args=<unavailable>) at dlerror.c:138:17 frame #18: 0x00007ff929e906c8 libc.so.6`___dlopen [inlined] dlopen_implementation(dl_caller=<unavailable>, mode=<unavailable>, file=<unavailable>) at dlopen.c:71:10 frame #19: 0x00007ff929e906a7 libc.so.6`___dlopen(file=<unavailable>, mode=<unavailable>) at dlopen.c:81:12 frame #20: 0x00007ff92a909cb0 libQt6Core.so.6`___lldb_unnamed_symbol9792 + 1248 frame #21: 0x00007ff92a90b0c6 libQt6Core.so.6`___lldb_unnamed_symbol9793 + 54 frame #22: 0x00007ff92a9ef985 libQt6Core.so.6`QPluginLoader::load() + 117 frame #23: 0x00007ff92a9ef9f9 libQt6Core.so.6`QPluginLoader::instance() + 25 frame #24: 0x00007ff92d3a687f libDiscoverCommon.so`DiscoverBackendsFactory::backendForFile(this=0x00007ffebcebe530, libname=0x000055dc9efc2828, name=0x000055dc9efc2828) const at DiscoverBackendsFactory.cpp:53:98 frame #25: 0x00007ff92d3a67c2 libDiscoverCommon.so`DiscoverBackendsFactory::backend(this=0x00007ffebcebe530, name=0x000055dc9efc2828) const at DiscoverBackendsFactory.cpp:44:16 frame #26: 0x00007ff92d3a7c2b libDiscoverCommon.so`DiscoverBackendsFactory::allBackends() const::$_0::operator()(this=0x00007ffebcebe3f0, name=0x000055dc9efc2828) const at DiscoverBackendsFactory.cpp:96:16 frame #27: 0x00007ff92d3a728f libDiscoverCommon.so`QList<AbstractResourcesBackend*> kTransform<QList<AbstractResourcesBackend*>, QList<QString>, DiscoverBackendsFactory::allBackends() const::$_0>(input=0x00007ffebcebe478, op=(this = 0x00007ffebcebe530)) at utils.h:53:16 frame #28: 0x00007ff92d3a710c libDiscoverCommon.so`DiscoverBackendsFactory::allBackends(this=0x00007ffebcebe530) const at DiscoverBackendsFactory.cpp:95:16 frame #29: 0x00007ff92d361660 libDiscoverCommon.so`ResourcesModel::registerAllBackends(this=0x000055dc9f1672b0) at ResourcesModel.cpp:241:29 frame #30: 0x00007ff92d360b81 libDiscoverCommon.so`ResourcesModel::init(this=0x000055dc9f1672b0, load=true) at ResourcesModel.cpp:98:9 frame #31: 0x00007ff92d360a75 libDiscoverCommon.so`ResourcesModel::global() at ResourcesModel.cpp:39:17 frame #32: 0x00007ff92d33b6ea libDiscoverCommon.so`CategoryModel::CategoryModel(this=0x000055dc9f0176e0, parent=0x0000000000000000) at CategoryModel.cpp:22:13 frame #33: 0x00007ff92d33bac0 libDiscoverCommon.so`CategoryModel::global() at CategoryModel.cpp:39:24 frame #34: 0x000055dc9cb77a3c plasma-discover`DiscoverDeclarativePlugin::registerTypes(this=0x000055dc9f010890, (null)="org.kde.discover") at DiscoverDeclarativePlugin.cpp:63:77 frame #35: 0x000055dc9cb4b824 plasma-discover`DiscoverObject::DiscoverObject(this=0x000055dc9ebbde30, initialProperties=0x00007ffebcebf328) at DiscoverObject.cpp:145:13 frame #36: 0x000055dc9cb44bfd plasma-discover`main(argc=3, argv=0x00007ffebcebfcb8) at main.cpp:173:34 frame #37: 0x00007ff929e29d90 libc.so.6`__libc_start_call_main(main=(plasma-discover`main at main.cpp:96), argc=3, argv=0x00007ffebcebfcb8) at libc_start_call_main.h:58:16 frame #38: 0x00007ff929e29e40 libc.so.6`__libc_start_main_impl(main=(plasma-discover`main at main.cpp:96), argc=3, argv=0x00007ffebcebfcb8, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007ffebcebfca8) at libc-start.c:392:3 frame #39: 0x000055dc9cb32bd5 plasma-discover`_start + 37 -- You are receiving this mail because: You are watching all bug changes.