The crash was first found and fixed in LP: #1737717 but the fix LP:
#1778219 introduced it in a slightly different way on start-up.

With the fix for LP: #1737717 u-u.service can gracefully stop u-u when
the APT configuration became broken _after_ starting the u-u.service but
the service still throws an unhandled exception when it starts with an
already broken APT configuration.

Since the original behaviour was crashing on u-u.service stopping i'm
marking this but as verified on 1.1ubuntu1.18.04.7~16.04.1.

root@x-uu-ref:~# dpkg -l unattended-upgrades | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version                    Architecture Description
+++-===================-==========================-============-===========================================
ii  unattended-upgrades 1.1ubuntu1.18.04.7~16.04.1 all          automatic 
installation of security upgrades
root@x-uu-ref:~#  echo extra-junk >> /etc/apt/apt.conf.d/50unattended-upgrades
root@dd-uu-ref:~# service unattended-upgrades status
● unattended-upgrades.service - Unattended Upgrades Shutdown
   Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; 
vendor preset: enabled)
   Active: active (running) since Fri 2019-02-08 08:59:58 UTC; 3h 42min ago
     Docs: man:unattended-upgrade(8)
 Main PID: 259 (unattended-upgr)
    Tasks: 2 (limit: 4915)
   Memory: 12.4M
   CGroup: /system.slice/unattended-upgrades.service
           └─259 /usr/bin/python3 
/usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal

Feb 08 08:59:58 dd-uu-ref systemd[1]: Started Unattended Upgrades Shutdown.
root@dd-uu-ref:~# service unattended-upgrades stop
root@dd-uu-ref:~# cat 
/var/log/unattended-upgrades/unattended-upgrades-shutdown.log 
2019-02-07 16:08:14,675 WARNING - SIGTERM or SIGHUP received, stopping 
unattended-upgrades only if it is running
2019-02-08 12:42:43,640 WARNING - SIGTERM or SIGHUP received, stopping 
unattended-upgrades only if it is running


** Description changed:

  [Impact]
  
-  * Unattended-upgrades-shutdown service fails to start printing a crash
-  * The fix would not warrant an SRU itself but it is part of the full 
backport SRU tracked in LP: #1702793.
+  * Unattended-upgrades-shutdown service fails to stop printing a crash
+  * The fix would not warrant an SRU itself but it is part of the full 
backport SRU tracked in LP: #1702793.
  
  [Test Case]
  
-  * Buggy version:
- root@x2:~#  echo extra-junk >> /etc/apt/apt.conf.d/50unattended-upgrades 
- root@x2:~# /usr/share/unattended-upgrades/unattended-upgrade-shutdown 
- Traceback (most recent call last):
-   File "/usr/share/unattended-upgrades/unattended-upgrade-shutdown", line 
119, in <module>
-     apt_pkg.init_config()
- SystemError: E:Syntax error /etc/apt/apt.conf.d/50unattended-upgrades:67: 
Extra junk at end of file
- root@x2:~# 
+  * Buggy version:
+ root@x-uu-1702793:~#  echo extra-junk >> 
/etc/apt/apt.conf.d/50unattended-upgrades
+ root@x-uu-1702793:~# service unattended-upgrades status
+ ● unattended-upgrades.service - Unattended Upgrades Shutdown
+    Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; 
vendor preset: enabled)
+    Active: active (exited) since Fri 2019-02-08 12:55:16 UTC; 39s ago
+      Docs: man:unattended-upgrade(8)
+     Tasks: 0
+    Memory: 0B
+       CPU: 0
  
