duplicate signature for Package problems can be too short
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apport (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Brian Murray | ||
Yakkety |
Fix Released
|
Undecided
|
Brian Murray | ||
Zesty |
Fix Released
|
High
|
Brian Murray | ||
Artful |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
apport is creating a shorter than appropriate duplicate signature in apport-package bug reports which can lead to misconsolidation and confused developers.
[Test Case]
1) Boot a system with an old kernel installed or a freshly installed system
2) edit /etc/default/grub and replace a ` with a '
3) Upgrade the kernel, watch it crash
4) Discover a crash report with a DuplicateSignature whose 2nd line starts with "Examining"
With the version of the package from -proposed the DuplicateSignature in this case should really have a 2nd line that starts with 'Setting up linux-image* ...'. While in this particular case not much is lost in other cases valuable information will be missing.
[Regression Potential]
The code change is correct and has been tested in artful, additionally I'm using the same regular expression to clean up apport-package reports as they come in to LP. The only risk here is a typo in the patch that would cause the hook (the change is in the ubuntu general hook) to error out which apport would handle gracefully and we just wouldn't have a DuplicateSignature.
[The Original Description]
Steve brought up bug 1691983 and how it's duplicate signature is missing information. It contains:
package:
Installing for x86_64-efi platform.
Installation finished. No error reported.
Running in non-interactive mode, doing nothing.
dpkg: error processing package shim-signed (--configure):
subprocess installed post-installation script returned error exit status 1
But is missing:
Setting up shim-signed (1.27~16.
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
debconf: unable to initialize frontend: Passthrough
debconf: (Cannot connect to /tmp/aptdaemon-
debconf: falling back to frontend: Noninteractive
This is because of the following code in data/general-
145 PKG_MSGS = ('Authenticating', 'De-configuring', 'Examining',
146 'Installing ', 'Preparing', 'Processing triggers', 'Purging',
147 'Removing', 'Replaced', 'Replacing', 'Setting up',
148 'Unpacking', 'Would remove')
149 for line in termlog.
150 if line.startswith
151 dupe_sig = '%s\n' % line
152 continue
The shim-signed package prints a line starts with "Installing " and that matches PKG_MSGS so we reset the dupe_sig because that's a message we'd expect from a package manager.
Related branches
description: | updated |
Changed in apport (Ubuntu Yakkety): | |
assignee: | nobody → Brian Murray (brian-murray) |
Changed in apport (Ubuntu Xenial): | |
assignee: | nobody → Brian Murray (brian-murray) |
status: | Triaged → In Progress |
Changed in apport (Ubuntu Yakkety): | |
status: | Triaged → In Progress |
Changed in apport (Ubuntu Zesty): | |
status: | Triaged → In Progress |
tags: | added: id-5956aefd1fbc2cddbec3dbc9 |
We could continue if the line equals "Installing for x86_64-efi platform." but that would only work for shim-signed and seems fragile.