package install failure routine can create a dupe sig with the old package version

Bug #1423678 reported by angel orna
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
Won't Fix
Medium
Unassigned
Vivid
Won't Fix
High
Unassigned

Bug Description

I don't know.

ProblemType: Package
DistroRelease: Ubuntu 15.04
Package: python3-distupgrade 1:15.04.7
ProcVersionSignature: Ubuntu 3.18.0-14.15-generic 3.18.7
Uname: Linux 3.18.0-14-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.16.1-0ubuntu2
Architecture: amd64
CrashDB: ubuntu
Date: Thu Feb 19 20:48:09 2015
DuplicateSignature: package:python3-distupgrade:1:15.04.7:el subproceso instalado el script post-installation devolvió el código de salida de error 1
ErrorMessage: el subproceso instalado el script post-installation devolvió el código de salida de error 1
InstallationDate: Installed on 2014-05-29 (266 days ago)
InstallationMedia: Ubuntu 14.10 "Utopic Unicorn" - Alpha amd64 (20140520)
PackageArchitecture: all
SourcePackage: ubuntu-release-upgrader
Title: package python3-distupgrade 1:15.04.7 failed to install/upgrade: el subproceso instalado el script post-installation devolvió el código de salida de error 1
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
angel orna (angelorna) wrote :
tags: removed: need-duplicate-check
Revision history for this message
Brian Murray (brian-murray) wrote :

While this is a duplicate of bug 1423279, the package version number in the bug and DpkgTerminalLog.txt disagree which is odd and bears investigating.

Revision history for this message
Brian Murray (brian-murray) wrote :

This clearly shows 15.04.6:

Configurando python3-distupgrade (1:15.04.6) ...
  File "/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeViewKDE.py", line 337
    self.confDialogue.show_difference_button.clicked.connect(self.showConffile))

Revision history for this message
Brian Murray (brian-murray) wrote :

The date in the report is fairly far ahead of the date in HistoryLog for the failure:

Start-Date: 2015-02-19 08:14:27
...
End-Date: 2015-02-19 08:19:06

Could you please upload your /var/log/apt/history.log to this bug report as an attachment so we can sort out what is going on? Thanks!

Changed in ubuntu-release-upgrader (Ubuntu):
status: New → Incomplete
Revision history for this message
angel orna (angelorna) wrote :
Revision history for this message
Brian Murray (brian-murray) wrote :

So it was this transaction that generated the report:

Start-Date: 2015-02-19 20:47:49
Commandline: /usr/sbin/synaptic
Upgrade: colord-data:amd64 (1.2.1-1ubuntu2, 1.2.8-0ubuntu1), language-pack-gnome-en:amd64 (15.04+20150202, 15.04+20150216), language-pack-gnome-es:amd64 (15.04+20150202, 15.04+20150216), colord:amd64 (1.2.1-1ubuntu2, 1.2.8-0ubuntu1), language-pack-en:amd64 (15.04+20150202, 15.04+20150216), language-pack-es:amd64 (15.04+20150202, 15.04+20150216)
Error: Sub-process /usr/bin/dpkg returned an error code (1)
End-Date: 2015-02-19 20:48:11

However, ubuntu-release-upgrader wasn't involved there. Could you please add your full /var/log/apt/term.log file too? Thanks for all your help.

Revision history for this message
angel orna (angelorna) wrote :
Changed in ubuntu-release-upgrader (Ubuntu):
status: Incomplete → Confirmed
summary: - package python3-distupgrade 1:15.04.7 failed to install/upgrade: el
- subproceso instalado el script post-installation devolvió el código de
- salida de error 1
+ package install failure routine can misparse dpkgterminallog
Changed in ubuntu-release-upgrader (Ubuntu Vivid):
importance: Undecided → High
tags: added: rls-v-notifixing
tags: added: rls-v-notfixing
removed: rls-v-notifixing
Revision history for this message
Brian Murray (brian-murray) wrote : Re: package install failure routine can misparse dpkgterminallog

Okay, the real problem here is that the bug report was submitted a bit later (when the new version of ubuntu-release-upgrader) was available and DuplicateSignature looks at report['Package'] which is gathered (on submission) which can be after the initial report is created.

From the general Ubuntu hook:

        (package, version) = report['Package'].split(None, 1)
        dupe_sig = 'package:%s:%s:%s' % (package, version, report['ErrorMessage'])
        report['DuplicateSignature'] = dupe_sig

Revision history for this message
Brian Murray (brian-murray) wrote :

Perhaps we should have the general hook confirm that the package and version appear in the dpkg error message in DpkgTerminalLog.

Changed in ubuntu-release-upgrader (Ubuntu Vivid):
status: Confirmed → Won't Fix
affects: ubuntu-release-upgrader (Ubuntu) → apport (Ubuntu)
Changed in apport (Ubuntu):
importance: High → Medium
tags: added: rls-w-incoming
tags: added: rls-x-incoming
removed: rls-w-incoming
Revision history for this message
Brian Murray (brian-murray) wrote :

This is a non-issue now that we have gone back to parsing the DpkgTerminalLog to create a duplicate signature.

apport (2.19.2-0ubuntu4) xenial; urgency=medium

  * data/general-hooks/ubuntu.py: For package installation failures, build a
    DuplicateSignature from the dpkg terminal log as using the package,
    version, and dpkg ErrorMessage ended up being too generic.

 -- Brian Murray <email address hidden> Fri, 06 Nov 2015 09:14:29 -0800

summary: - package install failure routine can misparse dpkgterminallog
+ package install failure routine can create a dupe sig with the old
+ package version
Changed in apport (Ubuntu):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.