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
Touch seeded packages, 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


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to