space requirement calculation seems to abort too early

Bug #219416 reported by Kees Cook
2
Affects Status Importance Assigned to Milestone
update-manager (Ubuntu)
Fix Released
Medium
Michael Vogt

Bug Description

Binary package hint: update-manager

I was attempting upgrades in a kvm instance, but didn't have enough disk space.

I then noticed that the upgrade was requiring more and more space, even though I was freeing as much as it was asking for. Since the dist-upgrade logs are over-written (should they be set to append?), I don't have the prior history, but I started copying them off and comparing the space calculations. Note the "needs" value growing from 1377M to 1513M. This was more dramatic earlier when it claimed it only needed 600M, then 900M, then 1000M (roughly) in earlier attempts when there was very little disk space free (<200M, <400M, <800M roughly).

failed ("needs a total of 1377M"):
2008-04-18 16:10:34,723 DEBUG dir '/var/cache/apt/archives' needs '743175378.0' of '<DistUpgradeController.FreeSpace object at 0x507f050>' (880447488.000000)
2008-04-18 16:10:34,724 DEBUG dir '/usr' needs '634007552.0' of '<DistUpgradeController.FreeSpace object at 0x507f050>' (137272110.000000)
2008-04-18 16:10:34,725 ERROR not enough free space on /usr (missing 497M)

*purge openoffice*
/dev/sda1 3.8G 2.3G 1.1G 64% /

failed ("needs a total of 1513M"):
2008-04-18 16:15:06,012 DEBUG dir '/var/cache/apt/archives' needs '703294980.0' of '<DistUpgradeController.FreeSpace object at 0x508b050>' (1167941632.000000)
2008-04-18 16:15:06,013 DEBUG dir '/usr' needs '809545728.0' of '<DistUpgradeController.FreeSpace object at 0x508b050>' (464646652.000000)
2008-04-18 16:15:06,013 ERROR not enough free space on /usr (missing 345M)

*remove 200M junk file*
/dev/sda1 3.8G 2.3G 1.3G 64% /

failed ("needs a total of 1513M"):
2008-04-18 16:21:58,000 DEBUG dir '/var/cache/apt/archives' needs '703294980.0' of '<DistUpgradeController.FreeSpace object at 0x5083050>' (1369038848.000000)
2008-04-18 16:21:58,001 DEBUG dir '/usr' needs '809545728.0' of '<DistUpgradeController.FreeSpace object at 0x5083050>' (665743868.000000)
2008-04-18 16:21:58,001 ERROR not enough free space on /usr (missing 144M)

*remove autoremove packages*
/dev/sda1 3.8G 2.3G 1.3G 64% /

*remove ia32-libs, koffice, and newly auto-removeable stuff*
/dev/sda1 3.8G 2.0G 1.6G 55% /

finally:
2008-04-18 16:34:59,942 DEBUG dir '/var/cache/apt/archives' needs '629964900.0' of '<DistUpgradeController.FreeSpace object at 0x507ef10>' (1689989120.000000)
2008-04-18 16:34:59,944 DEBUG dir '/usr' needs '790843392.0' of '<DistUpgradeController.FreeSpace object at 0x507ef10>' (1060024220.000000)
2008-04-18 16:34:59,944 DEBUG dir '/usr' needs '52428800' of '<DistUpgradeController.FreeSpace object at 0x507ef10>' (269180828.000000)
2008-04-18 16:34:59,944 DEBUG dir '/boot' needs '20971520' of '<DistUpgradeController.FreeSpace object at 0x507ef10>' (216752028.000000)
2008-04-18 16:34:59,944 DEBUG dir '/' needs '10485760' of '<DistUpgradeController.FreeSpace object at 0x507ef10>' (195780508.000000)

Tags: gutsy2hardy
Revision history for this message
Kees Cook (kees) wrote :

I should note, this is for a Gutsy -> Hardy upgrade.

Changed in update-manager:
assignee: nobody → mvo
milestone: none → later
Michael Vogt (mvo)
Changed in update-manager:
importance: Undecided → Medium
status: New → Confirmed
Changed in update-manager:
status: Confirmed → Triaged
Michael Vogt (mvo)
Changed in update-manager (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-manager - 1:0.110.0

---------------
update-manager (1:0.110.0) jaunty; urgency=low

  * DistUpgrade/DistUpgradeCache.py:
    - take changes in update-initramfs into account when
      calculating the space requirements in /boot (LP: #287826)
    - when doing the space calculation, show the required space
      for each directory (if multiple need more space) LP: #219416
  * DistUpgrade/DevelReleaseAnnouncement:
    - updated for beta
  * UpdateManager/DistUpgradeFetcher.py:
    - set 5s timeout for the ReleaseNotes fetching (LP: #109397)
  * UpdateManager/UpdateManager.py:
    - pass the correct FetchProgress to the release-upgrade fetching
      code instead of the incorrect OpProgress

 -- Michael Vogt <email address hidden> Thu, 19 Mar 2009 16:48:11 +0100

Changed in update-manager:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.