does not block follow up errors from earlier reports

Bug #999890 reported by Brian Murray
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
update-manager (Ubuntu)
Fix Released
High
Brian Murray
Oneiric
Won't Fix
High
Unassigned
Precise
Fix Released
High
Brian Murray

Bug Description

update-manager wants to prevent reporting apport-package problems regarding follow up errors from earlier reports, however it is failing to do so in some cases.

In DistUpgrade/DistUpgraeApport.py we have the code to block the reporting:

    # we do not report followup errors from earlier failures
    if gettext.dgettext('dpkg', "dependency problems - leaving unconfigured") in errormsg:
        return False

This works great if your dpkg error messages are in your native language. However, they aren't by default since the following upload in update-manager:

update-manager (1:0.151.8) oneiric; urgency=low

  * DistUpgrade/DistUpgradeViewGtk.py:
    - set DPKG_UNTRANSLATED_MESSAGES to force untranslated dpkg
      terminal messages for easier package failure duplication
      detection

So if someone has their language set to a language other than English, then gettext.dgettext() will look up the translated version of the 'dependency problems' error message. The translated version won't appear in the errormsg because we don't translate them anymore.

This should be fixed in Quantal, Precise and Oneiric to prevent reporting of bugs we aren't interested in.

Changed in update-manager (Ubuntu):
assignee: nobody → Brian Murray (brian-murray)
importance: Undecided → High
status: New → Triaged
Changed in update-manager (Ubuntu Oneiric):
status: New → Triaged
importance: Undecided → High
Changed in update-manager (Ubuntu Precise):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.4 KiB)

This bug was fixed in the package update-manager - 1:0.160

---------------
update-manager (1:0.160) quantal; urgency=low

  [ Colin Watson ]
  * Use Python 3-style print functions.
  * Use "except Exception as e" syntax rather than the old-style "except
    Exception, e".
  * Fix a few assorted pyflakes warnings.
  * Use string methods rather than functions from the string module.
  * Replace most uses of filter and map with list comprehensions or for
    loops.
  * Use open() rather than file().
  * Use Python 3 renaming of ConfigParser if available.
  * Use "raise Exception(value)" syntax rather than the old-style "raise
    Exception, value".
  * Remove duplicate imports of os.path; 'import os' is enough.
  * Use Python 3 renamings of urllib, urllib2, and urlparse if available.
  * Remove all hard tabs from Python code. Python 3 no longer tolerates
    mixing tabs and spaces for indentation.
  * Use Python 3 renaming of httplib if available.
  * Use email.utils.parsedate (with a DST handling correction) rather than
    the long-deprecated rfc822.parsedate.
  * Use the threading module instead of thread (renamed to _thread in Python
    3).
  * Tell Python to use absolute imports by default, and annotate cases where
    we need relative imports.
  * Update test_proxy to use gsettings and the python-apt 0.8 API.
  * Use new-style octal literals.
  * Drop use of deprecated statvfs module.
  * Use Python 3 renamings of BaseHTTPServer and SocketServer if available.
  * Modernise use of unittest methods.
  * Use python-apt 0.8 API spellings of apt_pkg.config methods.
  * Fix several ResourceWarnings with Python 3.
  * Port to python-apt 0.8 progress classes.
  * Since python-gnupginterface is not likely to be ported to Python 3, and
    since it's almost just as easy to call gpg directly via subprocess, do
    so.
  * Use gettext if ugettext does not exist (as in Python 3).
  * Ignore __pycache__ directories, and exclude them from dist-upgrader
    tarballs.
  * Fix up module path when running AutoUpgradeTester/auto-install-tester.py
    from the build tree.
  * Add a DistUpgrade -> . symlink in DistUpgrade/, to make it possible to
    have compatible imports both in update-manager proper and in
    dist-upgrader tarballs.
  * Use only absolute imports in AutoUpgradeTester/auto-install-tester.py
    and DistUpgrade/dist-upgrade.py; these have no __package__ and so cannot
    use relative imports.
  * Open subprocesses with universal_newlines=True when expecting to read
    text from them. On Python 2, this only enables \r\n conversion and the
    like, but on Python 3 this also causes subprocess-related file objects
    to read str rather than bytes.
  * Use "key in dict" rather than "dict.has_key(key)".
  * Pass globals() to __import__ so that relative imports work.

  [ Michael Vogt ]
  * DistUpgrade/*.py:
    - update for the 12.04 -> 12.10 upgrade
  * AutoUpgradeTester/profile/defaults.cfg.d/defaults.cfg:
    - update for precise->quantal
  * fix some remaining python-apt 0.8+ API issues

  [ Brian Murray ]
  * DistUpgrade/DistUpgradeApport.py
    - check errormsg for the English version of the dependency problems error
      first (LP: #...

Read more...

Changed in update-manager (Ubuntu):
status: Triaged → Fix Released
Changed in update-manager (Ubuntu Precise):
status: Triaged → In Progress
assignee: nobody → Brian Murray (brian-murray)
Revision history for this message
Steve Langasek (vorlon) wrote : Please test proposed package

Hello Brian, or anyone else affected,

Accepted update-manager into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/update-manager/1:0.156.14.7 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in update-manager (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

SRU verification for Precise:
I have reproduced the problem with update-manager 1:0.156.14.6 in precise-updates and have verified that the version of update-manager 1:0.156.14.9 in -proposed fixes the issue.

TEST CASE
I intentionally corrupted the file /usr/sbin/update-mime which is frequently used in maintainer scripts and upgraded from Oneiric to Quantal and installed the system in French.

With the version from -proposed, only the 1rst crash is reported.

Marking as verification-done

tags: added: verification-done
removed: verification-needed
Revision history for this message
Steve Langasek (vorlon) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-manager - 1:0.156.14.9

---------------
update-manager (1:0.156.14.9) precise-proposed; urgency=low

  * No change rebuild to pick up the fixed apt_clone.py

update-manager (1:0.156.14.8) precise-proposed; urgency=low

  * Fix removal_blacklist to blacklist "^screen$" instead of "screen".
    This fixes cases where the upgrade would fail because of a package
    containing "screen" being removed. (LP: #1029531)

update-manager (1:0.156.14.7) precise-proposed; urgency=low

  * DistUpgrade/DistUpgradeMain.py: call clone.save_state with
    scrub_sources set so that VarLogDistUpgradeAptclonesystemstate will be
    included in bug reports again (LP: #1029046)
  * DistUpgrade/DistUpgradeApport.py: check errormsg for the English version of
    the dependency problems error first (LP: #999890)
    - add apt-clone_system_state.tar.gz to white list of files to upload
  * In the apport source package hook collect apt-clone information if the bug
    report is about a distribution upgrade (LP: #1029046)
  * Don't throw exception on socket timeout when downloading metarelease file
    (LP: #818760)
 -- Stephane Graber <email address hidden> Thu, 09 Aug 2012 17:05:37 -0400

Changed in update-manager (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Rolf Leggewie (r0lf) wrote :

oneiric has seen the end of its life and is no longer receiving any updates. Marking the oneiric task for this ticket as "Won't Fix".

Changed in update-manager (Ubuntu Oneiric):
status: Triaged → 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.