[Bug 2067071] Re: cannot upgrade from 23.10 to 24.04, error in _install_t64_replacement_packages

Nick Rosbrook 2067071 at bugs.launchpad.net
Tue Jun 4 15:31:53 UTC 2024


This quirk should not be used for upgrades to oracular, so marking
invalid for that release. Only needs to be fixed in noble.

** Description changed:

+ [Impact]
+ 
+ Upgrades to Noble may crash while searching for t64 replacement
+ packages.
+ 
+ [Test Plan]
+ 
+ One way to reproduce this is by setting Pin-Priority: -1 for a t64
+ replacement package so that `replacement` will have no candidate.
+ 
+ $ apt install -y libts0
+ $ cat > /etc/apt/preferences.d/lp2067071  << EOF
+ Package: libts0t64
+ Pin: release a=noble
+ Pin-Priority: -1
+ EOF
+ $ do-release-upgrade
+ 
+ Before the patch, that will lead to the same crash shown in this bug
+ report.
+ 
+ [Where problems could occur]
+ 
+ The patch is confined to the t64 replacement quirk. Any other issues
+ would be there. The fix is to simply make sure the replacement has a
+ candidate (i.e. replacement.candidate is not None) before accessing more
+ attributes.
+ 
+ [Original Description]
+ 
  it crashes while calculating space - cannot proceed to package
  downloading.
  
  short from the logs:
  
  File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeCache.py", line 497, in pre_upgrade_rule
-     self.quirks.run("PreDistUpgradeCache")
-   File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 95, in run
-     func()
-   File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 191, in PreDistUpgradeCache
-     self._install_t64_replacement_packages()
-   File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 1845, in _install_t64_replacement_packages
-     if replacement.candidate._cand != ver:
-        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+     self.quirks.run("PreDistUpgradeCache")
+   File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 95, in run
+     func()
+   File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 191, in PreDistUpgradeCache
+     self._install_t64_replacement_packages()
+   File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 1845, in _install_t64_replacement_packages
+     if replacement.candidate._cand != ver:
+        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  AttributeError: 'NoneType' object has no attribute '_cand'
  
- 
  full logs attached as files.

** Also affects: ubuntu-release-upgrader (Ubuntu Noble)
   Importance: Undecided
       Status: New

** Changed in: ubuntu-release-upgrader (Ubuntu Noble)
   Importance: Undecided => High

** Changed in: ubuntu-release-upgrader (Ubuntu Noble)
     Assignee: (unassigned) => Nick Rosbrook (enr0n)

** Changed in: ubuntu-release-upgrader (Ubuntu Noble)
       Status: New => Triaged

** Changed in: ubuntu-release-upgrader (Ubuntu)
       Status: Confirmed => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/2067071

Title:
  cannot upgrade from 23.10 to 24.04, error in
  _install_t64_replacement_packages

Status in ubuntu-release-upgrader package in Ubuntu:
  Invalid
Status in ubuntu-release-upgrader source package in Noble:
  Triaged

Bug description:
  [Impact]

  Upgrades to Noble may crash while searching for t64 replacement
  packages.

  [Test Plan]

  One way to reproduce this is by setting Pin-Priority: -1 for a t64
  replacement package so that `replacement` will have no candidate.

  $ apt install -y libts0
  $ cat > /etc/apt/preferences.d/lp2067071  << EOF
  Package: libts0t64
  Pin: release a=noble
  Pin-Priority: -1
  EOF
  $ do-release-upgrade

  Before the patch, that will lead to the same crash shown in this bug
  report.

  [Where problems could occur]

  The patch is confined to the t64 replacement quirk. Any other issues
  would be there. The fix is to simply make sure the replacement has a
  candidate (i.e. replacement.candidate is not None) before accessing
  more attributes.

  [Original Description]

  it crashes while calculating space - cannot proceed to package
  downloading.

  short from the logs:

  File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeCache.py", line 497, in pre_upgrade_rule
      self.quirks.run("PreDistUpgradeCache")
    File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 95, in run
      func()
    File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 191, in PreDistUpgradeCache
      self._install_t64_replacement_packages()
    File "/tmp/ubuntu-release-upgrader-4lhpwkx7/DistUpgrade/DistUpgradeQuirks.py", line 1845, in _install_t64_replacement_packages
      if replacement.candidate._cand != ver:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  AttributeError: 'NoneType' object has no attribute '_cand'

  full logs attached as files.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/2067071/+subscriptions




More information about the foundations-bugs mailing list