Bug 431892 - Discover process hangs on exit after installing updates
Summary: Discover process hangs on exit after installing updates
Status: RESOLVED DUPLICATE of bug 428175
Alias: None
Product: Discover
Classification: Applications
Component: discover (show other bugs)
Version: 5.19.5
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Dan Leinir Turthra Jensen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-01-21 19:43 UTC by top.lamp4866
Modified: 2021-01-21 19:56 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 top.lamp4866 2021-01-21 19:43:18 UTC
SUMMARY

After installing updates with discover and closing the window, the process fails to exit.
~/.xsession-errors shows "Could not stop all fwupd threads" from discover.

STEPS TO REPRODUCE
1. Wait for DiscoverNotifier to notify about available updates
2. Launch Discover through DiscoverNotifier
3. Install available updates
4. Close the Discover window

OBSERVED RESULT
The Discover window closes, but the process "/usr/bin/plasma-discover --mode update" is still running.

EXPECTED RESULT
The Discover window closes, and the process should exit.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kubuntu 20.10
(available in About System)
KDE Plasma Version: 5.19.5
KDE Frameworks Version: 5.74.0
Qt Version: 5.14.2

ADDITIONAL INFORMATION
Stacktrace:

(gdb) bt
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55bb584f8b30) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55bb584f8ae0, cond=0x55bb584f8b08) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55bb584f8b08, mutex=0x55bb584f8ae0) at pthread_cond_wait.c:638
#3  0x00007f0dfa96574b in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f0dfa96244f in QThreadPoolPrivate::waitForDone(QDeadlineTimer const&) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f0dfa96280f in QThreadPoolPrivate::waitForDone(int) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f0dfa9628a0 in QThreadPool::~QThreadPool() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f0d87082c5e in FwupdBackend::~FwupdBackend (this=0x55bb584d5650, __in_chrg=<optimized out>) at ./libdiscover/backends/FwupdBackend/FwupdBackend.cpp:71
#8  0x00007f0d87082cdd in FwupdBackend::~FwupdBackend (this=0x55bb584d5650, __in_chrg=<optimized out>) at ./libdiscover/backends/FwupdBackend/FwupdBackend.cpp:63
#9  0x00007f0dfc8f8dde in qDeleteAll<QTypedArrayData<AbstractResourcesBackend*>::const_iterator> (end=..., begin=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:319
#10 qDeleteAll<QVector<AbstractResourcesBackend*> > (c=..., c=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:328
#11 ResourcesModel::~ResourcesModel (this=0x55bb57c5b500, __in_chrg=<optimized out>) at ./libdiscover/resources/ResourcesModel.cpp:124
#12 0x00007f0dfc8f8e7d in ResourcesModel::~ResourcesModel (this=0x55bb57c5b500, __in_chrg=<optimized out>) at ./libdiscover/resources/ResourcesModel.cpp:121
#13 0x00007f0dfab6d413 in QObject::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f0dfbacc013 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f0dfab411ca in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f0dfab43bc1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f0dfab47fdf in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x000055bb5657756c in main (argc=<optimized out>, argv=<optimized out>) at ./discover/main.cpp:183
Comment 1 top.lamp4866 2021-01-21 19:56:34 UTC
I see this is fixed, failed to find it on the first search :(

*** This bug has been marked as a duplicate of bug 428175 ***