Description of problem: The refresh-updatesd plugin doesn't seem to correctly send an update request to yum-updatesd. Version-Release number of selected component (if applicable): yum-3.2.5-2.fc8 How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Running 'yum list updates', I see: # yum list updates Loading "refresh-updatesd" plugin Excluding Packages in global exclude list Finished Unable to send message to yum-updatesd Even though both yum and dbus are running. Expected results: Additional info: Part of an 'strace', showing when yum tries to send to dbus: socket(PF_FILE, SOCK_STREAM, 0) = 6 connect(6, {sa_family=AF_FILE, path="/var/run/dbus/system_bus_socket"}, 33) = 0 fcntl(6, F_GETFL) = 0x2 (flags O_RDWR) fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK) = 0 fcntl(6, F_GETFD) = 0 fcntl(6, F_SETFD, FD_CLOEXEC) = 0 getuid() = 0 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0 poll([{fd=6, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1 write(6, "\0", 1) = 1 write(6, "AUTH EXTERNAL 30\r\n", 18) = 18 poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, -1) = 1 read(6, "OK c0e69ab295e21f50655ce10046ea9"..., 2048) = 37 poll([{fd=6, events=POLLOUT, revents=POLLOUT}], 1, -1) = 1 write(6, "BEGIN\r\n", 7) = 7 poll([{fd=6, events=POLLIN|POLLOUT, revents=POLLOUT}], 1, -1) = 1 writev(6, [{"l\1\0\1\0\0\0\0\1\0\0\0n\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 128}, {"", 0}], 2) = 128 poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 25000) = 1 read(6, "l\2\1\1\t\0\0\0\1\0\0\0=\0\0\0\6\1s\0\4\0\0\0:1.6\0\0\0\0"..., 2048) = 258 read(6, 0x622dd40, 2048) = -1 EAGAIN (Resource temporarily unavailable) writev(6, [{"l\1\0\1\27\0\0\0\2\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 144}, {"\22\0\0\0edu.duke.linux.yum\0", 23}], 2) = 167 poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 25000) = 1 read(6, "l\3\1\1C\0\0\0\3\0\0\0u\0\0\0\6\1s\0\4\0\0\0:1.6\0\0\0\0"..., 2048) = 203 read(6, 0x622dd40, 2048) = -1 EAGAIN (Resource temporarily unavailable) writev(6, [{"l\1\0\1\34\0\0\0\3\0\0\0\210\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 152}, {"\22\0\0\0edu.duke.linux.yum\0\0\0\0\0\0", 28}], 2) = 180 poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 25000) = 1 read(6, "l\3\1\1G\0\0\0\4\0\0\0u\0\0\0\6\1s\0\4\0\0\0:1.6\0\0\0\0"..., 2048) = 207 read(6, 0x622dd40, 2048) = -1 EAGAIN (Resource temporarily unavailable) write(2, "Unable to send message to yum-up"..., 39Unable to send message to yum-updatesd ) = 39
Is yum-updatesd running?
Just tried it again - both yum-updates and dbus are running. # ps ax|grep '[d]bus' 2281 ? Ssl 0:00 dbus-daemon --system 2840 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /home/valdis/.xsession 2843 ? S 0:00 /usr/bin/dbus-launch --exit-with-session /home/valdis/.xsession 2844 ? Ssl 0:00 /bin/dbus-daemon --fork --print-pid 4 --print-address 8 --session # ps ax|grep '[y]um' 11452 pts/0 SN 0:00 /usr/bin/python -tt /usr/sbin/yum-updatesd # yum list updates Loading "refresh-updatesd" plugin development 100% |=========================| 2.1 kB 00:00 primary.sqlite.bz2 100% |=========================| 6.4 MB 00:00 Excluding Packages in global exclude list Finished Updated Packages ConsoleKit.x86_64 0.2.2-1.fc8 development ConsoleKit-libs.x86_64 0.2.2-1.fc8 development ConsoleKit-x11.x86_64 0.2.2-1.fc8 development ORBit2.x86_64 2.14.9-1.fc8 development <lots of files elided> yelp.x86_64 2.20.0-1.fc8 development ypbind.x86_64 3:1.20.4-2.fc8 development yum.noarch 3.2.5-3.fc8 development zenity.x86_64 2.20.0-1.fc8 development Unable to send message to yum-updatesd #
Is this another manifestation of bug #239937, where yum-updatesd is basically sitting there idling and refusing to actually *do* anything?
yum-updatesd is completely different beast in F8 than previously, so it shouldn't be sitting and doing nothing. And 'unable to send message' seems even more weird. What version of yum-updatesd do you have installed? And what are the contents of /etc/yum/yum-updatesd.conf? And can you try to run the following command: $ dbus-send --system --print-reply --type=method_call --dest=edu.duke.linux.yum /Updatesd edu.duke.linux.yum.CheckNow
yum-updates.conf: # how often to check for new updates (in seconds) run_interval = 3600 # how often to allow checking on request (in seconds) updaterefresh = 600 # how to send notifications (valid: dbus, email, syslog) emit_via = email # should we listen via dbus to give out update information/check for # new updates dbus_listener = no # automatically install updates do_update = no # automatically download updates do_download = yes # automatically download deps of updates do_download_deps = yes yum-updatesd-0.5-2.fc8 Unclear what the line-wrapping on your dbus-send was, so trying both ways: (with space before /Upd) # dbus-send --system --print-reply --type=method_call --dest=edu.duke.linux.yum /Updatesd edu.duke.linux.yum.CheckNow Error org.freedesktop.DBus.Error.ServiceUnknown: The name edu.duke.linux.yum was not provided by any .service files Well, these are the .service files I think I have: /usr/share/dbus-1/services/dhcdbd.service /usr/share/dbus-1/services/gaim.service /usr/share/dbus-1/services/gnome-power-manager.service /usr/share/dbus-1/services/gnome-vfs-daemon.service /usr/share/dbus-1/services/org.freedesktop.Notifications.service /usr/share/dbus-1/services/org.gnome.PolicyKit.service /usr/share/dbus-1/services/org.gnome.SettingsDaemon.service /usr/share/dbus-1/services/org.gnome.Tomboy.service /usr/share/dbus-1/system-services/wpa_supplicant.service I *do* have a /etc/dbus-1/system.d/yum-updatesd.conf - should that be .service? Between this and #239937, I'm getting pretty fed up with yum-updatesd. ;)
Aha, I see why -- you have 'dbus_listener = no' in your yum-updatesd config. That means it won't listen on dbus, so there's no way to tell it to refresh. Which makes the message from the refresh-updatesd plugin exactly correct.
"D'Oh!" -- H. Simpson. :) In my defense, the comment *above* the dbus_listener=no made it sound like that was yum-updatesd *sending* info to dbus, so it could then send the Gnome desktop the info so it could light up a "updates available" widget. So I set it to off, because I'm not running Gnome so nothing is listening to dbus waiting for an "updates available" message. Then 6 weeks later, somebody adds code to yum to poke yum-updatesd via dbus.. ;)