Bug 467188

Summary: Just opening Discover seems to crash it
Product: [Applications] Discover Reporter: lin.ackles <lin.ackles>
Component: discoverAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED WORKSFORME    
Severity: crash CC: 4wy78uwh, aleixpol, nate
Priority: NOR Keywords: drkonqi
Version: 5.27.2   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description lin.ackles@pm.me 2023-03-11 05:24:04 UTC
Application: plasma-discover (5.27.2)

Qt Version: 5.15.8
Frameworks Version: 5.103.0
Operating System: Linux 5.19.0-35-generic x86_64
Windowing System: X11
Distribution: KDE neon 5.27
DrKonqi: 5.27.2 [KCrashBackend]

-- Information about the crash:
I open it on the home section and it crashes. Seems that for some reason, to get past it, I have to click the tray icon to show updates and then click home. Really weird.

The crash can be reproduced every time.

-- Backtrace:
Application: Discover (plasma-discover), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f869ceced30 in std::__atomic_base<QMutexData*>::compare_exchange_strong(QMutexData*&, QMutexData*, std::memory_order, std::memory_order) (__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=0x1, __p1=<synthetic pointer>: <optimized out>, this=0x7f869d1a96b8 <QMapDataBase::shared_null+24>) at /usr/include/c++/11/bits/atomic_base.h:878
#5  std::atomic<QMutexData*>::compare_exchange_strong(QMutexData*&, QMutexData*, std::memory_order, std::memory_order) (__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=0x1, __p1=<synthetic pointer>: <optimized out>, this=0x7f869d1a96b8 <QMapDataBase::shared_null+24>) at /usr/include/c++/11/atomic:616
#6  QAtomicOps<QMutexData*>::testAndSetAcquire<QMutexData*>(std::atomic<QMutexData*>&, QMutexData*, QMutexData*, QMutexData**) (currentValue=0x0, newValue=0x1, expectedValue=0x0, _q_value=std::atomic<QMutexData *> = { 0x0 }) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:308
#7  QBasicAtomicPointer<QMutexData>::testAndSetAcquire(QMutexData*, QMutexData*) (newValue=0x1, expectedValue=0x0, this=0x7f869d1a96b8 <QMapDataBase::shared_null+24>) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:264
#8  QBasicMutex::fastTryLock() (this=0x7f869d1a96b8 <QMapDataBase::shared_null+24>) at thread/qmutex.h:122
#9  QBasicMutex::lock() (this=0x7f869d1a96b8 <QMapDataBase::shared_null+24>) at thread/qmutex.h:83
#10 QRecursiveMutexPrivate::lock(int) (this=0x7f869d1a96a0 <QMapDataBase::shared_null>, timeout=timeout@entry=-1) at thread/qmutex.cpp:780
#11 0x00007f869cecec69 in QMutex::lock() (this=this@entry=0x55fb41ccd790) at thread/qmutex.cpp:235
#12 0x00007f869d0be03c in std::unique_lock<QMutex>::lock() (this=<synthetic pointer>) at /usr/include/c++/11/bits/unique_lock.h:131
#13 std::unique_lock<QMutex>::unique_lock(QMutex&) (__m=..., this=<synthetic pointer>) at /usr/include/c++/11/bits/unique_lock.h:69
#14 (anonymous namespace)::qt_unique_lock<QMutex> (mutex=...) at ../../include/QtCore/5.15.8/QtCore/private/../../../../../src/corelib/thread/qlocking_p.h:106
#15 QCoreApplicationPrivate::lockThreadPostEventList(QObject*) (object=<optimized out>) at kernel/qcoreapplication.cpp:1500
#16 0x00007f869d0bf68d in QCoreApplication::postEvent(QObject*, QEvent*, int) (receiver=0x55fb401ada00, event=0x55fb4423c440, priority=0) at kernel/qcoreapplication.cpp:1546
#17 0x00007f8680120159 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/discover/flatpak-backend.so
#18 0x00007f869d0e9ade in QObject::event(QEvent*) (this=0x55fb3f550750, e=0x7f85fc023590) at kernel/qobject.cpp:1347
#19 0x00007f869eb6c793 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55fb3f550750, e=0x7f85fc023590) at kernel/qapplication.cpp:3640
#20 0x00007f869d0bc07a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55fb3f550750, event=0x7f85fc023590) at kernel/qcoreapplication.cpp:1064
#21 0x00007f869d0bf167 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55fb3f1d6c00) at kernel/qcoreapplication.cpp:1821
#22 0x00007f869d116487 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55fb3f2b6860) at kernel/qeventdispatcher_glib.cpp:277
#23 0x00007f869b9c7d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f869ba1c6c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f869b9c53e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f869d115ad8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55fb3f2b6420, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#27 0x00007f869d0ba99b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffe2db3290, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#28 0x00007f869d0c2f34 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#29 0x000055fb3db8ac63 in  ()
#30 0x00007f869c629d90 in __libc_start_call_main (main=main@entry=0x55fb3db8a340, argc=argc@entry=1, argv=argv@entry=0x7fffe2db3578) at ../sysdeps/nptl/libc_start_call_main.h:58
#31 0x00007f869c629e40 in __libc_start_main_impl (main=0x55fb3db8a340, argc=1, argv=0x7fffe2db3578, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffe2db3568) at ../csu/libc-start.c:392
#32 0x000055fb3db8b6a5 in  ()
[Inferior 1 (process 3275671) detached]

The reporter indicates this bug may be a duplicate of or related to bug 375083.

Reported using DrKonqi
Comment 1 lin.ackles@pm.me 2023-03-28 16:44:13 UTC
Found a temporary fix to this. Seems like when Discover starts with the default 'browse' mode, it crashes. 

So, out of this list I pulled:

Available modes:
 * Browsing
 * Installed
 * Search
 * Update
 * Sources
 * About

All those options work except browsing. Browsing mode will just crash Discover. I just edited shortcut in the menu to this:

plasma-discover --mode search

And now Discover works.
Comment 2 Nate Graham 2024-05-23 20:31:01 UTC
Thank you for the bug report! Unfortunately I can't reproduce the crash myself on current git master, and the backtrace is incomplete and missing debug symbols for the following lines that we need to figure out exactly what's going wrong:

#17 0x00007f8680120159 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/discover/flatpak-backend.so

If the crash is still reproducible in Plasma 6, could you please install debug symbols for Discover 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!
Comment 3 Bug Janitor Service 2024-06-07 03:46:09 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 4 Bug Janitor Service 2024-06-22 03:47:56 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 5 Nate Graham 2024-08-05 17:51:49 UTC
*** Bug 472295 has been marked as a duplicate of this bug. ***