/usr/bin/unattended-upgrade:FileNotFoundError:/usr/bin/unattended-upgrade@1468:main:get_dpkg_log_content

Bug #1590321 reported by errors.ubuntu.com bug bridge
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
unattended-upgrades (Ubuntu)
Fix Released
Undecided
Brian Murray
Xenial
Fix Released
Undecided
Brian Murray
Yakkety
Fix Released
Undecided
Brian Murray
Zesty
Fix Released
Undecided
Brian Murray

Bug Description

Test Case
---------
1) edit /etc/apt/apt.conf.d/20auto-upgrades so that Update-Package-Lists is 1 and Unattended-Upgrade is 1
2) sudo apt-get update
3) sudo /usr/bin/unattended-upgrades (to update the system)
4) sudo /usr/bin/unattended-upgrades (a second time for some reason)
5) sudo rm /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
6) sudo /usr/bin/unattended-upgrades

Observe the following crash:

Traceback (most recent call last):
  File "/usr/bin/unattended-upgrade", line 1468, in <module>
    main(options)
  File "/usr/bin/unattended-upgrade", line 1406, in main
    log_content = get_dpkg_log_content(logfile_dpkg, install_start_time)
  File "/usr/bin/unattended-upgrade", line 1075, in get_dpkg_log_content
    with io.open(logfile_dpkg, encoding='utf-8') as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log'

With the version of the package from -proposed you won't receive the crash in step 6 and /var/log/unattended-upgrades/unattended-upgrades-dpkg.log will exist.

Regression Potential
--------------------
This patch just ends up creating a file if it does not exist. Potential regressions would be a result of the patch being typo'ed e.g. typo'ing os.path.exits instead of os.path.exists and the code failing when a logfile does exist. So read the patch carefully!

Original Description
--------------------
The Ubuntu Error Tracker has been receiving reports about a problem regarding unattended-upgrades. This problem was most recently seen with version 0.90, the problem page at https://errors.ubuntu.com/problem/db5f0a803afdf5bb5e20a42ce68f4fda3ce0df8a contains more details.

Revision history for this message
Brian Murray (brian-murray) wrote :

I was able to recreate this by performing the following:

bdmurray@clean-xenial-amd64:~$ sudo rm /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
rm: cannot remove '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log': No such file or directory
bdmurray@clean-xenial-amd64:~$ sudo /usr/bin/unattended-upgrade
Traceback (most recent call last):
  File "/usr/bin/unattended-upgrade", line 1468, in <module>
    main(options)
  File "/usr/bin/unattended-upgrade", line 1406, in main
    log_content = get_dpkg_log_content(logfile_dpkg, install_start_time)
  File "/usr/bin/unattended-upgrade", line 1075, in get_dpkg_log_content
    with io.open(logfile_dpkg, encoding='utf-8') as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log'

I did this after installing all updates and enabling options in /etc/apt/apt.conf.d/20auto-upgrades.

Changed in unattended-upgrades (Ubuntu Xenial):
status: New → In Progress
assignee: nobody → Brian Murray (brian-murray)
Changed in unattended-upgrades (Ubuntu Yakkety):
assignee: nobody → Brian Murray (brian-murray)
Changed in unattended-upgrades (Ubuntu Zesty):
assignee: nobody → Brian Murray (brian-murray)
Changed in unattended-upgrades (Ubuntu Yakkety):
status: New → In Progress
Changed in unattended-upgrades (Ubuntu Zesty):
status: New → In Progress
description: updated
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unattended-upgrades - 0.92ubuntu3

