Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 236434 - yum crash
Summary: yum crash
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: James Antill
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-04-13 21:21 UTC by Florencio
Modified: 2014-01-21 22:57 UTC (History)
1 user (show)

Fixed In Version: 3.2.1-1.fc7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-08-03 20:16:43 UTC


Attachments (Terms of Use)

Description Florencio 2007-04-13 21:21:00 UTC
Description of problem:

"yum info updates" crashes on when there is an update for some packages,
like cups or selinux, when the summary have the symbol for "Registered 
Trademark".


Version-Release number of selected component (if applicable):
3.1.6-1.fc7

How reproducible:
Always.

Steps to Reproduce:
1. yum info updates


Actual results:
UnicodeDecodeError: 'ascii' codec can't decode byte...

Additional info:

Changing line 73 in /usr/share/yum-cli/output.py as below solves the problem. 

print _("Description:\n%s") % pkg.description.encode("utf-8")

Comment 1 Jeremy Katz 2007-04-16 15:52:08 UTC
What locale are you running in?

Comment 2 Florencio 2007-04-16 16:47:09 UTC
LANG=en_US.iso88591

Actually, it don't matter: after some tests, both UTF-8 and iso8859-1 really
works, not showing the error, but, "yum info cups | more", that was I always
doing, give the error. And, in this "more" case, the encode("UTF-8") thing
doesn't help...


Comment 3 G.Wolfe Woodbury 2007-04-18 13:06:41 UTC
This is the same bug that I have noticed with KYum, and there is a bz about this
pending that is being ignored.

Who's actually at fault?

Comment 4 Florencio 2007-04-19 22:44:51 UTC
The problem is:

get_file_encoding(sys.stdout) normally is "UTF-8", but when stdout is
redirected, we have "None".

/me forcing UTF-8 in __init__.py:

import sys
import codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
sys.stdin = codecs.getwriter('utf-8')(sys.stdin)


Comment 5 Jeremy Katz 2007-04-25 16:58:02 UTC
Okay, I could reproduce this the other day and now I can't.

[root@erebor yum]# LANG=en_US.iso88591 python ./yummain.py  info cups |more
Loading "installonlyn" plugin
Installed Packages
Name   : cups
Arch   : x86_64
Epoch  : 1
Version: 1.2.10
Release: 6.fc7
Size   : 8.6 M
Repo   : installed
Summary: Common Unix Printing System

Description:
The Common UNIX Printing System provides a portable printing layer for
UNIX� operating systems. It has been developed by Easy Software Products
to promote a standard printing solution for all UNIX vendors and users.
CUPS provides the System V and Berkeley command-line interfaces.


Are you still able to reproduce it? 

Comment 6 Florencio 2007-04-25 23:08:16 UTC
Yes... and no:

# echo $LANG
en_US.iso88591
# yum info cups | more
Loading "changelog" plugin
...some stuff omitted...
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 88: 
ordinal not in range(128)

# yum clean all
# yum info cups ==> OK
# yum clean all
# yum info cups | more  ==> surprise, it worked!

Yum downloading some (package info|metadata) with stdout redirected were
leading to error, but i can't reproduce it anymore...
I didn't see any change that could have fixed this, i'm confused...


Comment 7 Jeremy Katz 2007-04-26 18:26:40 UTC
New rhpl should be in tomorrow's rawhide that addresses some things like this. 
But I don't see how that would ever come into play with yum.

Can you give the full traceback?  I might be able to decipher then where we're
doing something wrong.  Or at least try

Comment 8 Florencio 2007-05-18 01:53:13 UTC
After some time without updates to those specific packages, today's
update choked up on policycoreutils. Full traceback:

# yum info updates | less
Loading "changelog" plugin
Loading "installonlyn" plugin
Excluding Packages in global exclude list
Finished
Updated Packages
*** Traceback (most recent call last):
***   File "/usr/bin/yum", line 29, in <module>
***     yummain.main(sys.argv[1:])
***   File "/usr/share/yum-cli/yummain.py", line 94, in main
***     result, resultmsgs = base.doCommands()
***   File "/usr/share/yum-cli/cli.py", line 263, in doCommands
***     return self.yum_cli_commands[self.basecmd].doCommand(self, 
self.basecmd, self.extcmds)
***   File "/usr/share/yum-cli/yumcommands.py", line 167, in doCommand
***     base.listPkgs(ypl.updates, 'Updated Packages', basecmd)
***   File "/usr/share/yum-cli/output.py", line 102, in listPkgs
***     self.infoOutput(pkg)
***   File "/usr/share/yum-cli/output.py", line 73, in infoOutput
***     print _("Description:\n%s") % pkg.description
*** UnicodeEncodeError: 'ascii' codec can't encode character u'\xae' in 
position 62: ordinal not in range(128)




Comment 9 Seth Vidal 2007-08-03 20:16:43 UTC
this is fixed up in yum 3.2.1 or 3.2.2 in fedora 7

please give them a try.


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