Bug 397998

Summary: Discover froze while checking for updates
Product: [Applications] Discover Reporter: Patrick Silva <bugseforuns>
Component: UpdatesAssignee: Aleix Pol <aleixpol>
Status: RESOLVED DOWNSTREAM    
Severity: crash    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Patrick Silva 2018-08-28 22:26:01 UTC
I clicked "Check for updates" button in "Update" page while some flatpaks were available in updates list, Discover froze. The problem occurs randomly on neon dev unstable.

Thread 1 "plasma-discover" received signal SIGINT, Interrupt.
syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38      ../sysdeps/unix/sysv/linux/x86_64/syscall.S: Arquivo ou diretório não encontrado.
(gdb) thread apply all bt

Thread 17 (Thread 0x7fff9affd700 (LWP 7375)):
#0  0x00007ffff31e874d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffede2938c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fff840008c0, timeout=<optimized out>, context=0x7fffb400eb40)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2  0x00007fffede2938c in g_main_context_iterate (context=context@entry=0x7fffb400eb40, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x00007fffede2949c in g_main_context_iteration (context=0x7fffb400eb40, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x00007fffede294d9 in glib_worker_main (data=<optimized out>)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:5672
#5  0x00007fffede4fbb5 in g_thread_proxy (data=0x7fffb42ed850)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gthread.c:780
#6  0x00007fffefc8e6ba in start_thread (arg=0x7fff9affd700) at pthread_create.c:333
#7  0x00007ffff31f441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 12 (Thread 0x7fffae41a700 (LWP 7370)):
#0  0x00007ffff31e874d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffede2938c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffa00013a0, timeout=<optimized out>, context=0x7fffa0000990)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2  0x00007fffede2938c in g_main_context_iterate (context=context@entry=0x7fffa0000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x00007fffede2949c in g_main_context_iteration (context=0x7fffa0000990, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmaavailablein.c:3901
#4  0x00007ffff3e0909f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffa00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007ffff3db05ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffae419cf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007ffff3be55e4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:525
#7  0x00007ffff3bf0727 in QThreadPrivate::start(void*) (arg=0xbb5290) at thread/qthread_unix.cpp:367
#8  0x00007fffefc8e6ba in start_thread (arg=0x7fffae41a700) at pthread_create.c:333
#9  0x00007ffff31f441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7fffaffff700 (LWP 7365)):
#0  0x00007ffff31e874d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffede2938c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffa4010b40, timeout=<optimized out>, context=0x7fffa4000990)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2  0x00007fffede2938c in g_main_context_iterate (context=context@entry=0x7fffa4000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x00007fffede2949c in g_main_context_iteration (context=0x7fffa4000990, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x00007ffff3e0909f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffa40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007ffff3db05ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f---Type <return> to continue, or q <return> to quit---
ffafffecf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007ffff3be55e4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:525
#7  0x00007ffff3bf0727 in QThreadPrivate::start(void*) (arg=0xf67700) at thread/qthread_unix.cpp:367
#8  0x00007fffefc8e6ba in start_thread (arg=0x7fffaffff700) at pthread_create.c:333
#9  0x00007ffff31f441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffc039c700 (LWP 7361)):
#0  0x00007ffff31e874d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffede2938c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffb8003070, timeout=<optimized out>, context=0x7fffb8000990)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2  0x00007fffede2938c in g_main_context_iterate (context=context@entry=0x7fffb8000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x00007fffede2949c in g_main_context_iteration (context=0x7fffb8000990, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x00007ffff3e0909f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffb80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007ffff3db05ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffc039bcf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007ffff3be55e4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:525
#7  0x00007ffff3bf0727 in QThreadPrivate::start(void*) (arg=0xe41fa0) at thread/qthread_unix.cpp:367
#8  0x00007fffefc8e6ba in start_thread (arg=0x7fffc039c700) at pthread_create.c:333
#9  0x00007ffff31f441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

