Bug 650488 - preupgrade reports ready to upgrade despite errors
Summary: preupgrade reports ready to upgrade despite errors
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: preupgrade
Version: 14
Hardware: x86_64
OS: Linux
low
high
Target Milestone: ---
Assignee: Richard Hughes
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-06 16:59 UTC by Robert Hancock
Modified: 2012-08-16 19:59 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-16 19:59:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Robert Hancock 2010-11-06 16:59:46 UTC
Description of problem:

On my desktop machine, /boot has 174MB free which is not enough to download the install.img file. Preupgrade seems to not detect this and blindly keeps trying to download the file even though it has run out of space. Worse, despite all the retrieval errors, it then reports "ready to upgrade"!

Version-Release number of selected component (if applicable):
preupgrade-1.1.8-1.fc13.noarch

python-urlgrabber-3.9.1-7.fc13.noarch

How reproducible:
Every time, on this machine

Steps to Reproduce:
1. attempt to run preupgrade
2.
3.
  
Actual results:
Preupgrade keeps trying to download install.img, then fails, but reports "ready to upgrade"  when it is clearly not

Expected results:
Preupgrade should detect there is not enough space for install.img and offer to download it during install

Additional info:

Loaded plugins: blacklist, fastestmirror, whiteout
No plugin match for: remove-with-leaves
No plugin match for: auto-update-debuginfo
preupgrade-main (mirrorlist) 
  url: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-14&arch=$basearch
  now: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-14&arch=x86_64
Loading mirror speeds from cached hostfile
 * fedora: www.muug.mb.ca
 * rpmfusion-free: mirror.liberty.edu
 * rpmfusion-free-updates: mirror.liberty.edu
 * rpmfusion-nonfree: mirror.liberty.edu
 * rpmfusion-nonfree-updates: mirror.liberty.edu
 * updates: www.muug.mb.ca
preupgrade (mirrorlist) 
  url: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/14/Fedora/$basearch/os
  now: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/14/Fedora/x86_64/os
Checking for new repos for mirrors
 * preupgrade-main: www.muug.mb.ca
unknown metadata being downloaded: repomdoNT8RAtmp.xml
preupgrade-adobe-linux-i386 (baseurl) 
  url: http://linuxdownload.adobe.com/linux/i386/
  now: http://linuxdownload.adobe.com/linux/i386/
Checking for new repos for mirrors
unknown metadata being downloaded: repomd9NNOK9tmp.xml
preupgrade-fedora (mirrorlist) 
  url: https://mirrors.fedoraproject.org/metalink?repo=fedora-14&arch=x86_64
  now: https://mirrors.fedoraproject.org/metalink?repo=fedora-14&arch=x86_64
Checking for new repos for mirrors
unknown metadata being downloaded: metalink.xml.tmp
unknown metadata being downloaded: repomdpITWpetmp.xml
preupgrade-rpmfusion-free (mirrorlist) 
  url: http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-14&arch=x86_64
  now: http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-14&arch=x86_64
Checking for new repos for mirrors
 * preupgrade-fedora: www.muug.mb.ca
unknown metadata being downloaded: repomdxaWuo8tmp.xml
preupgrade-rpmfusion-free-updates (mirrorlist) 
  url: http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-14&arch=x86_64
  now: http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-14&arch=x86_64
Checking for new repos for mirrors
 * preupgrade-rpmfusion-free: mirror.liberty.edu
unknown metadata being downloaded: repomdbq9im_tmp.xml
preupgrade-rpmfusion-nonfree (mirrorlist) 
  url: http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-14&arch=x86_64
  now: http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-14&arch=x86_64
Checking for new repos for mirrors
 * preupgrade-rpmfusion-free-updates: mirror.liberty.edu
unknown metadata being downloaded: repomdCa5CIFtmp.xml
preupgrade-rpmfusion-nonfree-updates (mirrorlist) 
  url: http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-14&arch=x86_64
  now: http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-14&arch=x86_64
Checking for new repos for mirrors
 * preupgrade-rpmfusion-nonfree: mirror.liberty.edu
unknown metadata being downloaded: repomd8LYwJXtmp.xml
preupgrade-updates (mirrorlist) 
  url: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f14&arch=x86_64
  now: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f14&arch=x86_64
Checking for new repos for mirrors
 * preupgrade-rpmfusion-nonfree-updates: mirror.liberty.edu
