Bug 238685

Summary: yum-updatesd bugs cause it to fail silently
Product: [Fedora] Fedora Reporter: Jeremy Sanders <jss>
Component: yumAssignee: Jeremy Katz <katzj>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: rmj
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-05-02 21:58:31 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 Jeremy Sanders 2007-05-02 10:06:47 UTC
Description of problem:
yum-updatesd fails to update automatically in Fedora Core 7 Test 4 if the
following options are set in /etc/yum/yum-updatesd.conf:

# automatically install updates
do_update = yes
# automatically download updates
do_download = yes
# automatically download deps of updates
do_download_deps = yes

This is due to a bug in the code. The bug is caught by an exception, but there's
no noticable output to syslog if "emit_via=syslog" is set.

If you examine /usr/share/yum-cli/yumupd.py, and look at the subroutine
updatesCheck(), on lines 482 and 486, the variable dlpkgs is referenced, which
isn't defined. This can be tested by changing "Exception" on line 492 to
"IOError" (so the exception isn't caught):

Traceback (most recent call last):
  File "/root/myyumupd.py", line 487, in updatesCheck
    uit = UpdateInstallThread(self, dlpkgs)
NameError: global name 'dlpkgs' is not defined

(note that the line number of this exception is incorrect as I have modified the
source here to get the exception)

Version-Release number of selected component (if applicable):
yum-3.1.7-2.fc7

How reproducible:
Very

Steps to Reproduce:
1. Set do_update, do_download, and do_download_deps to "yes" in
/etc/yum/yum-updatesd.conf
2. Stop yum-updatesd service, and run yum-updatesd --no-fork
3. Daemon silently does not do updates
  
Actual results:

(after removing exception catching)
Traceback (most recent call last):
  File "/root/myyumupd.py", line 487, in updatesCheck
    uit = UpdateInstallThread(self, dlpkgs)
NameError: global name 'dlpkgs' is not defined


Expected results:
Packages to update

Additional info:
This is obviously a bug in the source code caused by an undefined variable. The
source code obviously hasn't been tested recently.

Comment 1 Jeremy Katz 2007-05-02 21:58:31 UTC
Fixed in upstream CVS