unattended-upgrades crashes without writing to the log on invalid config file entries

Bug #1680599 reported by Dan Valentine on 2017-04-06
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
unattended-upgrades (Ubuntu)
Medium
Brian Murray
Xenial
Undecided
Unassigned

Bug Description

If Unattended-Upgrade::Allowed-Origins in 50unattended-upgrades contains an invalid entry, such as "invalid", unattended-upgrades crashes without writing to /var/log/unattended-upgrades/unattended-upgrades.log.

# unattended-upgrades --debug
Traceback (most recent call last):
  File "/usr/bin/unattended-upgrades", line 1536, in <module>
    main(options)
  File "/usr/bin/unattended-upgrades", line 1202, in main
    allowed_origins = get_allowed_origins()
  File "/usr/bin/unattended-upgrades", line 343, in get_allowed_origins
    allowed_origins = get_allowed_origins_legacy()
  File "/usr/bin/unattended-upgrades", line 328, in get_allowed_origins_legacy
    (distro_id, distro_codename) = s.split()
ValueError: not enough values to unpack (expected 2, got 1)

0.92ubuntu1.2 on 16.10

Launchpad Janitor (janitor) wrote :

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

Changed in unattended-upgrades (Ubuntu):
status: New → Confirmed
Patrik Karisch (patkar) wrote :

Same error with 0.90ubuntu0.5 on Ubuntu 16.04

# unattended-upgrades --debug --dry-run
Initial blacklisted packages:
Initial whitelisted packages:
Starting unattended upgrades script
Allowed origins are: ['o=Ubuntu,a=xenial-security', 'o=Ubuntu,a=xenial-updates', 'o=Ubuntu,a=xenial', 'o=packagecloud.io/slacktechnologies/slack', 'o=Google, Inc.', 'o=Node Source,n=xenial']
Traceback (most recent call last):
  File "/usr/bin/unattended-upgrades", line 1473, in <module>
    main(options)
  File "/usr/bin/unattended-upgrades", line 1198, in main
    allowed_origins=allowed_origins)
  File "/usr/bin/unattended-upgrades", line 105, in __init__
    self.adjust_candidate_versions()
  File "/usr/bin/unattended-upgrades", line 126, in adjust_candidate_versions
    if is_allowed_origin(pkg.candidate, self.allowed_origins):
  File "/usr/bin/unattended-upgrades", line 512, in is_allowed_origin
    if match_whitelist_string(allowed, origin):
  File "/usr/bin/unattended-upgrades", line 363, in match_whitelist_string
    for s in token.split("=")]
ValueError: not enough values to unpack (expected 2, got 1)

tags: added: rls-aa-incoming
Patrik Karisch (patkar) wrote :

Ok, that's a strange behavior. As long as there are no pending updates, it's fine.

When there is an update available it errors:

Traceback (most recent call last):
  File "/usr/bin/unattended-upgrades", line 1473, in <module>
    main(options)
  File "/usr/bin/unattended-upgrades", line 1198, in main
    allowed_origins=allowed_origins)
  File "/usr/bin/unattended-upgrades", line 105, in __init__
    self.adjust_candidate_versions()
  File "/usr/bin/unattended-upgrades", line 126, in adjust_candidate_versions
    if is_allowed_origin(pkg.candidate, self.allowed_origins):
  File "/usr/bin/unattended-upgrades", line 512, in is_allowed_origin
    if match_whitelist_string(allowed, origin):
  File "/usr/bin/unattended-upgrades", line 363, in match_whitelist_string
    for s in token.split("=")]
ValueError: not enough values to unpack (expected 2, got 1)

Aex Rauch (centaurie) wrote :

xenial with unattended-upgrades:
  Installiert: 0.90ubuntu0.5
  Installationskandidat: 0.90ubuntu0.5

unattended-upgrades --debug
Traceback (most recent call last):
  File "/usr/bin/unattended-upgrades", line 1473, in <module>
    main(options)
  File "/usr/bin/unattended-upgrades", line 1139, in main
    allowed_origins = get_allowed_origins()
  File "/usr/bin/unattended-upgrades", line 341, in get_allowed_origins
    allowed_origins = get_allowed_origins_legacy()
  File "/usr/bin/unattended-upgrades", line 326, in get_allowed_origins_legacy
    (distro_id, distro_codename) = s.split()
ValueError: not enough values to unpack (expected 2, got 1)

Aex Rauch (centaurie) wrote :

I run sudo dpkg-reconfigure -plow unattended-upgrades.

I'm not sure if relevant.

http://www.directupload.net/file/d/4721/m66f7gh6_png.html

Really Debian?

Changed in unattended-upgrades (Ubuntu):
importance: Undecided → Low
status: Confirmed → Triaged
importance: Low → Medium
assignee: nobody → Brian Murray (brian-murray)
Brian Murray (brian-murray) wrote :

I've recreated this and submitted it to the Ubuntu Error Tracker and apparently I'm the only one who has.

https://errors.ubuntu.com/bucket/?id=/usr/bin/unattended-upgrade%3AValueError%3A/usr/bin/unattended-upgrade%401558%3Amain%3Aget_allowed_origins%3Aget_allowed_origins_legacy

Regardless, I'll get it fixed in the development release of Ubuntu.

Changed in unattended-upgrades (Ubuntu):
status: Triaged → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unattended-upgrades - 0.93.1ubuntu6

---------------
unattended-upgrades (0.93.1ubuntu6) artful; urgency=medium

  * unattended-upgrades: Do not automatically upgrade the development release
    of Ubuntu unless Unattended-Upgrade::DevRelease is true. (LP: #1649709)

 -- Brian Murray <email address hidden> Wed, 17 May 2017 16:28:32 -0700

Changed in unattended-upgrades (Ubuntu):
status: In Progress → Fix Released
Brian Murray (brian-murray) wrote :

There is an upstream pull request for this fix here:

https://github.com/mvo5/unattended-upgrades/pull/53

Hello Dan, or anyone else affected,

Accepted unattended-upgrades into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/unattended-upgrades/1.1ubuntu1.18.04.7~16.04.0 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 on 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-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in unattended-upgrades (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed verification-needed-xenial
Łukasz Zemczak (sil2100) wrote :

Hello Dan, or anyone else affected,

Accepted unattended-upgrades into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/unattended-upgrades/1.1ubuntu1.18.04.7~16.04.1 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 on 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-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers