Bug 391675 - Discover crashes after click on non existent app
Summary: Discover crashes after click on non existent app
Status: RESOLVED WORKSFORME
Alias: None
Product: Discover
Classification: Applications
Component: discover (show other bugs)
Version: 5.12.2
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Aleix Pol
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-03-10 19:02 UTC by sedrubal
Modified: 2018-04-26 22:23 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sedrubal 2018-03-10 19:02:47 UTC
Application: plasma-discover (5.12.2)

Qt Version: 5.10.1
Frameworks Version: 5.44.0
Operating System: Linux 4.16.0-0.rc3.git0.1.fc28.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- Unusual behavior I noticed:

Discover tried to update packae info from a repository that is currently broken (according to the alert). Then Discover does not have any package info and does not show any application in the "Applications" section. Most of the apps disappear on the start page after that.

- What I was doing when the application crashed:

...but not all apps disappear (~5 apps remain there). When you click on one of them, discover crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Discover (plasma-discover), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa7beb33300 (LWP 21348))]

Thread 13 (Thread 0x7fa765a3d700 (LWP 21395)):
#0  0x00007fa7b99df949 in poll () from /lib64/libc.so.6
#1  0x00007fa7b2a79ab6 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa7ba8abc2b in QEventDispatcherGlib::processEvents (this=0x7fa75c000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#5  0x00007fa7ba6a89c6 in QThread::exec() () at thread/qthread.cpp:522
#6  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#7  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#8  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 12 (Thread 0x7fa766308700 (LWP 21394)):
#0  0x00007fa7b99db394 in read () from /lib64/libc.so.6
#1  0x00007fa7b2abf000 in g_wakeup_acknowledge () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a795ab in g_main_context_check () from /lib64/libglib-2.0.so.0
#3  0x00007fa7b2a79a60 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#4  0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x00007fa7ba8abc2b in QEventDispatcherGlib::processEvents (this=0x7fa758000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#7  0x00007fa7ba6a89c6 in QThread::exec() () at thread/qthread.cpp:522
#8  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#9  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 11 (Thread 0x7fa766d5a700 (LWP 21360)):
#0  0x00007fa7b2ac041d in g_mutex_lock () from /lib64/libglib-2.0.so.0
#1  0x00007fa7b2a79bcc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#2  0x00007fa7ba8abc2b in QEventDispatcherGlib::processEvents (this=0x7fa760000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#3  0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#4  0x00007fa7ba6a89c6 in QThread::exec() () at thread/qthread.cpp:522
#5  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#6  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#7  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7fa77cae2700 (LWP 21358)):
#0  0x00007fa7b79cc8e8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa7ba6ad736 in QWaitConditionPrivate::wait_relative (time=30000, this=0x7fa768005910) at thread/qwaitcondition_unix.cpp:133
#2  QWaitConditionPrivate::wait (time=30000, this=0x7fa768005910) at thread/qwaitcondition_unix.cpp:141
#3  QWaitCondition::wait (this=this@entry=0x7fa7680056d0, mutex=mutex@entry=0x7fa768005450, time=30000) at thread/qwaitcondition_unix.cpp:215
#4  0x00007fa7ba6aa662 in QThreadPoolThread::run() () at ../../include/QtCore/../../src/corelib/thread/qmutex.h:240
#5  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#6  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#7  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7fa77d2e3700 (LWP 21357)):
#0  0x00007fa7b2ac041d in g_mutex_lock () from /lib64/libglib-2.0.so.0
#1  0x00007fa7b2a7964a in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a79b48 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#3  0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x00007fa7ba8abc2b in QEventDispatcherGlib::processEvents (this=0x7fa768000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#6  0x00007fa7ba6a89c6 in QThread::exec() () at thread/qthread.cpp:522
#7  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#8  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7fa77e5fa700 (LWP 21356)):
#0  0x00007fa7b99db394 in read () from /lib64/libc.so.6
#1  0x00007fa7b2abf000 in g_wakeup_acknowledge () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a795ab in g_main_context_check () from /lib64/libglib-2.0.so.0
#3  0x00007fa7b2a79a60 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#4  0x00007fa7b2a79e72 in g_main_loop_run () from /lib64/libglib-2.0.so.0
#5  0x00007fa7859b999a in gdbus_shared_thread_func () from /lib64/libgio-2.0.so.0
#6  0x00007fa7b2aa1eea in g_thread_proxy () from /lib64/libglib-2.0.so.0
#7  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#8  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fa77edfb700 (LWP 21355)):
#0  0x00007fa7b2a79285 in g_main_context_query () from /lib64/libglib-2.0.so.0
#1  0x00007fa7b2a79a37 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa7b2a79c31 in glib_worker_main () from /lib64/libglib-2.0.so.0
#4  0x00007fa7b2aa1eea in g_thread_proxy () from /lib64/libglib-2.0.so.0
#5  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fa77fc73700 (LWP 21354)):
#0  0x00007fa7b2ac0448 in g_mutex_unlock () from /lib64/libglib-2.0.so.0
#1  0x00007fa7b2a79aab in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa7ba8abc2b in QEventDispatcherGlib::processEvents (this=0x7fa778000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#5  0x00007fa7ba6a89c6 in QThread::exec() () at thread/qthread.cpp:522
#6  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#7  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#8  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fa78e232700 (LWP 21353)):
#0  0x00007fa7b99df949 in poll () from /lib64/libc.so.6
#1  0x00007fa7b2a79ab6 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa7ba8abc2b in QEventDispatcherGlib::processEvents (this=0x7fa788000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#5  0x00007fa7ba6a89c6 in QThread::exec() () at thread/qthread.cpp:522
#6  0x00007fa7be04088a in QQuickPixmapReader::run() () from /lib64/libQt5Quick.so.5
#7  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#8  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fa797fff700 (LWP 21352)):
#0  0x00007fa7b99df949 in poll () from /lib64/libc.so.6
#1  0x00007fa7b2a79ab6 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa7ba8abc2b in QEventDispatcherGlib::processEvents (this=0x7fa790000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#5  0x00007fa7ba6a89c6 in QThread::exec() () at thread/qthread.cpp:522
#6  0x00007fa7bb223989 in QQmlThreadPrivate::run() () from /lib64/libQt5Qml.so.5
#7  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#8  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fa79d3a2700 (LWP 21351)):
#0  0x00007fa7b99df949 in poll () from /lib64/libc.so.6
#1  0x00007fa7b2a79ab6 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa7ba8abc2b in QEventDispatcherGlib::processEvents (this=0x7fa798000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#5  0x00007fa7ba6a89c6 in QThread::exec() () at thread/qthread.cpp:522
#6  0x00007fa7bec3a299 in QDBusConnectionManager::run (this=0x7fa7becb1060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#7  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#8  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fa7a5ecf700 (LWP 21350)):
#0  0x00007fa7b99df949 in poll () from /lib64/libc.so.6
#1  0x00007fa7b23ff04f in _xcb_conn_wait () from /lib64/libxcb.so.1
#2  0x00007fa7b2400e7a in xcb_wait_for_event () from /lib64/libxcb.so.1
#3  0x00007fa7a8a834d9 in QXcbEventReader::run() () from /lib64/libQt5XcbQpa.so.5
#4  0x00007fa7ba6ad11d in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:376
#5  0x00007fa7b79c6564 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fa7b99ea33f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fa7beb33300 (LWP 21348)):
[KCrash Handler]
#6  0x00007fa7bdcde37e in OdrsReviewsBackend::parseReviews(QJsonDocument const&, AbstractResource*) () from /usr/lib64/plasma-discover/libDiscoverCommon.so
#7  0x00007fa7bdce21a8 in OdrsReviewsBackend::reviewsFetched() () from /usr/lib64/plasma-discover/libDiscoverCommon.so
#8  0x00007fa7ba883de3 in QtPrivate::QSlotObjectBase::call (a=0x7ffe6c341aa0, r=0x5582489bde80, this=0x55824c027230) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378
#9  QMetaObject::activate(QObject*, int, int, void**) () at kernel/qobject.cpp:3750
#10 0x00007fa7ba88436b in QMetaObject::activate (sender=sender@entry=0x55824a111070, m=m@entry=0x7fa7baf0b040 <QNetworkReply::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3629
#11 0x00007fa7baeb19f7 in QNetworkReply::finished (this=this@entry=0x55824a111070) at .moc/moc_qnetworkreply.cpp:380
#12 0x00007fa7badea2ec in QNetworkReplyHttpImplPrivate::finished (this=0x55824a5f97b0) at access/qnetworkreplyhttpimpl.cpp:2231
#13 0x00007fa7badea565 in QNetworkReplyHttpImplPrivate::replyFinished (this=<optimized out>) at access/qnetworkreplyhttpimpl.cpp:1114
#14 0x00007fa7baeb2e29 in QNetworkReplyHttpImpl::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/../access/qnetworkreplyhttpimpl_p.h:98
#15 0x00007fa7ba884a26 in QObject::event(QEvent*) () at kernel/qobject.cpp:1247
#16 0x00007fa7bb9b3e95 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#17 0x00007fa7bb9bb83a in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#18 0x00007fa7ba85b376 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at kernel/qcoreapplication.cpp:1050
#19 0x00007fa7ba85e09b in QCoreApplication::sendEvent (event=0x7fa75c00d4a0, receiver=0x7ffe6c341770) at kernel/qcoreapplication.h:234
#20 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at kernel/qcoreapplication.cpp:1740
#21 0x00007fa7ba85e4ec in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1594
#22 0x00007fa7ba8abec7 in postEventSourceDispatch (s=0x5582484cd260) at kernel/qeventdispatcher_glib.cpp:276
#23 0x00007fa7b2a7977d in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#24 0x00007fa7b2a79b48 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#25 0x00007fa7b2a79be0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#26 0x00007fa7ba8abc13 in QEventDispatcherGlib::processEvents (this=0x55824846f310, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#27 0x00007fa7a8b11065 in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5XcbQpa.so.5
#28 0x00007fa7ba85a12b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ../../include/QtCore/../../src/corelib/global/qflags.h:71
#29 0x00007fa7ba8625b6 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1338
#30 0x000055824659bea7 in main ()

