Bug 381979

Summary: Discover Updating Crashing
Product: [Applications] Discover Reporter: mastertwitchy
Component: discoverAssignee: Aleix Pol <aleixpol>
Status: RESOLVED FIXED    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version First Reported In: 5.9.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description mastertwitchy 2017-07-04 09:04:24 UTC
Application: plasma-discover (5.9.5)

Qt Version: 5.7.1
Frameworks Version: 5.31.0
Operating System: Linux 4.10.0-28-generic x86_64
Distribution: Ubuntu 17.04

-- Information about the crash:
was attempting to install updates when discover crashed. I attempted a restart of the application and was able to replicate the same issue and reporting once I was able to replicate on update run.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Discover (plasma-discover), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6680b5f8c0 (LWP 26726))]

Thread 9 (Thread 0x7f6637fff700 (LWP 26739)):
#0  0x00007f667c108d8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6676dbc576 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6676dbc68c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f667cd34f2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f667ccde88a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f667cb0bfe3 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f667cb10c98 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f6678eeb6da in start_thread (arg=0x7f6637fff700) at pthread_create.c:456
#8  0x00007f667c114d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 8 (Thread 0x7f6647d25700 (LWP 26734)):
#0  0x00007f667c122df2 in __libc_disable_asynccancel () at ../sysdeps/unix/sysv/linux/x86_64/cancellation.S:96
#1  0x00007f667c108d99 in poll () at ../sysdeps/unix/syscall-template.S:84
#2  0x00007f6676dbc576 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6676dbc68c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f667cd34f2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f667ccde88a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f667cb0bfe3 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f667cb10c98 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f6678eeb6da in start_thread (arg=0x7f6647d25700) at pthread_create.c:456
#9  0x00007f667c114d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 7 (Thread 0x7f664d09d700 (LWP 26733)):
#0  0x00007ffc25c86b12 in clock_gettime ()
#1  0x00007f667c123506 in __GI___clock_gettime (clock_id=1, tp=0x7f664d09c9f0) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007f667cbb5f71 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f667cd32ba9 in QTimerInfoList::updateCurrentTime() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f667cd33155 in QTimerInfoList::timerWait(timespec&) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f667cd344fe in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f6676dbba6d in g_main_context_prepare () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f6676dbc49b in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f6676dbc68c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f667cd34f2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f667ccde88a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f667cb0bfe3 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f667fee94c6 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#13 0x00007f667cb10c98 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f6678eeb6da in start_thread (arg=0x7f664d09d700) at pthread_create.c:456
#15 0x00007f667c114d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 6 (Thread 0x7f6655ee4700 (LWP 26732)):
#0  0x00007f6678ef1510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f66574e6b5b in  () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007f66574e6a78 in  () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007f6678eeb6da in start_thread (arg=0x7f6655ee4700) at pthread_create.c:456
#4  0x00007f667c114d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 5 (Thread 0x7f665d984700 (LWP 26731)):
#0  0x00007f6678ef1510 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f66574e6b5b in  () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007f66574e6a78 in  () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007f6678eeb6da in start_thread (arg=0x7f665d984700) at pthread_create.c:456
#4  0x00007f667c114d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 4 (Thread 0x7f666488e700 (LWP 26729)):
#0  0x00007ffc25c86b12 in clock_gettime ()
#1  0x00007f667c123506 in __GI___clock_gettime (clock_id=1, tp=0x7f666488da40) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007f667cbb5f71 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f667cd32ba9 in QTimerInfoList::updateCurrentTime() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f667cd33155 in QTimerInfoList::timerWait(timespec&) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f667cd344fe in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f6676dbba6d in g_main_context_prepare () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f6676dbc49b in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f6676dbc68c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f667cd34f2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f667ccde88a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f667cb0bfe3 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f667d695df5 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#13 0x00007f667cb10c98 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f6678eeb6da in start_thread (arg=0x7f666488e700) at pthread_create.c:456
#15 0x00007f667c114d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 3 (Thread 0x7f666508f700 (LWP 26728)):
#0  0x00007ffc25c86b12 in clock_gettime ()
#1  0x00007f667c123506 in __GI___clock_gettime (clock_id=1, tp=0x7f666508ea30) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007f667cbb5f71 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f667cd32ba9 in QTimerInfoList::updateCurrentTime() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f667cd33155 in QTimerInfoList::timerWait(timespec&) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f667cd344fe in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f6676dbba6d in g_main_context_prepare () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f6676dbc49b in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f6676dbc68c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f667cd34f2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f667ccde88a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f667cb0bfe3 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f667e96a5c5 in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#13 0x00007f667cb10c98 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f6678eeb6da in start_thread (arg=0x7f666508f700) at pthread_create.c:456
#15 0x00007f667c114d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 2 (Thread 0x7f666d8bf700 (LWP 26727)):
#0  0x00007f667c108d8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6676951c62 in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f66769538d7 in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f666fe16ed9 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f667cb10c98 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f6678eeb6da in start_thread (arg=0x7f666d8bf700) at pthread_create.c:456
#6  0x00007f667c114d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 1 (Thread 0x7f6680b5f8c0 (LWP 26726)):
[KCrash Handler]
#6  0x00007f6644180290 in PackageKit::Transaction::remainingTime() const () at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#7  0x00007f66443ceeb6 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/discover/packagekit-backend.so
#8  0x00007f667cd0c81e in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f6644183a2e in  () at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#10 0x00007f66441810a8 in  () at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#11 0x00007f66441826c8 in PackageKit::Transaction::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib/x86_64-linux-gnu/libpackagekitqt5.so.0
#12 0x00007f667e974650 in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#13 0x00007f667cd0d359 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f667e24a35c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f667e251b11 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f667cce08a0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f667cce302d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f667cd34b03 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007f6676dbc377 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f6676dbc5e0 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f6676dbc68c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f667cd34f0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007f667ccde88a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007f667cce6ffc in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x000055b79215cb16 in  ()
#26 0x00007f667c02c3f1 in __libc_start_main (main=0x55b79215c410, argc=3, argv=0x7ffc25c159e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc25c159d8) at ../csu/libc-start.c:291
#27 0x000055b79215cd5a in _start ()

Reported using DrKonqi
Comment 1 Aleix Pol 2017-07-06 10:38:26 UTC
Git commit 12146bc5d6b5955efe073396ef181d94ad2884b1 by Aleix Pol.
Committed on 06/07/2017 at 10:38.
Pushed by apol into branch 'Plasma/5.10'.

Stop keeping track of the remaining time

It's not used in the UI

M  +0    -16   libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp
M  +0    -5    libdiscover/backends/PackageKitBackend/PackageKitUpdater.h
M  +0    -10   libdiscover/resources/AbstractBackendUpdater.h
M  +0    -18   libdiscover/resources/ResourcesUpdatesModel.cpp
M  +0    -3    libdiscover/resources/ResourcesUpdatesModel.h
M  +0    -5    libdiscover/resources/StandardBackendUpdater.cpp
M  +0    -1    libdiscover/resources/StandardBackendUpdater.h

https://commits.kde.org/discover/12146bc5d6b5955efe073396ef181d94ad2884b1