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
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2067071

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

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


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to