Bug 1744639

Summary: yum-cron traceback because encoding error
Product: Red Hat Enterprise Linux 7 Reporter: Michal Domonkos <mdomonko>
Component: yumAssignee: Michal Domonkos <mdomonko>
Status: CLOSED ERRATA QA Contact: Jan Blazek <jblazek>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: james.antill
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: yum-3.4.3-165.el7 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-31 20:03:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michal Domonkos 2019-08-22 15:34:10 UTC
This bug was initially created as a copy of Bug #1425776

I am copying this bug because: 



I receive error message from yum-cron (daily, yum-cron is set to emit message by email) because of encoding error:

yum-cron:230:sendMessages:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 76: ordinal not in range(128)

This line 230 contains:

output = ''.join(self.output)

The output is in UTF-8 (and not in ASCII) probably because I'm using cs_CZ.UTF-8 locale. Similar bug has been fixed in the past, see bug #1202680

Traceback is attached.

Comment 1 Michal Domonkos 2019-08-23 09:23:11 UTC
Upstream PR:
https://github.com/rpm-software-management/yum/pull/99

Comment 2 Michal Domonkos 2019-08-23 09:37:44 UTC
*** HOW TO TEST ***

To test this, you'll need to trigger yum's import mechanism for GPG keys when installing the downloaded updates.  The reason is that, in case of a missing key, the Czech translations of the error message contains the word "klíč" which would previously trigger the traceback.  With the patch, the error message is decoded into a proper unicode object.

Setup:
# yum install -y glibc-common  # for localization support
# rpm -qa ^gpg-pubkey | xargs rpm -e  # remove all RPM public keys
# cat /path/to/yum-cron.conf
[...]
update_messages = yes
download_updates = yes
apply_updates = yes
[...]

Test:
# LANG=cs_CZ.utf8 yum-cron /path/to/yum-cron.conf

Result (before):
[...]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 76: ordinal not in range(128)

Result (after):
No crash, just the regular output.

Comment 6 errata-xmlrpc 2020-03-31 20:03:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:1122