[Bug 2111742] [NEW] 3.0 solver inadvertently removes packages during install
Julian Andres Klode
2111742 at bugs.launchpad.net
Mon May 26 16:24:28 UTC 2025
Public bug reported:
[Impact]
The solver evaluation revealed cases where installing new packages inadvertently removed manually installed packages from the system such as ubuntu-minimal.
For users on the default solver, this causes two issues:
1. If the default solver fails to find a solution, it may fall back to
the new solver and present the inadvertent solution.
2. If the solution is not presented, but worse, and a report filed with
errors.ubuntu.com
For users using the 3.0 solver explicitly, for example, using the
`--solver 3.0` argument or setting `APT::Solver "3.0"` in apt.conf, the
issue only has an effect if the option `APT::Solver::RemoveManual` is
set to `1`, which is not the default case.
[Test plan]
Replay the APT solver dump
https://errors.ubuntu.com/oops/1b55173a-3526-11f0-b7ac-fa163e171f02
https://errors.ubuntu.com/oops/dbd5149e-36b9-11f0-bb74-fa163ec44ecd
And ensure that no manual package is being removed.
To replay the solver dump:
Pass the AptSolverDump value through
base64 -d | zstd -d | /usr/lib/apt/solvers/solver3 -o
APT::Solver::RemoveManual=1
and ensure that the problem can be resolved without removing any
packages, that is,
1. The output ends with Message: Done
2. The output contains no Remove: lines
To further analyse the output the analyse-edsp.py tool from the edsp test suite may be helpful:
https://salsa.debian.org/apt-team/apt-tests/-/tree/main?ref_type=heads
[Where problems could occur]
Problems could occur for users who manually use `--solver 3.0` if the new assumption mechanism or the changes to enable it contain errors - it may
fail to find a solution where it did before, for example.
For default users, this may cause additional slow downs or reports to be
generated for cases where no reports where previously generated (or in
the worst case apt segfaulting).
** Affects: apt (Ubuntu)
Importance: Undecided
Status: Fix Committed
** Affects: apt (Ubuntu Plucky)
Importance: Undecided
Status: Triaged
** Affects: apt (Ubuntu Questing)
Importance: Undecided
Status: Fix Committed
** Description changed:
[Impact]
The solver evaluation revealed cases where installing new packages inadvertently removed manually installed packages from the system such as ubuntu-minimal.
For users on the default solver, this causes two issues:
1. If the default solver fails to find a solution, it may fall back to
the new solver and present the inadvertent solution.
2. If the solution is not presented, but worse, and a report filed with
errors.ubuntu.com
For users using the 3.0 solver explicitly, for example, using the
`--solver 3.0` argument or setting `APT::Solver "3.0"` in apt.conf, the
issue only has an effect if the option `APT::Solver::RemoveManual` is
set to `1`, which is not the default case.
[Test plan]
- Replay the APT solver dump
+ Replay the APT solver dump
https://errors.ubuntu.com/oops/1b55173a-3526-11f0-b7ac-fa163e171f02
https://errors.ubuntu.com/oops/dbd5149e-36b9-11f0-bb74-fa163ec44ecd
And ensure that no manual package is being removed.
To replay the solver dump:
Pass the AptSolverDump value through
- base64 -d | zstd -d | /usr/lib/apt/solvers/solver3 -o
+ base64 -d | zstd -d | /usr/lib/apt/solvers/solver3 -o
APT::Solver::RemoveManual=1
and ensure that the problem can be resolved without removing any
packages, that is,
1. The output ends with Message: Done
2. The output contains no Remove: lines
To further analyse the output the analyse-edsp.py tool from the edsp test suite may be helpful:
- https://salsa.debian.org/apt-team/apt-tests/-/tree/main?ref_type=heads
+ https://salsa.debian.org/apt-team/apt-tests/-/tree/main?ref_type=heads
[Where problems could occur]
- Problems could occur for users who manually use `--solver 3.0` if the new assumption mechanism or the changes to enable it contain errors.
+ Problems could occur for users who manually use `--solver 3.0` if the new assumption mechanism or the changes to enable it contain errors - it may
+ fail to find a solution where it did before, for example.
+
+ For default users, this may cause additional slow downs or reports to be
+ generated for cases where no reports where previously generated (or in
+ the worst case apt segfaulting).
** Also affects: apt (Ubuntu Questing)
Importance: Undecided
Status: New
** Also affects: apt (Ubuntu Plucky)
Importance: Undecided
Status: New
** Changed in: apt (Ubuntu Questing)
Status: New => Incomplete
** Changed in: apt (Ubuntu Questing)
Status: Incomplete => Fix Committed
** Changed in: apt (Ubuntu Plucky)
Status: New => Triaged
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/2111742
Title:
3.0 solver inadvertently removes packages during install
Status in apt package in Ubuntu:
Fix Committed
Status in apt source package in Plucky:
Triaged
Status in apt source package in Questing:
Fix Committed
Bug description:
[Impact]
The solver evaluation revealed cases where installing new packages inadvertently removed manually installed packages from the system such as ubuntu-minimal.
For users on the default solver, this causes two issues:
1. If the default solver fails to find a solution, it may fall back to
the new solver and present the inadvertent solution.
2. If the solution is not presented, but worse, and a report filed
with errors.ubuntu.com
For users using the 3.0 solver explicitly, for example, using the
`--solver 3.0` argument or setting `APT::Solver "3.0"` in apt.conf,
the issue only has an effect if the option `APT::Solver::RemoveManual`
is set to `1`, which is not the default case.
[Test plan]
Replay the APT solver dump
https://errors.ubuntu.com/oops/1b55173a-3526-11f0-b7ac-fa163e171f02
https://errors.ubuntu.com/oops/dbd5149e-36b9-11f0-bb74-fa163ec44ecd
And ensure that no manual package is being removed.
To replay the solver dump:
Pass the AptSolverDump value through
base64 -d | zstd -d | /usr/lib/apt/solvers/solver3 -o
APT::Solver::RemoveManual=1
and ensure that the problem can be resolved without removing any
packages, that is,
1. The output ends with Message: Done
2. The output contains no Remove: lines
To further analyse the output the analyse-edsp.py tool from the edsp test suite may be helpful:
https://salsa.debian.org/apt-team/apt-tests/-/tree/main?ref_type=heads
[Where problems could occur]
Problems could occur for users who manually use `--solver 3.0` if the new assumption mechanism or the changes to enable it contain errors - it may
fail to find a solution where it did before, for example.
For default users, this may cause additional slow downs or reports to
be generated for cases where no reports where previously generated (or
in the worst case apt segfaulting).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/2111742/+subscriptions
More information about the foundations-bugs
mailing list