Bug 684292

Summary: Command yum repolist generates a Traceback on RHEL 6.1
Product: Red Hat Satellite 5 Reporter: Dimitar Yordanov <dyordano>
Component: RegistrationAssignee: Michael Mráka <mmraka>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 540   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-04 13:29:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 462714    

Description Dimitar Yordanov 2011-03-11 17:37:58 UTC
Description of problem:
If a RHEL6.1 system is registered to a Satellite that has no channels, command "yum repolist" generates a Traceback.
The problem is not presented on RHEL5.6


Version-Release number of selected component (if applicable):
RHEL6.1 - RHEL6.1-20110309.n.0
yum-3.2.29-7.el6.noarch

How reproducible:
Always

Steps to Reproduce:
1.Execute the reproducer script. (See Additional info:)
2.yum repolist

  
Actual results:

# yum repolist
Loaded plugins: product-id, rhnplugin, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
This system is not subscribed to any channels.
RHN channel support will be disabled.
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 267, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 120, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 432, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
  File "/usr/share/yum-cli/yumcommands.py", line 1025, in doCommand
    if nm_len < utf8_width(rname):
  File "/usr/lib/python2.6/site-packages/yum/i18n.py", line 218, in utf8_width
    for (ucs, bytes) in __utf8_iter_ucs(msg):
  File "/usr/lib/python2.6/site-packages/yum/i18n.py", line 174, in __utf8_iter_ucs
    for byte0 in uiter:
  File "/usr/lib/python2.6/site-packages/yum/i18n.py", line 170, in __utf8_iter_ints
    for byte in to_utf8(msg):
TypeError: 'NoneType' object is not iterable


Expected results:
No Traceback.

Additional info:

Reproducer:
#!/usr/bin/env python
import sys, xmlrpclib, os

RHN_USER='admin'
RHN_PASS='admin'
RHN_SERVER='SATELLITE_SERVER_NAME'

client = xmlrpclib.Server("http://SATELLITE_SERVER_NAME/rpc/api" , verbose=0)
key = client.auth.login(RHN_USER,RHN_PASS)

ent=[]
ent.append('monitoring_entitled')
ent.append('provisioning_entitled')
# Create Activation Key
ACTIV_KEY=client.activationkey.create(key, '', '', '', ent, False)
# Register the system
cmd_string="rhnreg_ks  --serverUrl=http://%s/XMLRPC  --activationkey=%s --profilename=Test_Reg_No_Chann_RHEL61 --force" % (RHN_SERVER ,ACTIV_KEY)
os.system(cmd_string)