---------------
unattended-upgrades (0.92ubuntu3) zesty; urgency=medium

  * Create the directory /var/lib/apt/periodic/, if it does not exist, so that
    we don't receive a Traceback when trying to write a stampfile there.
    (LP: #1639977)

 -- Brian Murray <email address hidden> Mon, 07 Nov 2016 16:07:36 -0800

Changed in unattended-upgrades (Ubuntu Zesty):
status: In Progress → Fix Released
description: updated
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Hello errors.ubuntu.com, or anyone else affected,

Accepted unattended-upgrades into yakkety-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/unattended-upgrades/0.92ubuntu1.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 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 unattended-upgrades (Ubuntu Yakkety):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Martin Pitt (pitti) wrote :

Hello errors.ubuntu.com, 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/0.90ubuntu0.2 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 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 unattended-upgrades (Ubuntu Xenial):
status: In Progress → Fix Committed
Revision history for this message
Brian Murray (brian-murray) wrote :

This works in xenial:

bdmurray@clean-xenial-amd64:~$ sudo apt-get install unattended-upgrades
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  bsd-mailx mail-transport-agent
The following packages will be upgraded:
  unattended-upgrades
1 upgraded, 0 newly installed, 0 to remove and 141 not upgraded.
Need to get 31.7 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://192.168.10.7/ubuntu xenial-proposed/main amd64 unattended-upgrades all 0.90ubuntu0.2 [31.7 kB]
Fetched 31.7 kB in 0s (1,225 kB/s)
Preconfiguring packages ...
(Reading database ... 212849 files and directories currently installed.)
Preparing to unpack .../unattended-upgrades_0.90ubuntu0.2_all.deb ...
Unpacking unattended-upgrades (0.90ubuntu0.2) over (0.90) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for systemd (229-4ubuntu10) ...
Processing triggers for ureadahead (0.100.0-19) ...
Setting up unattended-upgrades (0.90ubuntu0.2) ...
Replacing config file /etc/apt/apt.conf.d/50unattended-upgrades with new version
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
bdmurray@clean-xenial-amd64:~$ sudo rm /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
rm: cannot remove '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log': No such file or directory
bdmurray@clean-xenial-amd64:~$ sudo /usr/bin/unattended-upgrades

tags: added: verification-done-xenial
Revision history for this message
Brian Murray (brian-murray) wrote :

Verification for yakkety returned a yes.

Unpacking unattended-upgrades (0.92ubuntu1.1) over (0.92ubuntu1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (231-9git1) ...
Setting up unattended-upgrades (0.92ubuntu1.1) ...
Replacing config file /etc/apt/apt.conf.d/50unattended-upgrades with new version
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Processing triggers for man-db (2.7.5-1) ...
bdmurray@clean-yakkety-amd64:~$ sudo /usr/bin/unattended-upgrades
bdmurray@clean-yakkety-amd64:~$ ls -lh /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
-rw-r--r-- 1 root adm 2.3K Nov 14 13:08 /var/log/unattended-upgrades/unattended-upgrades-dpkg.log

tags: added: verification-done-yakkeyt
removed: verification-needed
tags: added: verification-done-yakkety
removed: verification-done-yakkeyt
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unattended-upgrades - 0.90ubuntu0.2

---------------
unattended-upgrades (0.90ubuntu0.2) xenial-proposed; urgency=medium

  * Create logfile_dpkg if it does not exist so that the file can be read
    later, thereby preventing a FileNotFound crash. (LP: #1590321)
  * Create the directory /var/lib/apt/periodic/, if it does not exist, so that
    we don't receive a Traceback when trying to write a stampfile there.
    (LP: #1639977)

 -- Brian Murray <email address hidden> Mon, 07 Nov 2016 14:38:04 -0800

Changed in unattended-upgrades (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for unattended-upgrades 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 regressions.

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

This bug was fixed in the package unattended-upgrades - 0.92ubuntu1.1

---------------
unattended-upgrades (0.92ubuntu1.1) yakkety; urgency=medium

  * Modify data/50unattended-upgrades.Ubuntu such that the release pocket is
    an allowed origin so that security updates with a new dependency will be
    upgraded and the new dependency will be installed. (LP: #1624641)
  * Create logfile_dpkg if it does not exist so that the file can be read
    later, thereby preventing a FileNotFound crash. (LP: #1590321)
  * Create the directory /var/lib/apt/periodic/, if it does not exist, so that
    we don't receive a Traceback when trying to write a stampfile there.
    (LP: #1639977)

 -- Brian Murray <email address hidden> Mon, 07 Nov 2016 12:41:10 -0800

Changed in unattended-upgrades (Ubuntu Yakkety):
status: Fix Committed → Fix Released
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.