Possible duplicates by query: bug 385212.

Reported using DrKonqi
Comment 1 Aleix Pol 2018-03-12 11:36:00 UTC
Can you provide debug symbols for the backtrace? And maybe some way to reproduce?
Comment 2 sedrubal 2018-03-29 19:22:49 UTC
I'm sorry, I think I can't provide a better backtrace, as drkonqi and gdb are crashing all the time.

I could reproduce it sometimes when I added a typo in the metalink URL in one of the enabled repos in /etc/yum.repos.d/ (in order that an error must be thrown when some programm uses it), starting discover and clicking on a package, that was available in this repository. Discover seems to remove all the apps from this repo but when you click on one of them before discover removes it, it crashes...
Comment 3 Christoph Feck 2018-03-30 14:05:25 UTC
Are you sure gdb crashes? If it indeed does, you have a deeper problem on your system.
Comment 4 sedrubal 2018-04-10 23:52:08 UTC
I was on fedora 28 alpha and it was a confirmed bug.

I found no way to easily reproduce it so I think, I can't provide a useful backtrace. As this seems to happen only under special circumstances, you can close this issue, if you want.
Comment 5 Christoph Feck 2018-04-26 22:23:26 UTC
Thanks for the update; changing status.

If you have new information, please add a comment or reopen the ticket.