Verified with 1.1ubuntu1.18.04.10 on Bionic:

...
root@bb-uu-lp-1795696-verify:~# eatmydata apt install 
linux-image-unsigned-4.18.0-13-generic linux-image-unsigned-4.18.0-14-generic 
linux-image-unsigned-4.18.0-15-generic
...
root@bb-uu-lp-1795696-verify:~# apt-mark auto 
linux-image-unsigned-4.18.0-13-generic linux-image-unsigned-4.18.0-14-generic 
linux-image-unsigned-4.18.0-15-generic
linux-image-unsigned-4.18.0-13-generic set to automatically installed.
linux-image-unsigned-4.18.0-14-generic set to automatically installed.
linux-image-unsigned-4.18.0-15-generic set to automatically installed.
root@bb-uu-lp-1795696-verify:~# /etc/kernel/postinst.d/apt-auto-removal
root@bb-uu-lp-1795696-verify:~# apt autoremove 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  grub-common grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common 
libfreetype6 linux-image-unsigned-4.18.0-13-generic 
linux-image-unsigned-4.18.0-14-generic
  linux-image-unsigned-4.18.0-15-generic linux-modules-4.18.0-13-generic 
linux-modules-4.18.0-14-generic linux-modules-4.18.0-15-generic os-prober
0 upgraded, 0 newly installed, 13 to remove and 7 not upgraded.
After this operation, 239 MB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
root@bb-uu-lp-1795696-verify:~# vi /etc/apt/apt.conf.d/50unattended-upgrades 
root@bb-uu-lp-1795696-verify:~# grep Minimal 
/etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::MinimalSteps "false";
root@bb-uu-lp-1795696-verify:~# unattended-upgrade --dry-run --verbose
Initial blacklisted packages: 
Initial whitelisted packages: 
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, 
o=UbuntuESM,a=bionic
Removing unused kernel packages: linux-modules-4.18.0-13-generic 
linux-modules-4.18.0-15-generic linux-modules-4.18.0-14-generic
Keeping 3 auto-removable package(s) because it would also remove the following 
packages which should be kept in this step: libntfs-3g88 
linux-image-unsigned-4.18.0-13-generic linux-image-unsigned-4.18.0-14-generic 
linux-image-unsigned-4.18.0-15-generic ntfs-3g snapd
Traceback (most recent call last):
  File "/usr/bin/unattended-upgrade", line 1998, in <module>
    sys.exit(main(options))
  File "/usr/bin/unattended-upgrade", line 1798, in main
    options.verbose or options.debug, options.dry_run)
  File "/usr/bin/unattended-upgrade", line 1495, in do_auto_remove
    if res:
UnboundLocalError: local variable 'res' referenced before assignment
oot@bb-uu-lp-1795696-verify:~# echo "deb http://archive.ubuntu.com/ubuntu/ 
bionic-proposed restricted main multiverse universe" > 
/etc/apt/sources.list.d/proposed.list
root@bb-uu-lp-1795696-verify:~# apt update -qq
33 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@bb-uu-lp-1795696-verify:~# apt install unattended-upgrades 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  grub-common grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common 
libfreetype6 linux-image-unsigned-4.18.0-13-generic 
linux-image-unsigned-4.18.0-14-generic
  linux-image-unsigned-4.18.0-15-generic linux-modules-4.18.0-13-generic 
linux-modules-4.18.0-14-generic linux-modules-4.18.0-15-generic os-prober
Use 'apt autoremove' to remove them.
Suggested packages:
  bsd-mailx default-mta | mail-transport-agent needrestart
The following packages will be upgraded:
  unattended-upgrades
