Changing from Xorg video driver to NVIDIA driver using Software & Updates does not display debconf prompt
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
software-properties (Ubuntu) |
Fix Released
|
Critical
|
Unassigned | ||
Trusty |
Fix Released
|
Critical
|
Steve Langasek | ||
Xenial |
Fix Released
|
Critical
|
Steve Langasek | ||
Yakkety |
Fix Released
|
Critical
|
Steve Langasek |
Bug Description
[SRU Justification]
software-properties does not display debconf prompts. while most debconf prompts have default answers and this is fine, for installing dkms modules on a SecureBoot-capable system we specifically have a critical debconf prompt with no possible default answer that users need to step through in order for their dkms modules to be usable.
[Test case]
1. sudo apt-add-repository ppa:vorlon/
2. sudo apt update
3. Launch Settings -> Software & Updates -> Additional Drivers
4. Confirm that you are offered the option of using the 'noisy-fake-driver' package.
5. Select this driver and apply changes.
6. Confirm that no debconf prompt is shown, and the driver package fails to install ('dpkg -l noisy-fake-driver' shows 'iF').
7. Reset the package state by removing the driver again.
8. Enable -proposed.
9. Run update-manager and verify that the new software-properties package is successfully installed from -proposed, pulling in libgtk2-perl in the process.
10. Close Software & Updates and re-launch it.
11. Select the 'noisy-fake-driver' package again.
12. Confirm that you are shown a debconf prompt, and the driver package installs successfully.
[Regression potential]
The actual code change is small and self-contained, but the fix also requires pulling in new package dependencies which will also need to be promoted from universe to main in the process. We need to take extra care to ensure the upgrade path is correct. This SRU should also be done serially one release at a time to gather feedback at each stage.
[Original bug description]
I've encountered this repeatedly.
In the first installation -- on updating via Software Updater, this crashed on upgrading the shim-signed package.
On suggestions from here:
I upgrade the system via CLI, i.e. dist-upgrade. This seemed to work, however when I now try to swap the display driver, from xorg --> nvidia. This now triggered the same issue.
ProblemType: Package
DistroRelease: Ubuntu 16.04
Package: shim-signed 1.27~16.
ProcVersionSign
Uname: Linux 4.4.0-72-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: amd64
Date: Tue Apr 4 18:21:32 2017
DuplicateSignature:
package:
Processing triggers for shim-signed (1.27~16.
Running in non-interactive mode, doing nothing.
dpkg: error processing package shim-signed (--configure):
subprocess installed post-installation script returned error exit status 1
ErrorMessage: subprocess installed post-installation script returned error exit status 1
InstallationDate: Installed on 2017-04-04 (0 days ago)
InstallationMedia: Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
RelatedPackageV
dpkg 1.18.4ubuntu1.1
apt 1.2.19
SourcePackage: shim-signed
Title: package shim-signed 1.27~16.
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- No reviews requested
tags: | removed: need-duplicate-check |
Changed in shim-signed (Ubuntu): | |
status: | Incomplete → Triaged |
summary: |
- package shim-signed 1.27~16.04.1+0.9+1474479173.6c180c6-1ubuntu1 failed - to install/upgrade: subprocess installed post-installation script - returned error exit status 1 Crashed on changing from Xorg video driver - to NVIDIA driver + Changing from Xorg video driver to NVIDIA driver using Software & + Updates does not display debconf prompt |
Changed in software-properties (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Critical |
Changed in shim-signed (Ubuntu): | |
status: | Triaged → Invalid |
Changed in software-properties (Ubuntu Trusty): | |
importance: | Undecided → Critical |
Changed in software-properties (Ubuntu Xenial): | |
importance: | Undecided → Critical |
no longer affects: | shim-signed (Ubuntu) |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in software-properties (Ubuntu Xenial): | |
milestone: | none → ubuntu-16.04.3 |
assignee: | nobody → Steve Langasek (vorlon) |
Changed in software-properties (Ubuntu Trusty): | |
assignee: | nobody → Steve Langasek (vorlon) |
Changed in software-properties (Ubuntu Yakkety): | |
assignee: | nobody → Steve Langasek (vorlon) |
The error in your log is:
Processing triggers for shim-signed (1.27~16. 04.1+0. 9+1474479173. 6c180c6- 1ubuntu1) ...
Running in non-interactive mode, doing nothing.
dpkg: error processing package shim-signed (--configure):
subprocess installed post-installation script returned error exit status 1
This shows that shim needs to interact with you in order to disable secureboot on your system; this is correct, if you are installing the nvidia modules you need SB disabled so that kernel module signatures are not enforced.
And your DpkgHistoryLog.txt shows that dpkg is being run via aptdaemon.
Start-Date: 2017-04-04 18:20:35 commit- packages' sender=':1.100' 0ubuntu0. 16.04.1, automatic), libvdpau1:amd64 (1.1.1-3ubuntu1, automatic), vdpau-driver- all:amd64 (1.1.1-3ubuntu1, automatic), nvidia-prime:amd64 (0.8.2, automatic), libxnvctrl0:amd64 (361.42-0ubuntu1, automatic), lib32gcc1:amd64 (1:6.0.1-0ubuntu1, automatic), libc6-i386:amd64 (2.23-0ubuntu7, automatic), screen- resolution- extra:amd64 (0.17.1, automatic), mesa-vdpau- drivers: amd64 (12.0.6- 0ubuntu0. 16.04.1, automatic), ocl-icd- libopencl1: amd64 (2.2.8-1, automatic), libjansson4:amd64 (2.7-3, automatic), bbswitch-dkms:amd64 (0.8-3ubuntu1, automatic), nvidia- opencl- icd-375: amd64 (375.39- 0ubuntu0. 16.04.1, automatic), nvidia-375:amd64 (375.39- 0ubuntu0. 16.04.1) , nvidia- settings: amd64 (361.42-0ubuntu1, automatic)
Commandline: aptdaemon role='role-
Install: libcuda1-375:amd64 (375.39-
So clearly, aptdaemon is being run in a context that has no debconf frontend.
This is really not acceptable that we have such bugs after all this time.
When I run update-manager (AKA Software Updater) here, I see that aptdaemon does get run with the correct environment of 'DEBCONF_ PIPE=/tmp/ aptdaemon- jcxymk3r/ debconf. socket DEBIAN_ FRONTEND= passthrough' . So this doesn't appear to be a problem in the version of update-manager that I have here.
Can you please describe exactly how you went about installing the nvidia driver, step by step? What did you click on at each step, etc.
To work around the problem on your system now, you should be able to run 'sudo dpkg --configure -a' from a terminal to go through the process of disabling SecureBoot.