[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