[Bug 1806076] Re: unattended-upgrade --help raises UnicodeEncodeError when stdout encoding is ascii

Balint Reczey balint.reczey at canonical.com
Fri Nov 30 17:36:24 UTC 2018


Unattended-upgrades does not print to stdout by default thus it can
operate properly in the environments triggering the bug, but
apt.systemd.daily executes u-u --help that may crash.

To avoid the crash apt could set LC_ALL=C.UTF8 when running unattended-
upgrades --help as proposed in the MR below:

https://salsa.debian.org/apt-team/apt/merge_requests/34

** Description changed:

+ [Test Case]
+ 
+ rbalint at yogi:~$ lxc launch ubuntu:18.04 bb-lp-1806076
+ Creating bb-lp-1806076
+ Starting bb-lp-1806076
+ rbalint at yogi:~$ lxc shell bb-lp-1806076 
+ mesg: ttyname failed: No such device
+ root at bb-lp-1806076:~# apt install -yqq language-pack-ru-base
+ The following package was automatically installed and is no longer required:
+   libfreetype6
+ Use 'apt autoremove' to remove it.
+ The following additional packages will be installed:
+   language-pack-ru
+ The following NEW packages will be installed:
+   language-pack-ru language-pack-ru-base
+ 0 upgraded, 2 newly installed, 0 to remove and 7 not upgraded.
+ Need to get 2310 kB of archives.
+ After this operation, 11.8 MB of additional disk space will be used.
+ Selecting previously unselected package language-pack-ru-base.
+ (Reading database ... 28536 files and directories currently installed.)
+ Preparing to unpack .../language-pack-ru-base_1%3a18.04+20180712_all.deb ...
+ Unpacking language-pack-ru-base (1:18.04+20180712) ...
+ Selecting previously unselected package language-pack-ru.
+ Preparing to unpack .../language-pack-ru_1%3a18.04+20180712_all.deb ...
+ Unpacking language-pack-ru (1:18.04+20180712) ...
+ Setting up language-pack-ru (1:18.04+20180712) ...
+ Setting up language-pack-ru-base (1:18.04+20180712) ...
+ Generating locales (this might take a while)...
+   ru_RU.UTF-8... done
+   ru_UA.UTF-8... done
+ Generation complete.
+ root at bb-lp-1806076:~# env LANG=ru_RU unattended-upgrade --help | cat
+ Traceback (most recent call last):
+   File "/usr/bin/unattended-upgrade", line 1983, in <module>
+     (options, args) = parser.parse_args()  # type: ignore
+   File "/usr/lib/python3.6/optparse.py", line 1387, in parse_args
+     stop = self._process_args(largs, rargs, values)
+   File "/usr/lib/python3.6/optparse.py", line 1427, in _process_args
+     self._process_long_opt(rargs, values)
+   File "/usr/lib/python3.6/optparse.py", line 1501, in _process_long_opt
+     option.process(opt, value, values, self)
+   File "/usr/lib/python3.6/optparse.py", line 785, in process
+     self.action, self.dest, opt, value, values, parser)
+   File "/usr/lib/python3.6/optparse.py", line 807, in take_action
+     parser.print_help()
+   File "/usr/lib/python3.6/optparse.py", line 1647, in print_help
+     file.write(self.format_help())
+ UnicodeEncodeError: 'ascii' codec can't encode characters in position 126-133: ordinal not in range(128)
+ 
+ root at bb-lp-1806076:~# env LANG=ru_RU.UTF-8 unattended-upgrade --help | cat
+ Usage: unattended-upgrade [options]
+ 
+ Options:
+   -h, --help            show this help message and exit
+   -d, --debug           print debug messages
+   --apt-debug           make apt/libapt print verbose debug messages
+   -v, --verbose         print info messages
+   --dry-run             Simulation, download but do not install
+   --download-only       Only download, do not even try to install.
+   --minimal-upgrade-steps
+                         Upgrade in minimal steps (and allow interrupting with
+                         SIGTERM
+ 
+ 
+ [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.6, the problem page at https://errors.ubuntu.com/problem/b3e3265e302351558260f54ae37c7b4c193dfc95 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/.

** Also affects: apt (Ubuntu)
   Importance: Undecided
       Status: New

** Tags added: patch-forwarded-debian

** Tags added: patch

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

Title:
  unattended-upgrade --help raises UnicodeEncodeError when stdout
  encoding is ascii

Status in apt package in Ubuntu:
  New
Status in unattended-upgrades package in Ubuntu:
  New

Bug description:
  [Test Case]

  rbalint at yogi:~$ lxc launch ubuntu:18.04 bb-lp-1806076
  Creating bb-lp-1806076
  Starting bb-lp-1806076
  rbalint at yogi:~$ lxc shell bb-lp-1806076 
  mesg: ttyname failed: No such device
  root at bb-lp-1806076:~# apt install -yqq language-pack-ru-base
  The following package was automatically installed and is no longer required:
    libfreetype6
  Use 'apt autoremove' to remove it.
  The following additional packages will be installed:
    language-pack-ru
  The following NEW packages will be installed:
    language-pack-ru language-pack-ru-base
  0 upgraded, 2 newly installed, 0 to remove and 7 not upgraded.
  Need to get 2310 kB of archives.
  After this operation, 11.8 MB of additional disk space will be used.
  Selecting previously unselected package language-pack-ru-base.
  (Reading database ... 28536 files and directories currently installed.)
  Preparing to unpack .../language-pack-ru-base_1%3a18.04+20180712_all.deb ...
  Unpacking language-pack-ru-base (1:18.04+20180712) ...
  Selecting previously unselected package language-pack-ru.
  Preparing to unpack .../language-pack-ru_1%3a18.04+20180712_all.deb ...
  Unpacking language-pack-ru (1:18.04+20180712) ...
  Setting up language-pack-ru (1:18.04+20180712) ...
  Setting up language-pack-ru-base (1:18.04+20180712) ...
  Generating locales (this might take a while)...
    ru_RU.UTF-8... done
    ru_UA.UTF-8... done
  Generation complete.
  root at bb-lp-1806076:~# env LANG=ru_RU unattended-upgrade --help | cat
  Traceback (most recent call last):
    File "/usr/bin/unattended-upgrade", line 1983, in <module>
      (options, args) = parser.parse_args()  # type: ignore
    File "/usr/lib/python3.6/optparse.py", line 1387, in parse_args
      stop = self._process_args(largs, rargs, values)
    File "/usr/lib/python3.6/optparse.py", line 1427, in _process_args
      self._process_long_opt(rargs, values)
    File "/usr/lib/python3.6/optparse.py", line 1501, in _process_long_opt
      option.process(opt, value, values, self)
    File "/usr/lib/python3.6/optparse.py", line 785, in process
      self.action, self.dest, opt, value, values, parser)
    File "/usr/lib/python3.6/optparse.py", line 807, in take_action
      parser.print_help()
    File "/usr/lib/python3.6/optparse.py", line 1647, in print_help
      file.write(self.format_help())
  UnicodeEncodeError: 'ascii' codec can't encode characters in position 126-133: ordinal not in range(128)

  root at bb-lp-1806076:~# env LANG=ru_RU.UTF-8 unattended-upgrade --help | cat
  Usage: unattended-upgrade [options]

  Options:
    -h, --help            show this help message and exit
    -d, --debug           print debug messages
    --apt-debug           make apt/libapt print verbose debug messages
    -v, --verbose         print info messages
    --dry-run             Simulation, download but do not install
    --download-only       Only download, do not even try to install.
    --minimal-upgrade-steps
                          Upgrade in minimal steps (and allow interrupting with
                          SIGTERM

  
  [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.6, the problem page at https://errors.ubuntu.com/problem/b3e3265e302351558260f54ae37c7b4c193dfc95 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/apt/+bug/1806076/+subscriptions



More information about the foundations-bugs mailing list