[Bug 1632047] Re: DistUpgradeViewNonInteractive except hook hides the traceback

Martin Pitt martin.pitt at ubuntu.com
Thu Oct 13 13:59:36 UTC 2016


Hello Brian, or anyone else affected,

Accepted ubuntu-release-upgrader into xenial-proposed. The package will
build now and be available at https://launchpad.net/ubuntu/+source
/ubuntu-release-upgrader/1:16.04.17 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 add a comment to this bug,
mentioning the version of the package you tested, and change the tag
from verification-needed to verification-done. If it does not fix the
bug for you, please add a comment stating that, and 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: ubuntu-release-upgrader (Ubuntu Xenial)
       Status: In Progress => Fix Committed

** Tags added: verification-needed

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/1632047

Title:
  DistUpgradeViewNonInteractive except hook hides the traceback

Status in ubuntu-release-upgrader package in Ubuntu:
  Fix Released
Status in ubuntu-release-upgrader source package in Xenial:
  Fix Committed
Status in ubuntu-release-upgrader source package in Yakkety:
  Fix Released

Bug description:
  Test Case
  ---------
  This is a pretty obvious fix to just log more information when there is a crash.

  Regression Potential
  --------------------
  Little as we are just logging more information.

  The non-interactive version of the dist upgrade process has its own
  special except hook handler, but that handler ends up hiding the
  traceback.  This should be fixed so that we have more details about
  why the upgrade failed.  Here's the code in question:

  249 class DistUpgradeViewNonInteractive(DistUpgradeView):
  250     " non-interactive version of the upgrade view "
  251     def __init__(self, datadir=None, logdir=None):
  252         DistUpgradeView.__init__(self)
  253         self.config = DistUpgradeConfig(".")
  254         self._acquireProgress = NonInteractiveAcquireProgress()
  255         self._installProgress = NonInteractiveInstallProgress(logdir)
  256         self._opProgress = apt.progress.base.OpProgress()
  257         sys.__excepthook__ = self.excepthook
  258     def excepthook(self, type, value, traceback):
  259         " on uncaught exceptions -> print error and reboot "
  260         logging.exception("got exception '%s': %s " % (type, value))
  261         #sys.excepthook(type, value, traceback)
  262         self.confirmRestart()

  Notice nothing is done with traceback in line 260.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1632047/+subscriptions



More information about the foundations-bugs mailing list