[Bug 1908023] Re: installation stopped by an exception from mark_install() in Cache class of python3-apt

Ɓukasz Zemczak 1908023 at bugs.launchpad.net
Tue Jan 26 09:26:21 UTC 2021


Ok, so it's not ideal that this lands so late in the .2 cycle as this
SRU adds a new user-visible that would be nice to have translated. Too
bad.

** Changed in: ubiquity (Ubuntu Focal)
       Status: New => Fix Committed

** Tags added: verification-needed verification-needed-focal

-- 
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
Status in ubiquity source package in Focal:
  Fix Committed

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