[Bug 1908023] Re: installation stopped by an exception from mark_install() in Cache class of python3-apt
Launchpad Bug Tracker
1908023 at bugs.launchpad.net
Tue Jan 26 08:33:46 UTC 2021
** Merge proposal linked:
https://code.launchpad.net/~fourdollars/ubiquity/+git/ubiquity/+merge/396890
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubiquity in Ubuntu.
https://bugs.launchpad.net/bugs/1908023
Title:
installation stopped by an exception from mark_install() in Cache
class of python3-apt
Status in OEM Priority Project:
In Progress
Status in OEM Priority Project focal series:
Confirmed
Status in ubiquity package in Ubuntu:
Fix Released
Bug description:
[Impact]
* The original mark_install() function in ubiquity/install_misc.py is
not reliable.
* It will break the packages dependencies unexpectedly even when we
do provide the complete packages installation set.
[Test Case]
* It needs to manually provide some fixed broken order in the source code level, such as https://paste.ubuntu.com/p/XfGczzmxzM/ did, which is based on ubiquity 20.04.15.2 in focal. (The broken order is a real case dumpped from OEM project.)
* So I used https://paste.ubuntu.com/p/fzK3BQhH7M/ to simulate the fixed broken order to verify the patch and it works fine. (https://paste.ubuntu.com/p/8B3M6dS8xr/ is the log.)
[Where problems could occur]
* We found some order such as https://paste.ubuntu.com/p/tC25Gt25fY/ for example.
When libgbm1 is the first package from set(), it will cause the following exception or silently remove some other packages like xserver-xorg-input-libinput, xserver-xorg-input-all and xserver-xorg-video-all like comment #2 & #3.
[Other Info]
* The patch of
https://code.launchpad.net/~fourdollars/ubiquity/+git/ubiquity/+merge/395438
is using another mechanism to install packages set as apt upgrade /
apt-get upgrade --with-new-pkgs is using.
LP: #1891599 dealt with the random and this is dealing with the exception.
Exception in the installation
Aug 12 19:26:59 ubuntu /plugininstall.py: Exception during installation:
Aug 12 19:26:59 ubuntu /plugininstall.py: Traceback (most recent call last):
Aug 12 19:26:59 ubuntu /plugininstall.py: File "/usr/share/ubiquity/plugininstall.py", line 235, in run
Aug 12 19:26:59 ubuntu /plugininstall.py: self.install_extras()
Aug 12 19:26:59 ubuntu /plugininstall.py: File "/usr/share/ubiquity/plugininstall.py", line 1212, in install_extras
Aug 12 19:26:59 ubuntu /plugininstall.py: self.do_install(filtered_extra_packages)
Aug 12 19:26:59 ubuntu /plugininstall.py: File "/usr/lib/ubiquity/ubiquity/install_misc.py", line 941, in do_install
Aug 12 19:26:59 ubuntu /plugininstall.py: mark_install(cache, pkg)
Aug 12 19:26:59 ubuntu /plugininstall.py: File "/usr/lib/ubiquity/ubiquity/install_misc.py", line 553, in mark_install
Aug 12 19:26:59 ubuntu /plugininstall.py: raise InstallStepError(
Aug 12 19:26:59 ubuntu /plugininstall.py: ubiquity.install_misc.InstallStepError: Unable to install 'libgbm1' due to conflicts.
This happen in oem project because we have lots pkg to upgrade during
installation because the design of factory process need it.
As package list have certain dependency, and the the order that we get
the pkg from the python set object is not good for underlying apt
engine, then exception will raise.
To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1908023/+subscriptions
More information about the foundations-bugs
mailing list