1 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.
Need to get 40.4 kB of archives.
After this operation, 4096 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 
unattended-upgrades all 1.1ubuntu1.18.04.10 [40.4 kB]
Fetched 40.4 kB in 0s (204 kB/s)            
N: Ignoring file 'proposed' in directory '/etc/apt/sources.list.d/' as it has 
no filename extension
Preconfiguring packages ...
(Reading database ... 32894 files and directories currently installed.)
Preparing to unpack .../unattended-upgrades_1.1ubuntu1.18.04.10_all.deb ...
Unpacking unattended-upgrades (1.1ubuntu1.18.04.10) over (1.1ubuntu1.18.04.9) 
...
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for systemd (237-3ubuntu10.15) ...
Setting up unattended-upgrades (1.1ubuntu1.18.04.10) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
N: Ignoring file 'proposed' in directory '/etc/apt/sources.list.d/' as it has 
no filename extension
root@bb-uu-lp-1795696-verify:~# unattended-upgrade --dry-run --verbose
Initial blacklisted packages: 
Initial whitelisted packages: 
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, 
o=UbuntuESM,a=bionic
Removing unused kernel packages: linux-modules-4.18.0-13-generic 
linux-modules-4.18.0-15-generic linux-modules-4.18.0-14-generic
Keeping 3 auto-removable package(s) because it would also remove the following 
packages which should be kept in this step: libntfs-3g88 
linux-image-unsigned-4.18.0-13-generic linux-image-unsigned-4.18.0-14-generic 
linux-image-unsigned-4.18.0-15-generic ntfs-3g snapd
Packages that were successfully auto-removed: 
Packages that are kept back: 
Option --dry-run given, *not* performing real actions
Packages that will be upgraded: libntfs-3g88 ntfs-3g snapd
Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
All upgrades installed
root@bb-uu-lp-1795696-verify:~# unattended-upgrade  --verbose
Initial blacklisted packages: 
Initial whitelisted packages: 
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, 
o=UbuntuESM,a=bionic
Removing unused kernel packages: linux-modules-4.18.0-15-generic 
linux-modules-4.18.0-14-generic linux-modules-4.18.0-13-generic
Keeping 3 auto-removable package(s) because it would also remove the following 
packages which should be kept in this step: libntfs-3g88 
linux-image-unsigned-4.18.0-13-generic linux-image-unsigned-4.18.0-14-generic 
linux-image-unsigned-4.18.0-15-generic ntfs-3g snapd
Packages that were successfully auto-removed: 
Packages that are kept back: 
Packages that will be upgraded: libntfs-3g88 ntfs-3g snapd
Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
All upgrades installed
root@bb-uu-lp-1795696-verify:~# 

The unsigned kernels are kept back due to LP: #1821640 .

** Tags removed: verification-needed verification-needed-bionic
** Tags added: verification-done verification-done-bionic

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

Title:
  /usr/bin/unattended-upgrade:UnboundLocalError:/usr/bin/unattended-
  upgrade@1991:main:do_auto_remove

Status in unattended-upgrades package in Ubuntu:
  Fix Released
Status in unattended-upgrades source package in Xenial:
  New
Status in unattended-upgrades source package in Bionic:
  Fix Committed
Status in unattended-upgrades source package in Cosmic:
  Fix Released

Bug description:
  [Impact]

   * Unattended-upgrades crashes while auto-removing kernel packages.

  [Test Case]

  1. Install kernel packages to be automatically removed:
   #  eatmydata apt install linux-image-4.18.0-13-generic 
linux-image-4.18.0-14-generic linux-image-4.18.0-15-generic
   # apt-mark auto linux-image-4.18.0-13-generic linux-image-4.18.0-14-generic 
linux-image-4.18.0-15-generic
   #  /etc/kernel/postinst.d/apt-auto-removal

  2. Set up u-u to perform action in non-minimal steps:
  # grep Minimal /etc/apt/apt.conf.d/50unattended-upgrades
  Unattended-Upgrade::MinimalSteps "false";

  3. Run u-u in dry-run mode.
     Observe it failing with not fixed versions:
    # unattended-upgrade --dry-run
  Traceback (most recent call last):
    File "/usr/bin/unattended-upgrade", line 1998, in <module>
      sys.exit(main(options))
    File "/usr/bin/unattended-upgrade", line 1798, in main
      options.verbose or options.debug, options.dry_run)
    File "/usr/bin/unattended-upgrade", line 1495, in do_auto_remove
      if res:
  UnboundLocalError: local variable 'res' referenced before assignment

    Observe the fixed version running properly:
   # ./unattended-upgrade --dry-run
   #

  [Regression Potential]

   * The fix is very small and isolated, but a programming error could
  cause the misreporting of the success of auto-removals. Considering
  the size and simplicity of the change, regressions here seem unlikely.

  [Original Bug Text]

  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
unattended-upgrades.  This problem was most recently seen with package version 
1.1ubuntu1.18.04.5, the problem page at 
https://errors.ubuntu.com/problem/651a7b7a070dd794d8cf2f5ea8e974614fdedb8e 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to