Bug 732414

Summary: zypper (re)starts packagekitd
Product: [openSUSE] openSUSE 12.1 Reporter: Harald Koenig <koenig>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED NORESPONSE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P1 - Urgent CC: dmacvicar
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Harald Koenig 2011-11-23 17:36:50 UTC
I tried to run "zypper up" when I got

	PackageKit is blocking zypper. This happens if you have an updater applet or other software management application using PackageKit running.
	Tell PackageKit to quit? [yes/no] (no): yes
	PackageKit is still running (probably busy).
	Try again? [yes/no] (no): yes
	PackageKit is still running (probably busy).
	Try again? [yes/no] (no): yes
	PackageKit is still running (probably busy).
	Try again? [yes/no] (no): yes
	PackageKit is still running (probably busy).
	Try again? [yes/no] (no): yes
	PackageKit is still running (probably busy).
	^C

I checked with "ps uaxOT | grep pack" multiple times (only after 2nd/3rd iteration though)
and noticed that 1st (while zypper waits at the prompt for input) there is no /usr/lib/packagekitd running,
but it shows up after entering yes and pressing ENTER -- and /usr/lib/packagekitd exits again after some seconds.

after stopping zypper and running it again, everything works fine.

looks like zypper runs /usr/lib/packagekitd to check/terminate and this causes zypper to block/wait again ?!?
Comment 1 Duncan Mac-Vicar 2011-11-24 09:12:35 UTC
When you claim packagekitd is not running but zypper keep asking, what is the output of

dbus-send --system "--dest=org.freedesktop.DBus" "--type=method_call" "--print-reply" "--reply-timeout=200" "/" "org.freedesktop.DBus.NameHasOwner" "string:org.freedesktop.PackageKit"
Comment 2 Harald Koenig 2011-11-24 14:40:40 UTC
> When you claim packagekitd is not running

I guess, *at*first* the packagekitd was running, as I got a gui popup (I'm using xfce) that there are new updates available.

then I told/clicked the gui tool (not running as root) to install the updates, but that failed because it never asked for a root password (and I wouldn't have entered it anywany -- I only was curious how things might work;-)

so after failed gui update stuff I run "sudo zypper up" which gave that output above. very likely at the time of starting zypper, packagekitd was running, but of course I did not check before running into that loop...


> what is the output of dbus-send --system ....

method return sender=org.freedesktop.DBus -> dest=:1.33 reply_serial=2
   boolean true

when I boot with systemd (boolean false when booting sysvinit, just for the record...)
Comment 3 Michael Andres 2012-04-27 09:27:56 UTC
Is this still an issue? I can't reproduce it.

IFF the zypp lockfile is owned by packagekit, zypper asks via dbus-send to quit 
packagekitd and uses the dbus-send command to check whether packagekitd is still running. If it does not work it's most probably a dbus issue. 

If restarting zypper solved it, then the SuggestDaemonQuit command was probably successfull and the lockfile was released.


If it sill occurs, please send then please send /var/log/zypper.log and /var/log/pk_backend_zypp. Maybe they contain some hint.
Comment 4 Michael Andres 2012-06-27 08:03:36 UTC
noresponse. seems to be solved.