installation stopped by an random exception from mark_install() in Cache class of python3-apt

Bug #1891599 reported by Alex Tu
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
Fix Released
Critical
Shih-Yuan Lee
ubiquity (Ubuntu)
Fix Committed
Medium
Unassigned

Bug Description

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.

Related branches

Revision history for this message
Alex Tu (alextu) wrote :

for 1. improve the fault tolerance of Ubiquity while it calling external library.

We are trying to have severial times retry in ubiquity before thow out the exception.
And the installation testing is in progress.

Changed in ubiquity (Ubuntu):
assignee: nobody → Alex Tu (alextu)
assignee: Alex Tu (alextu) → nobody
Changed in oem-priority:
assignee: nobody → Alex Tu (alextu)
importance: Undecided → Critical
tags: added: oem-priority originate-from-1891118 somerville
Revision history for this message
Alex Tu (alextu) wrote :

I'm trying to upload log, but keep getting launchpad opps.
(Error ID: OOPS-6b4d02cb9bb92efa8664d821b400a951)
So, I will try uploading syslog later.

Alex Tu (alextu)
tags: added: originate-from-1891603
Revision history for this message
Yuan-Chen Cheng (ycheng-twn) wrote :
Changed in oem-priority:
assignee: Alex Tu (alextu) → Yuan-Chen Cheng (ycheng-twn)
description: updated
description: updated
Revision history for this message
Yuan-Chen Cheng (ycheng-twn) wrote :

the patch that passed 50 installtion

Revision history for this message
Yuan-Chen Cheng (ycheng-twn) wrote :

as this happens, I found the real exception is give by

  File "/usr/lib/python3/dist-packages/apt/package.py", line 1549, in mark_install
    fixer.resolve(True)
apt_pkg.Error: E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

the package cause this error is: libgbm1

I found as it happens, if it failed:

===
# apt-get install -s evolution-data-server libgbm1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 evolution-data-server : Depends: libedataserverui-1.2-2 (= 3.36.4-0ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
===

However, If I
"apt-get install -s evolution-data-server libgbm1 libegl-mesa0"

Then there is no error

Revision history for this message
Yuan-Chen Cheng (ycheng-twn) wrote :

the dpkg -l as this happens

Revision history for this message
Yuan-Chen Cheng (ycheng-twn) wrote :

the pkg list we want to mark install as we run to there.

Changed in oem-priority:
status: New → Confirmed
Revision history for this message
Yuan-Chen Cheng (ycheng-twn) wrote :

Note: the patch will not change the flow if not exception happens in

mark_install(cache, pkg)

Given so, I think there won't have regression if we apply this.

description: updated
description: updated
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "install_misc_py.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
description: updated
Changed in oem-priority:
assignee: Yuan-Chen Cheng (ycheng-twn) → nobody
Changed in oem-priority:
assignee: nobody → Alex Tu (alextu)
Changed in oem-priority:
assignee: Alex Tu (alextu) → Shih-Yuan Lee (fourdollars)
status: Confirmed → In Progress
Changed in ubiquity (Ubuntu):
status: New → Fix Committed
importance: Undecided → Medium
description: updated
Revision history for this message
Yuan-Chen Cheng (ycheng-twn) wrote :

If we decide to take this, SRU back to focal is needed, given most OEM use LTS.

Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

The fix for LP: #1908023 will cover/replace the fix of this bug.

Changed in oem-priority:
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.