Bug 2228551

Summary: yum/dnf is broken
Product: Red Hat Enterprise Linux 8 Reporter: hasn318
Component: dnfAssignee: Marek Blaha <mblaha>
Status: POST --- QA Contact: swm-qe
Severity: urgent Docs Contact:
Priority: low    
Version: 8.6CC: cstratak, james.antill, mcurlej
Target Milestone: rcKeywords: MigratedToJIRA, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description hasn318 2023-08-02 15:59:34 UTC
No yum/dnf commands works on RHEL 8 EC2 instance. Whatever yum/dnf command I run, I get the below error. Any help would be appreciated
yum
Traceback (most recent call last):
File "/usr/bin/yum", line 57, in
from dnf.cli import main
File "/usr/lib/python3.6/site-packages/dnf/init.py", line 22, in
import warnings
ImportError: bad magic number in 'warnings': b'a\r\r\n'

Comment 1 Miro Hrončok 2023-08-02 17:29:22 UTC
Any chance you have a file called /usr/bin/warnings.pyc ?

Comment 2 Miro Hrončok 2023-08-02 17:29:50 UTC
*** Bug 2228552 has been marked as a duplicate of this bug. ***

Comment 3 Miro Hrončok 2023-08-02 17:38:29 UTC
I can reproduce this by doing:

# echo -e 'a\r\r\n' > /usr/bin/warnings.pyc

# yum --version
Traceback (most recent call last):
  File "/usr/bin/yum", line 57, in <module>
    from dnf.cli import main
  File "/usr/lib/python3.6/site-packages/dnf/__init__.py", line 22, in <module>
    import warnings
ImportError: bad magic number in 'warnings': b'a\r\r\n'


Unless I am mistaken, this is essentially the same problem as in bz2057340 and https://github.com/benjaminp/six/issues/359

This was worked around in upstream dnf by https://github.com/rpm-software-management/dnf/pull/1815 which landed in dnf 4.11.1.

Comment 4 hasn318 2023-08-03 10:50:18 UTC
Hello,

Yes I do have a warnings file under /usr/bin on the system where yum/dnf is broken.
Should I remove that file?
Thanks

Comment 5 hasn318 2023-08-03 11:07:30 UTC
If I remove the warnings.pyc file. I am getting the below error.
yum
Traceback (most recent call last):
  File "/usr/bin/yum", line 57, in <module>
    from dnf.cli import main
  File "/usr/lib/python3.6/site-packages/dnf/__init__.py", line 23, in <module>
    import dnf.pycomp
  File "/usr/lib/python3.6/site-packages/dnf/pycomp.py", line 21, in <module>
    from gettext import NullTranslations
  File "/usr/lib64/python3.6/gettext.py", line 49, in <module>
    import locale, copy, io, os, re, struct, sys
ImportError: bad magic number in 'locale': b'a\r\r\n'

Comment 6 hasn318 2023-08-03 12:27:33 UTC
I removed all the files ending in .pyc under /usr/bin and yum/dnf is working as expected. Thanks for all the help!