Bug 419968 - Discover hangs on exit, possibly due to the fwupd backend
Summary: Discover hangs on exit, possibly due to the fwupd backend
Status: RESOLVED DUPLICATE of bug 428175
Alias: None
Product: Discover
Classification: Applications
Component: fwupd Backend (show other bugs)
Version: 5.18.4
Platform: Other Linux
: HI normal
Target Milestone: ---
Assignee: Abhijeet Sharma
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-11 17:09 UTC by Bernie Innocenti
Modified: 2020-11-09 22:26 UTC (History)
2 users (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 Bernie Innocenti 2020-04-11 17:09:25 UTC
STEPS TO REPRODUCE
1. start Discover from cl
2. wait for the "updating..." spinner
3. quit without doing anything else

OBSERVED RESULT

Discover hangs after printing "Could not stop all fwupd threads"
The main process is stuck in the destructor of QThreadPool.

EXPECTED RESULT

Discover should just... you know... quit! :-)


SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.18.4
KDE Frameworks Version: 5.69
Qt Version: 5.14.2

ADDITIONAL INFORMATION

(gdb) bt
#0  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f967b478ac4 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#2  0x00007f967b475728 in QThreadPoolPrivate::waitForDone(QDeadlineTimer const&) () at /usr/lib/libQt5Core.so.5
#3  0x00007f967b475af2 in QThreadPoolPrivate::waitForDone(int) () at /usr/lib/libQt5Core.so.5
#4  0x00007f967b475b8d in QThreadPool::~QThreadPool() () at /usr/lib/libQt5Core.so.5
#5  0x00007f9620e2a312 in  () at /usr/lib/qt/plugins/discover/fwupd-backend.so
#6  0x00007f9620e2a3f9 in  () at /usr/lib/qt/plugins/discover/fwupd-backend.so
#7  0x00007f967d512d1e in ResourcesModel::~ResourcesModel() () at /usr/lib/plasma-discover/libDiscoverCommon.so
#8  0x00007f967d512dea in ResourcesModel::~ResourcesModel() () at /usr/lib/plasma-discover/libDiscoverCommon.so
#9  0x00007f967b67b870 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#10 0x00007f967c616352 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#11 0x00007f967c61f829 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#12 0x00007f967b64e4f2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#13 0x00007f967b650d56 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#14 0x00007f967b655080 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#15 0x000055b0be38f841 in  ()
--Type <RET> for more, q to quit, c to continue without paging--
#16 0x00007f967b01f023 in __libc_start_main () at /usr/lib/libc.so.6
#17 0x000055b0be38fe9e in _start ()
(gdb) info threads
* 1    Thread 0x7f9676964840 (LWP 152584) "plasma-discover" 0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  2    Thread 0x7f9675a76700 (LWP 152585) "QXcbEventQueue"  0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
  3    Thread 0x7f966ffff700 (LWP 152586) "QDBusConnection" 0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
  4    Thread 0x7f966edee700 (LWP 152588) "QQmlThread"      0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
  5    Thread 0x7f966d59e700 (LWP 152589) "plasma-dis:cs0"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  6    Thread 0x7f966cc48700 (LWP 152590) "plasma-:disk$0"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  7    Thread 0x7f96668e8700 (LWP 152591) "plasma-:disk$1"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  8    Thread 0x7f96660e7700 (LWP 152592) "plasma-:disk$2"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  9    Thread 0x7f96658e6700 (LWP 152593) "plasma-:disk$3"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  10   Thread 0x7f96650e5700 (LWP 152594) "plasma-dis:sh0"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  11   Thread 0x7f96648e4700 (LWP 152595) "plasma-dis:sh1"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  12   Thread 0x7f965b1b2700 (LWP 152596) "plasma-dis:sh2"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  13   Thread 0x7f965a9b1700 (LWP 152597) "plasma-dis:sh3"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  14   Thread 0x7f965a1b0700 (LWP 152598) "plasma-d:shlo0"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  15   Thread 0x7f96599af700 (LWP 152599) "plasma-d:shlo1"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  16   Thread 0x7f96591ae700 (LWP 152600) "plasma-d:shlo2"  0x00007f967a413cf5 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  17   Thread 0x7f96589ad700 (LWP 152603) "QQuickPixmapRea" 0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
  18   Thread 0x7f9622e59700 (LWP 152604) "gmain"           0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
  19   Thread 0x7f9622658700 (LWP 152605) "gdbus"           0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
  20   Thread 0x7f960bf6a700 (LWP 152615) "Qt bearer threa" 0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
  21   Thread 0x7f960b769700 (LWP 152616) "QNetworkAccessM" 0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
  22   Thread 0x7f95eab76700 (LWP 152624) "Thread (pooled)" 0x00007f967b0f1f8d in syscall () from /usr/lib/libc.so.6
  23   Thread 0x7f95ea375700 (LWP 152625) "QNetworkAccessM" 0x00007f967b0ecabf in poll () from /usr/lib/libc.so.6
Comment 1 Nate Graham 2020-04-15 03:33:56 UTC
I wonder if this could be the cause of Bug 415874.
Comment 2 Nate Graham 2020-05-11 17:04:21 UTC
This can make Discover look like it's not running, but not launch when the user tries to open it, because technically it is still running.
Comment 3 Bernie Innocenti 2020-06-13 17:22:11 UTC
Still present on 5.19.0
Comment 4 Bernie Innocenti 2020-07-19 15:31:08 UTC
I can't reproduce with Discover and KF5 built from git head.
Comment 5 Nate Graham 2020-07-19 18:02:35 UTC
Me neither in fact. Let's call it fixed. Phew!
Comment 6 Nate Graham 2020-11-09 22:26:23 UTC
Actually it started happening again. Marking as a dupe of the new bug tracking this.

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