Stack trace when package has no candidate in debug mode

Bug #1046438 reported by Marc Tardif on 2012-09-05
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
unattended-upgrades (Ubuntu)
Medium
Unassigned

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.

Related branches

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unattended-upgrades (Ubuntu):
status: New → Confirmed
Changed in unattended-upgrades (Ubuntu):
importance: Undecided → Medium
Launchpad Janitor (janitor) wrote :

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 <email address hidden> Fri, 14 Sep 2012 10:41:08 +0200

Changed in unattended-upgrades (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers