Bug 1382360 - plasmashell hang right clicking application menu items
Summary: plasmashell hang right clicking application menu items
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: plasma-desktop
Version: 24
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: KDE SIG
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-06 13:16 UTC by Steven Haigh
Modified: 2016-10-07 12:34 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-10-07 12:34:47 UTC
Type: Bug


Attachments (Terms of Use)
backtrace of plasmashell in hung state. (7.75 KB, text/plain)
2016-10-06 13:16 UTC, Steven Haigh
no flags Details

Description Steven Haigh 2016-10-06 13:16:45 UTC
Created attachment 1207955 [details]
backtrace of plasmashell in hung state.

Description of problem:
Randomly, when clicking around in the Application menu, I can get the entire GUI to hang. This is difficult to reproduce - however from talking to rdieter on #fedora-kde, it seems to be related to packagekit.

Version-Release number of selected component (if applicable):
$ rpm -qa | grep plasma | sort
kdeplasma-addons-5.8.0-0.1.fc24.x86_64
kde-settings-plasma-24-7.fc24.noarch
kf5-plasma-5.26.0-1.fc24.x86_64
plasma-breeze-5.8.0-0.2.fc24.x86_64
plasma-breeze-common-5.8.0-0.2.fc24.noarch
plasma-desktop-5.8.0-0.1.fc24.x86_64
plasma-desktop-doc-5.8.0-0.1.fc24.noarch
plasma-discover-5.8.0-0.1.fc24.x86_64
plasma-discover-libs-5.8.0-0.1.fc24.x86_64
plasma-integration-5.8.0-0.1.fc24.x86_64
plasma-milou-5.8.0-0.1.fc24.x86_64
plasma-nm-5.8.0-0.1.fc24.x86_64
plasma-nm-l2tp-5.8.0-0.1.fc24.x86_64
plasma-nm-openconnect-5.8.0-0.1.fc24.x86_64
plasma-nm-openswan-5.8.0-0.1.fc24.x86_64
plasma-nm-openvpn-5.8.0-0.1.fc24.x86_64
plasma-nm-pptp-5.8.0-0.1.fc24.x86_64
plasma-nm-vpnc-5.8.0-0.1.fc24.x86_64
plasma-pa-5.8.0-0.1.fc24.x86_64
plasma-pk-updates-0.2-9.20160307git7b484b0.fc24.x86_64
plasma-systemsettings-5.8.0-0.1.fc24.x86_64
plasma-user-manager-5.8.0-0.1.fc24.x86_64
plasma-workspace-5.8.0-0.1.fc24.x86_64
plasma-workspace-common-5.8.0-0.1.fc24.x86_64
plasma-workspace-drkonqi-5.8.0-0.1.fc24.x86_64
plasma-workspace-geolocation-5.8.0-0.1.fc24.x86_64
plasma-workspace-geolocation-libs-5.8.0-0.1.fc24.x86_64
plasma-workspace-libs-5.8.0-0.1.fc24.x86_64

Backtrace attached.

Comment 1 Rex Dieter 2016-10-06 13:25:09 UTC
Guessing this is the problematic bit:


Thread 1 (Thread 0x7fb006a4e940 (LWP 2140)):
#0  0x00007fb0154550b9 in syscall () from /lib64/libc.so.6
#1  0x00007fb016060570 in QBasicMutex::lockInternal() () from /lib64/libQt5Core.so.5
#2  0x00007fb0160605e7 in QMutex::lock() () from /lib64/libQt5Core.so.5
#3  0x00007fb01623067a in QMetaObjectPrivate::disconnect(QObject const*, int, QMetaObject const*, QObject const*, int, void**, QMetaObjectPrivate::DisconnectType) ()
   from /lib64/libQt5Core.so.5
#4  0x00007fb01623163b in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () from /lib64/libQt5Core.so.5
#5  0x00007faf5a2dcfbb in PackageKit::TransactionPrivate::setupSignal(QString const&, bool) () from /lib64/libpackagekitqt5.so.0
#6  0x00007faf5a2de06d in PackageKit::Transaction::disconnectNotify(char const*) () from /lib64/libpackagekitqt5.so.0
#7  0x00007faf5a2dca5c in PackageKit::Transaction::disconnectNotify(QMetaMethod const&) () from /lib64/libpackagekitqt5.so.0
#8  0x00007fb01623554b in QObject::~QObject() () from /lib64/libQt5Core.so.5
#9  0x00007faf6042a819 in FindPackageJob::~FindPackageJob() () from /usr/lib64/qt5/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#10 0x00007fb01622ec10 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5

Comment 2 Rex Dieter 2016-10-06 14:47:00 UTC
Do you use packagekit and does it usually work ok?

If not, one easy way to workaround this problem would be:
dnf remove PackageKit

which will also remove any existing PackageKit clients too of course, including: apper, plasma-pk-updates.

Comment 3 Kevin Kofler 2016-10-06 20:34:51 UTC
This issue is known upstream, and this is exactly why PackageKit integration was removed (commented out) upstream, it is written very clearly in the commit message of the commit you reverted:
> [Kicker] Disable PackageKit integration (aka "Uninstall app") context menu entry
>
> Currently we cannot populate the context menu asynchronously which means we
> block waiting for PackageKit which takes multiple seconds. While fixing the missing
> include was correct, the result is a terrible regression in a bugfix release.
> 
> Once changes to the context menu can be notified by the Kicker backend, ie. 5.8,
> this feature will return, sorry.
>
> As discussed with Eike

Comment 4 Rex Dieter 2016-10-07 11:58:39 UTC
Not exactly.  There's a difference between blocking and hanging indefinitely.

Comment 5 Steven Haigh 2016-10-07 12:00:13 UTC
PackageKit does seem to work normally - If its PK that gets used for the update notifications etc?

Comment 6 Rex Dieter 2016-10-07 12:34:47 UTC
%changelog
* Fri Oct 07 2016 Rex Dieter <rdieter> - 5.8.0-3
- drop re-enabling kicker PackageKit integration, it's racy (#1382360)


Note You need to log in before you can comment on or make changes to this bug.