RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2148871 - dnf dies with "Config error: 'utf-8' codec can't decode byte" when a vim swp file exists
Summary: dnf dies with "Config error: 'utf-8' codec can't decode byte" when a vim swp ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Deadline: 2023-01-16
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: dnf
Version: 9.2
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Jan Kolarik
QA Contact: Eva Mrakova
Mariya Pershina
URL:
Whiteboard:
Depends On: 2141215
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-11-28 08:50 UTC by Jan Kolarik
Modified: 2023-05-09 10:24 UTC (History)
7 users (show)

Fixed In Version: dnf-4.14.0-4.el9
Doc Type: No Doc Update
Doc Text:
Clone Of: 2141215
Environment:
Last Closed: 2023-05-09 08:18:23 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-140581 0 None None None 2022-11-28 08:53:48 UTC
Red Hat Product Errata RHBA-2023:2490 0 None None None 2023-05-09 08:18:28 UTC

Description Jan Kolarik 2022-11-28 08:50:08 UTC
+++ This bug was initially created as a clone of Bug #2141215 +++

Description of problem:

In case someone is editing a file using *vim*, e.g. `vim /etc/dnf/vars/releasever` and keeps the editor open, or editor died without having deleted the `.releasever.swp` file), DNF dies continuously when trying to decode the content:

-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------
# dnf install net-snmp
Config error: 'utf-8' codec can't decode byte 0x8d in position 16: invalid start byte
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

The reason for this is DNF reads and processes the swp file, as seen with strace:
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------
 :
721625 11:53:32.319506 read(6</etc/dnf/vars/.releasever.swp>, "b0VIM 8.0\0\0\0\0\20\0\0\213,\304a\234\36020V\16\0\0root\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0xpointwebsrv-new\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
 :
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

Apparently all files in /etc/dnf/vars are processed, even if the filename doesn't look like a DNF variable.
We need to harden this to avoid either opening non-expected filenames, or continue the processing without dying.

Version-Release number of selected component (if applicable):

dnf-4.7.0-8.el8.noarch

How reproducible:

Always

Steps to Reproduce:
1. Create/open /etc/dnf/vars/releasever using *vim*

  # vim /etc/dnf/vars/releasever

  Write "8" to it, save and keep the editor open

2. Try installing a package from another terminal

  # dnf install net-snmp

Actual results:

Config error: 'utf-8' codec can't decode byte 0x8d in position 16: invalid start byte

Expected results:

DNF continuing

--- Additional comment from Jan Kolarik on 2022-11-09 08:47:19 CET ---

PR was created to fix this behavior: https://github.com/rpm-software-management/dnf/pull/1860.

--- Additional comment from Jaroslav Mracek on 2022-11-28 07:43:05 CET ---

CI test - https://github.com/rpm-software-management/ci-dnf-stack/pull/1176

Comment 1 Jan Kolarik 2022-11-28 08:52:42 UTC
Fixed by the original ticket from RHEL8: https://bugzilla.redhat.com/show_bug.cgi?id=2141215

Comment 9 errata-xmlrpc 2023-05-09 08:18:23 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 (dnf bug fix and enhancement update), 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-2023:2490


Note You need to log in before you can comment on or make changes to this bug.