-  * Fixed version:
- # /usr/share/unattended-upgrades/unattended-upgrade-shutdown ; echo $?
- 1
- root@bb-lp-1806076:~# tail 
/var/log/unattended-upgrades/unattended-upgrades-shutdown.log 
- 2018-11-30 18:05:56,515 ERROR - Apt returned an error, exiting
- 2018-11-30 18:05:56,515 ERROR - error message: 'E:Syntax error 
/etc/apt/apt.conf.d/50unattended-upgrades:93: Extra junk at end of file'
+ Feb 08 12:55:16 x-uu-1702793 systemd[1]: Started Unattended Upgrades Shutdown.
+ root@x-uu-1702793:~# service unattended-upgrades stop  
+ root@x-uu-1702793:~# service unattended-upgrades status
+ ● unattended-upgrades.service - Unattended Upgrades Shutdown
+    Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; 
vendor preset: enabled)
+    Active: failed (Result: exit-code) since Fri 2019-02-08 12:56:02 UTC; 2s 
ago
+      Docs: man:unattended-upgrade(8)
+   Process: 602 
ExecStop=/usr/share/unattended-upgrades/unattended-upgrade-shutdown 
(code=exited, status=1/FAILURE)
+ 
+ Feb 08 12:55:16 x-uu-1702793 systemd[1]: Started Unattended Upgrades Shutdown.
+ Feb 08 12:56:02 x-uu-1702793 systemd[1]: Stopping Unattended Upgrades 
Shutdown...
+ Feb 08 12:56:02 x-uu-1702793 unattended-upgrade-shutdown[602]: Traceback 
(most recent call last):
+ Feb 08 12:56:02 x-uu-1702793 unattended-upgrade-shutdown[602]:   File 
"/usr/share/unattended-upgrades/unattended-up
+ Feb 08 12:56:02 x-uu-1702793 unattended-upgrade-shutdown[602]:     
apt_pkg.init_config()
+ Feb 08 12:56:02 x-uu-1702793 unattended-upgrade-shutdown[602]: SystemError: 
E:Syntax error /etc/apt/apt.conf.d/50un
+ Feb 08 12:56:02 x-uu-1702793 systemd[1]: unattended-upgrades.service: Control 
process exited, code=exited status=1
+ Feb 08 12:56:02 x-uu-1702793 systemd[1]: Stopped Unattended Upgrades Shutdown.
+ Feb 08 12:56:02 x-uu-1702793 systemd[1]: unattended-upgrades.service: Unit 
entered failed state.
+ Feb 08 12:56:02 x-uu-1702793 systemd[1]: unattended-upgrades.service: Failed 
with result 'exit-code'.
+ 
+ root@x-uu-1702793:~# service unattended-upgrades start 
+ root@x-uu-1702793:~# service unattended-upgrades status
+ ● unattended-upgrades.service - Unattended Upgrades Shutdown
+    Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; 
vendor preset: enabled)
+    Active: active (exited) since Fri 2019-02-08 12:56:28 UTC; 2s ago
+      Docs: man:unattended-upgrade(8)
+   Process: 602 
ExecStop=/usr/share/unattended-upgrades/unattended-upgrade-shutdown 
(code=exited, status=1/FAILURE)
+ 
+ 
+  * Fixed version:
+ root@dd-uu-ref:~#  echo extra-junk >> 
/etc/apt/apt.conf.d/50unattended-upgrades
+ 
+ root@dd-uu-ref:~# service unattended-upgrades status
+ ● unattended-upgrades.service - Unattended Upgrades Shutdown
+    Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; 
vendor preset: enabled)
+    Active: active (running) since Fri 2019-02-08 08:59:58 UTC; 3h 42min ago
+      Docs: man:unattended-upgrade(8)
+  Main PID: 259 (unattended-upgr)
+     Tasks: 2 (limit: 4915)
+    Memory: 12.4M
+    CGroup: /system.slice/unattended-upgrades.service
+            └─259 /usr/bin/python3 
/usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
+ 
+ Feb 08 08:59:58 dd-uu-ref systemd[1]: Started Unattended Upgrades Shutdown.
+ root@dd-uu-ref:~# service unattended-upgrades stop
+ root@dd-uu-ref:~# cat 
/var/log/unattended-upgrades/unattended-upgrades-shutdown.log 
+ 2019-02-07 16:08:14,675 WARNING - SIGTERM or SIGHUP received, stopping 
unattended-upgrades only if it is running
+ root@dd-uu-ref:~# service unattended-upgrades status
+ ● unattended-upgrades.service - Unattended Upgrades Shutdown
+    Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; 
vendor preset: enabled)
+    Active: inactive (dead) since Fri 2019-02-08 12:50:35 UTC; 7min ago
+      Docs: man:unattended-upgrade(8)
+   Process: 760 
ExecStart=/usr/share/unattended-upgrades/unattended-upgrade-shutdown 
--wait-for-signal (code=exited,
+  Main PID: 760 (code=exited, status=0/SUCCESS)
+ 
+ Feb 08 12:49:39 dd-uu-ref systemd[1]: Started Unattended Upgrades Shutdown.
+ Feb 08 12:50:35 dd-uu-ref systemd[1]: Stopping Unattended Upgrades Shutdown...
+ Feb 08 12:50:35 dd-uu-ref systemd[1]: unattended-upgrades.service: Succeeded.
+ 
  
  [Regression Potential]
  
-  * U-u-s used to exit crashing, now it exits with an error code, just logging 
the error. There is little chance for regressing here, but users may have 
harder time to figure out why u-u-s exited, they need to check the log file.
-  * There is also an enhancement request tracked to start u-u-s with a default 
config when parsing the config fails to be able to act on shutdown: 
+  * U-u.service used to stop crashing, now it exits normally when the APT 
configuration was valid when it was started. There is little chance for 
regressing here since the configuration file is not read again.
+  * There is also an enhancement request tracked to start u-u-s with a default 
config when parsing the config fails to be able to act on shutdown:
  https://github.com/mvo5/unattended-upgrades/issues/161
  
  [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 
0.98ubuntu1, the problem page at 
https://errors.ubuntu.com/problem/b1c4cd0c858e1c3c6c86f938397e8d5d4208242b 
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/.
  
  Traceback (most recent call last):
    File "/usr/share/unattended-upgrades/unattended-upgrade-shutdown", line 
136, in <module>
      apt_pkg.init_config()
  apt_pkg.Error: E:Syntax error /etc/apt/apt.conf:2: Extra junk at end of file

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

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

Title:
  unattended-upgrade-shutdown crashes with apt_pkg.Error: E:Syntax error
  /etc/apt/apt.conf:2: Extra junk at end of file

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to