Bug 939454

Summary: Apper hangs when attempting to update a component used by another process
Product: [openSUSE] openSUSE Distribution Reporter: Olaf Martens <olafmartens>
Component: MaintenanceAssignee: E-mail List <bnc-team-screening>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Minor    
Priority: P5 - None CC: wbauer
Version: 13.2   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 13.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Olaf Martens 2015-07-26 06:08:02 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0
Build Identifier: 

When attempting to do an update packages with Apper it may occasionally hang. Especially flash-player is notorious for this when a browser is using the plugin, which is especially true under KDE, because it loads Konqueror upon startup - and that one locks flash-player, thereby causing Apper (to be more precise: packagekitd) to hang.


Reproducible: Always

Steps to Reproduce:
1. Invoke Apper when updates are available.
2. Click on "Install".
Attention: flash-player MUST be among the packages to be updated for packagekitd to hang in the process!
Actual Results:  
Apper displays "Waiting on other processes", but nothing happens, no matter how long you wait. Tested on two machines, one with local login, the other (a VM) via XDMCP, with both displaying identical behavior.

Expected Results:  
The update should proceed normally, no matter which packages are to be updated in the process.

This problem may be worked around as follows:
1. Open a root console.
2. killall -HUP packagekitd
3. zypper update

Answer the question about whether to shut down packagekitd with "yes".

Everything is updated normally.
Comment 1 Wolfgang Bauer 2015-07-26 11:29:27 UTC
(In reply to Olaf Martens from comment #0)
> When attempting to do an update packages with Apper it may occasionally
> hang. Especially flash-player is notorious for this when a browser is using
> the plugin, which is especially true under KDE, because it loads Konqueror
> upon startup - and that one locks flash-player, thereby causing Apper (to be
> more precise: packagekitd) to hang.

No, you're misinterpreting the problem.
It doesn't matter whether a component is in use by another process.
Otherwise this would also happen for every KDE update when running KDE, which it doesn't...

Rather, packagekitd hangs whenever there is a license agreement necessary, which is the case with flash-player in particular.

> Apper displays "Waiting on other processes", but nothing happens, no matter
> how long you wait.

That's not completely true either.
Any interaction with packagekitd will "wake it up", and it will continue to install the selected updates.

So other workarounds include:
- right-click on KDE's update icon and choose "Check for new updates" (there won't be any progress report in the applet in this case, but the updates will be installed)
- start Apper and check for updates
- run "pkcon get-updates" in a terminal

And it will also continue when Apper automatically checks for updates the next time. So set the check interval to "hourly" and you'll wait one hour at most... ;)

Anyway, this problem has been reported already, marking as duplicate.

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