debconf socket closes if aptdaemon/PK client exits
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apper (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
Bionic |
New
|
Undecided
|
Unassigned | ||
aptdaemon (Ubuntu) |
Fix Released
|
High
|
Julian Andres Klode | ||
Bionic |
New
|
Undecided
|
Unassigned | ||
packagekit (Ubuntu) |
Fix Released
|
Medium
|
Julian Andres Klode | ||
Bionic |
New
|
Undecided
|
Unassigned | ||
software-properties (Ubuntu) |
Invalid
|
High
|
Unassigned |
Bug Description
[Impact]
Closing an application using PackageKit or aptdaemon to install packages kills the debconf endpoint (because it's a subprocess that's cleaned up), causing debconf to use defaults which might lead to wrong results, or even cause installations to fail.
[Solution]
The solution is to move the end point into a socket-activated systemd unit, so that it is independent of the graphical frontend that started the transaction. The other advantage is that this offers us restart if the end point crashes.
[Test case]
1. Install opera deb using packagekit, ensure service is activated
2. Install opera deb using aptdaemon, ensure service is activated
Alternatively, you might use another deb that has debconf prompts.
[Regression potential]
Systems that do not yet use systemd will fall back to the old method, so should not regress.
Otherwise, if there are bugs, they'd affect the ability to show debconf prompts, and behavior would revert to using the defaults.
There might be some uncertainty if you restart your desktop while the helper is running and it does not pick up the new X/Wayland display until it restarts (it should fail to connect and restart). Given that the helper times out, this should not be an issue in practice, as you'd have to logout, login, and start a new install within 60 seconds.
tags: | removed: need-duplicate-check |
tags: | added: id-59558f621454c20af30afa36 |
summary: |
- package shim-signed 1.32~16.04.1+0.9+1474479173.6c180c6-1ubuntu1 failed - to install/upgrade: subprocess installed post-installation script - returned error exit status 1 + software-properties closed, closing debconf socket, while aptdaemon is + running (package shim-signed + 1.32~16.04.1+0.9+1474479173.6c180c6-1ubuntu1 failed to install/upgrade: + subprocess installed post-installation script returned error exit status + 1) |
tags: | added: id-5a4d4950c53c0080d7779997 |
Changed in software-properties (Ubuntu): | |
status: | Triaged → Invalid |
Changed in aptdaemon (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in packagekit (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
summary: |
- software-properties closed, closing debconf socket, while aptdaemon is - running (package shim-signed - 1.32~16.04.1+0.9+1474479173.6c180c6-1ubuntu1 failed to install/upgrade: - subprocess installed post-installation script returned error exit status - 1) + debconf socket closes if aptdaemon/PK client exists |
summary: |
- debconf socket closes if aptdaemon/PK client exists + debconf socket closes if aptdaemon/PK client exits |
no longer affects: | plasma-discover (Ubuntu) |
Changed in packagekit (Ubuntu): | |
status: | Triaged → In Progress |
assignee: | nobody → Julian Andres Klode (juliank) |
Changed in aptdaemon (Ubuntu): | |
status: | Triaged → In Progress |
assignee: | nobody → Julian Andres Klode (juliank) |
Changed in aptdaemon (Ubuntu): | |
status: | In Progress → Fix Committed |
no longer affects: | software-properties (Ubuntu Bionic) |
no longer affects: | software-properties (Ubuntu Disco) |
Changed in packagekit (Ubuntu Disco): | |
status: | New → In Progress |
description: | updated |
This happens if software-properties is closed on the desktop before the packages have finished installing.
You will need to run 'sudo apt-get -f install' from a terminal to complete the configuration of these packages.