unknown metadata being downloaded: metalink.xml.tmp
unknown metadata being downloaded: repomdsoE44qtmp.xml
preupgrade-virtualbox (baseurl) 
  url: http://download.virtualbox.org/virtualbox/rpm/fedora/14/x86_64
  now: http://download.virtualbox.org/virtualbox/rpm/fedora/14/x86_64
Checking for new repos for mirrors
 * preupgrade-updates: www.muug.mb.ca
unknown metadata being downloaded: repomd4Ld22jtmp.xml
unknown metadata being downloaded: MEMORY
Fetched treeinfo from ftp://ftp.nrc.ca/pub/systems/linux/redhat/fedora/linux/releases/14/Fedora/x86_64/os//.treeinfo
treeinfo timestamp: Thu Oct 21 12:27:17 2010
unknown metadata being downloaded: MEMORY
unknown metadata being downloaded: MEMORY
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1094, in _retrieve
    self.fo.write(buf)
IOError: [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/share/preupgrade/preupgrade-gtk.py", line 259, in on_assistant_apply
    self._do_main()
  File "/usr/share/preupgrade/preupgrade-gtk.py", line 278, in _do_main
    self.main_preupgrade()
  File "/usr/share/preupgrade/preupgrade-gtk.py", line 500, in main_preupgrade
    stage2file = self.pu.retrieve_non_critical_files()
  File "/usr/lib/python2.6/site-packages/preupgrade/__init__.py", line 571, in retrieve_non_critical_files
    self._retrieve_file(self.mainimage, targetdir, reserve_space=extra_space)
  File "/usr/lib/python2.6/site-packages/preupgrade/__init__.py", line 479, in _retrieve_file
    self.instrepo._getFile(relative=fileinfo, local=local)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 808, in _getFile
    size=size
  File "/usr/lib/python2.6/site-packages/urlgrabber/mirror.py", line 408, in urlgrab
    return self._mirror_try(func, url, kw)
  File "/usr/lib/python2.6/site-packages/urlgrabber/mirror.py", line 394, in _mirror_try
    return func_ref( *(fullurl,), **kwargs )
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 982, in urlgrab
    return self._retry(opts, retryfunc, url, filename)
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 886, in _retry
    r = apply(func, (opts,) + args, {})
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 968, in retryfunc
    fo = PyCurlFileObject(url, filename, opts)
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1063, in __init__
    self._do_open()
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1351, in _do_open
    self._do_grab()
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1481, in _do_grab
    self._do_perform()
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 1276, in _do_perform
    raise KeyboardInterrupt
KeyboardInterrupt

Comment 1 Robert Hancock 2010-11-06 17:16:56 UTC
It appears that the problem is related to preupgrade not being able to tell how big the file is (maybe because it's being downloaded from an FTP site instead of HTTP) so it can't detect beforehand that there's not enough space. Then it seems python-urlgrabber doesn't fail in any reasonable fashion when it gets a "no space left on device" error when writing the file.

Comment 2 Robert Hancock 2010-11-06 17:30:02 UTC
The problem with python-urlgrabber not failing reasonably on an out of disk space error seems to be covered by bug 573451. However, there's still a preupgrade problem here, as it shouldn't falsely report that it is ready to upgrade when an error occurs.

Comment 3 bob mckay 2010-11-30 17:07:20 UTC
The problem of reporting success, when the preupgrade actually fails, isn't limited to disk apace problems. I got the same behaviour when I ran preupgrade without noticing a network cable had become dislodged; came back to see an apparently completed preupgrade, clicked reboot, and was a little surprised to find an F13 desktop again...

Comment 4 Bug Zapper 2011-05-30 14:06:04 UTC
This message is a reminder that Fedora 13 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 13.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '13'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 13's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 13 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 bob mckay 2011-05-30 17:58:33 UTC
As noted in comment 3, this bug is still present in at least fedora 14 and needs to be retained
but I don't have privileges to re-version. Anyone?

Comment 6 Robert Hancock 2011-05-30 18:44:34 UTC
I've changed the version to 14 for now.

Comment 7 Fedora End Of Life 2012-08-16 19:59:51 UTC
This message is a notice that Fedora 14 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 14. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained.  At this time, all open bugs with a Fedora 'version'
of '14' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this 
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen 
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we were unable to fix it before Fedora 14 reached end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" (top right of this page) and open it against that 
version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping


Note You need to log in before you can comment on or make changes to this bug.