---Type <return> to continue, or q <return> to quit---
Thread 5 (Thread 0x7fffcc090700 (LWP 7360)):
#0  0x00007ffff31e874d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffede2938c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffc40013c0, timeout=<optimized out>, context=0x7fffc4000990)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2  0x00007fffede2938c in g_main_context_iterate (context=context@entry=0x7fffc4000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x00007fffede2949c in g_main_context_iteration (context=0x7fffc4000990, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x00007ffff3e090bb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffc40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007ffff3db05ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffcc08fc80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007ffff3be55e4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:525
#7  0x00007ffff7034f86 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007ffff3bf0727 in QThreadPrivate::start(void*) (arg=0xd70090) at thread/qthread_unix.cpp:367
#9  0x00007fffefc8e6ba in start_thread (arg=0x7fffcc090700) at pthread_create.c:333
#10 0x00007ffff31f441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffdc83f700 (LWP 7359)):
#0  0x00007ffff31e874d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffede2938c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fffd0002e70, timeout=<optimized out>, context=0x7fffd0000990)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
---Type <return> to continue, or q <return> to quit---
#2  0x00007fffede2938c in g_main_context_iterate (context=context@entry=0x7fffd0000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x00007fffede2949c in g_main_context_iteration (context=0x7fffd0000990, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x00007ffff3e0909f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffd00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007ffff3db05ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffdc83ecd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007ffff3be55e4 in QThread::exec() (this=this@entry=0x7a10c0) at thread/qthread.cpp:525
#7  0x00007ffff4770195 in QQmlThreadPrivate::run() (this=0x7a10c0) at qml/ftw/qqmlthread.cpp:148
#8  0x00007ffff3bf0727 in QThreadPrivate::start(void*) (arg=0x7a10c0) at thread/qthread_unix.cpp:367
#9  0x00007fffefc8e6ba in start_thread (arg=0x7fffdc83f700) at pthread_create.c:333
#10 0x00007ffff31f441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffdd040700 (LWP 7358)):
#0  0x00007ffff31e874d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffede2938c in g_main_context_iterate (priority=2147483647, n_fds=4, fds=0x7fffd8019100, timeout=<optimized out>, context=0x7fffd8000990)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2  0x00007fffede2938c in g_main_context_iterate (context=context@entry=0x7fffd8000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x00007fffede2949c in g_main_context_iteration (context=0x7fffd8000990, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
---Type <return> to continue, or q <return> to quit---
#4  0x00007ffff3e090bb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffd80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007ffff3db05ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffdd03fcc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007ffff3be55e4 in QThread::exec() (this=this@entry=0x7ffff5da4d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:525
#7  0x00007ffff5b2bf35 in QDBusConnectionManager::run() (this=0x7ffff5da4d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007ffff3bf0727 in QThreadPrivate::start(void*) (arg=0x7ffff5da4d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:367
#9  0x00007fffefc8e6ba in start_thread (arg=0x7fffdd040700) at pthread_create.c:333
#10 0x00007ffff31f441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffe5170700 (LWP 7357)):
#0  0x00007ffff31e874d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffedbc6c62 in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fffedbc88d7 in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe7b85489 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007ffff3bf0727 in QThreadPrivate::start(void*) (arg=0x733600) at thread/qthread_unix.cpp:367
#5  0x00007fffefc8e6ba in start_thread (arg=0x7fffe5170700) at pthread_create.c:333
#6  0x00007ffff31f441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f2e8c0 (LWP 7353)):
#0  0x00007ffff31ee4d9 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff3be1355 in QBasicMutex::lockInternal() (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=<op---Type <return> to continue, or q <return> to quit---
timized out>) at thread/qfutex_p.h:92
#2  0x00007ffff3be1355 in QBasicMutex::lockInternal() (expectedValue=<optimized out>, futex=...)
    at thread/qfutex_p.h:107
#3  0x00007ffff3be1355 in QBasicMutex::lockInternal() (timeout=-1, elapsedTimer=0x0, d_ptr=...)
    at thread/qmutex_linux.cpp:145
#4  0x00007ffff3be1355 in QBasicMutex::lockInternal() (this=0x7ffff423ad68 <_q_ObjectMutexPool+776>)
    at thread/qmutex_linux.cpp:162
#5  0x00007ffff3be13b7 in QMutex::lock() (this=this@entry=0x7ffff423ad68 <_q_ObjectMutexPool+776>)
    at thread/qmutex.cpp:229
#6  0x00007ffff3de2845 in QMetaObjectPrivate::disconnect(QObject const*, int, QMetaObject const*, QObject const*, int, void**, QMetaObjectPrivate::DisconnectType) (mtx2=0x7ffff423ad68 <_q_ObjectMutexPool+776>, mtx1=0x7ffff423aba0 <_q_ObjectMutexPool+320>)
    at ../../include/QtCore/5.11.1/QtCore/private/../../../../../src/corelib/thread/qorderedmutexlocker_p.h:104
