[Bug 1046438] Re: Stack trace when package has no candidate in debug mode

Launchpad Bug Tracker 1046438 at bugs.launchpad.net
Fri Sep 14 08:55:17 UTC 2012


This bug was fixed in the package unattended-upgrades - 0.79.3ubuntu2

---------------
unattended-upgrades (0.79.3ubuntu2) quantal; urgency=low

  [ Marc Tardif ]
  * Fixed debug output when a package has no candidates (LP: #1046438)

  [ Michael Vogt ]
  * debian/test/:
    - add dep8 tests
 -- Michael Vogt <michael.vogt at ubuntu.com>   Fri, 14 Sep 2012 10:41:08 +0200

** Changed in: unattended-upgrades (Ubuntu)
       Status: Confirmed => Fix Released

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

Title:
  Stack trace when package has no candidate in debug mode

Status in “unattended-upgrades” package in Ubuntu:
  Fix Released

Bug description:
  This is what I get when running unattended-upgrades --debug:

  Initial blacklisted packages:
  Starting unattended upgrades script
  ...
  Traceback (most recent call last):
    File "/usr/bin/unattended-upgrades", line 491, in <module>
      main()
    File "/usr/bin/unattended-upgrades", line 292, in main
      logging.debug("Checking: %s (%s)" % (pkg.name, map(str,
  pkg.candidate.origins)))
  AttributeError: 'NoneType' object has no attribute 'origins'

  The problem is that the unattended-upgrades script doesn't check the
  value of pkg.candidate before calling the origins attribute on it. As
  can be seen in the apt.package.Package class, the candidate attribute
  might be None:

      def candidate(self):
          """Return the candidate version of the package.

          This property is writeable to allow you to set the candidate version
          of the package. Just assign a Version() object, and it will be set as
          the candidate version.
          """
          cand = self._pcache._depcache.get_candidate_ver(self._pkg)
          if cand is not None:
              return Version(self, cand)

  Therefore, the unattended-upgrades script should expect this
  eventually. This can easily be done by using getattr and returning an
  empty list there are no candidates.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1046438/+subscriptions




More information about the foundations-bugs mailing list