Bug 291871

Summary: error message: "Unable to send message to yum-updatesd"
Product: [Fedora] Fedora Reporter: Valdis Kletnieks <valdis.kletnieks>
Component: yumAssignee: Jeremy Katz <katzj>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: medium    
Version: rawhideCC: james.antill, pmatilai, tim.lauridsen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-09-18 19:33:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Valdis Kletnieks 2007-09-15 02:36:15 UTC
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

Comment 1 Jeremy Katz 2007-09-17 23:52:21 UTC
Is yum-updatesd running? 

Comment 2 Valdis Kletnieks 2007-09-18 13:58:39 UTC
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
#

Comment 3 Valdis Kletnieks 2007-09-18 17:49:06 UTC
Is this another manifestation of bug #239937, where yum-updatesd is basically
sitting there idling and refusing to actually *do* anything?

Comment 4 Jeremy Katz 2007-09-18 18:14:34 UTC
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

Comment 5 Valdis Kletnieks 2007-09-18 19:08:11 UTC
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. ;)


Comment 6 Jeremy Katz 2007-09-18 19:33:35 UTC
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.

Comment 7 Valdis Kletnieks 2007-09-18 19:44:01 UTC
"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.. ;)