#7  0x00007ffff3de2845 in QMetaObjectPrivate::disconnect(QObject const*, int, QMetaObject const*, QObject const*, int, void**, QMetaObjectPrivate::DisconnectType) (slot=0x0, disconnectType=QMetaObjectPrivate::DisconnectAll, senderMutex=0x7ffff423aba0 <_q_ObjectMutexPool+320>, method_index=<optimized out>, receiver=0x3d76c60, c=0x3d62180) at kernel/qobject.cpp:3377
#8  0x00007ffff3de2845 in QMetaObjectPrivate::disconnect(QObject const*, int, QMetaObject const*, QObject const*, int, void**, QMetaObjectPrivate::DisconnectType) (sender=sender@entry=0x3a862e0, signal_index=signal_index@entry=10, smeta=<optimized out>, receiver=receiver@entry=0x3d76c60, method_index=method_index@entry=39, disconnectType=disconnectType@entry=QMetaObjectPrivate::DisconnectAll, slot=0x0)
    at kernel/qobject.cpp:3445
#9  0x00007ffff3de3114 in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) (sender=0x3a862e0, signal=0x39b7c49 "Finished(uint,uint)", receiver=0x3d76c60, method=0x8113a79 "finis---Type <return> to continue, or q <return> to quit---
hed(uint,uint)") at kernel/qobject.cpp:3022
#10 0x00007fffaeb8f4ab in PackageKit::TransactionPrivate::setupSignal(QString const&, bool) ()
    at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#11 0x00007fffaeb92af9 in PackageKit::Transaction::disconnectNotify(char const*) ()
    at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#12 0x00007fffaeb8ef0a in PackageKit::Transaction::disconnectNotify(QMetaMethod const&) ()
    at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#13 0x00007ffff3de6d83 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>)
    at kernel/qobject.cpp:988
#14 0x00007fffaedee6ab in TransactionSet::~TransactionSet() (this=0x67e7130, __in_chrg=<optimized out>) at /workspace/build/obj-x86_64-linux-gnu/libdiscover/backends/PackageKitBackend/../../../../libdiscover/backends/PackageKitBackend/TransactionSet.h:28
#15 0x00007fffaedee6ab in TransactionSet::~TransactionSet() (this=0x67e7130, __in_chrg=<optimized out>) at /workspace/build/obj-x86_64-linux-gnu/libdiscover/backends/PackageKitBackend/../../../../libdiscover/backends/PackageKitBackend/TransactionSet.h:28
#16 0x00007ffff3ddfff0 in QObject::event(QEvent*) (this=0x67e7130, e=<optimized out>)
    at kernel/qobject.cpp:1242
#17 0x00007ffff540c39c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff5413ab0 in QApplication::notify(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff3db2228 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x67e7130, event=event@entry=0x810e510) at kernel/qcoreapplication.cpp:1048
#20 0x00007ffff3db4e2e in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x810e510, receiver=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#21 0x00007ffff3db4e2e in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x7179f0)
    at kernel/qcoreapplication.cpp:1745
#22 0x00007ffff3db52a8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1599
#23 0x00007ffff3e09a93 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x766dd0)
    at kernel/qeventdispatcher_glib.cpp:276
#24 0x00007fffede29197 in g_main_context_dispatch (context=0x7fffe00016f0)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3154
#25 0x00007fffede29197 in g_main_context_dispatch (context=context@entry=0x7fffe00016f0)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3769
#26 0x00007fffede293f0 in g_main_context_iterate (context=context@entry=0x7fffe00016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3840
#27 0x00007fffede2949c in g_main_context_iteration (context=0x7fffe00016f0, may_block=may_block@entry=1) at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#28 0x00007ffff3e0909f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x76bae0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007fffe7c0e9a1 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#30 0x00007ffff3db05ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdb60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#31 0x00007ffff3db96c4 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1336
#32 0x00000000004133ff in main(int, char**) (argc=1, argv=<optimized out>)
    at /workspace/build/discover/main.cpp:156
Comment 1 Aleix Pol 2018-09-21 12:39:35 UTC
Neon still has PackageKit-Qt 0.9.5, it should get a newer version with this bug fixed:

commit b5e1f5e72272ace8626bcc314a7a8e18bbc66b56
Author: Pekka Vuorela <pekka.vuorela@jollamobile.com>
Date:   Tue Oct 31 16:42:03 2017 +0200

(almost a year old!)