Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 281199 - =sys-apps/portage-2.2_rc{37,38}: UnicodeDecodeError in portage.util.ConfigProtect.isprotected
Summary: =sys-apps/portage-2.2_rc{37,38}: UnicodeDecodeError in portage.util.ConfigPro...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
: 281549 281574 282088 282192 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-08-12 11:34 UTC by Thomas Kahle (RETIRED)
Modified: 2010-07-15 08:21 UTC (History)
10 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Error in emerge kbd with portage-2.2-rc38 (portage.txt,38.84 KB, text/plain)
2009-08-18 14:58 UTC, Luis Díaz
Details
portage UnicodeDecodeError crash (portage_unicodedecodeerror_crash.txt,48.77 KB, text/plain)
2009-08-18 15:48 UTC, Raphael Dehousse
Details
emerge --info (emerge-info,10.83 KB, text/plain)
2009-08-20 07:58 UTC, Pavel Procopiuc
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Kahle (RETIRED) gentoo-dev 2009-08-12 11:34:23 UTC
I am having trouble during install of sci-mathematics/Macaulay2 from Science Overlay. I just confirmed that this ebuild installes fine with 2.2_rc36.

Below this line you see the trace. The package collisions are from earlier attempts leading to the same failure. So the issue seems to happen directly after actual copying of the files  but before registering the package as installed. (Sorry I don't know the proper technical terms here...) 
--- 

 *      /usr/share/doc/Macaulay2/Macaulay2Doc/html/_check.html
 *      /usr/share/doc/Macaulay2/Macaulay2Doc/html/___M__P__F__R.html
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * None of the installed packages claim the file(s).
 * 
 * Package 'sci-mathematics/Macaulay2-1.2-r2' merged despite file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()
  File "//usr/lib/portage/pym/_emerge/main.py", line 1397, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "//usr/lib/portage/pym/_emerge/actions.py", line 463, in action_build
    retval = mergetask.merge()
  File "//usr/lib/portage/pym/_emerge/Scheduler.py", line 821, in merge
    rval = self._merge()
  File "//usr/lib/portage/pym/_emerge/Scheduler.py", line 1125, in _merge
    self._main_loop()
  File "//usr/lib/portage/pym/_emerge/Scheduler.py", line 1262, in _main_loop
    self._poll_loop()
  File "//usr/lib/portage/pym/_emerge/PollScheduler.py", line 127, in _poll_loop
    handler(f, event)
  File "//usr/lib/portage/pym/_emerge/SpawnProcess.py", line 197, in _output_handler
    self._unregister_if_appropriate(event)
  File "//usr/lib/portage/pym/_emerge/AbstractPollTask.py", line 27, in _unregister_if_appropriate
    self.wait()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib/portage/pym/_emerge/EbuildPhase.py", line 76, in _post_phase_exit
    self.wait()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib/portage/pym/_emerge/EbuildPhase.py", line 76, in _post_phase_exit
    self.wait()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib/portage/pym/_emerge/TaskSequence.py", line 43, in _task_exit_handler
    self.wait()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib/portage/pym/_emerge/CompositeTask.py", line 105, in _default_final_exit
    return self.wait()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib/portage/pym/_emerge/EbuildBuild.py", line 182, in _build_exit
    self.wait()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib/portage/pym/_emerge/CompositeTask.py", line 105, in _default_final_exit
    return self.wait()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib/portage/pym/_emerge/Scheduler.py", line 1104, in _build_exit
    self._schedule()
  File "//usr/lib/portage/pym/_emerge/PollScheduler.py", line 43, in _schedule
    return self._schedule_tasks()
  File "//usr/lib/portage/pym/_emerge/Scheduler.py", line 1284, in _schedule_tasks
    if q.schedule():
  File "//usr/lib/portage/pym/_emerge/SequentialTaskQueue.py", line 55, in schedule
    task.start()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 24, in start
    self._start()
  File "//usr/lib/portage/pym/_emerge/PackageMerge.py", line 44, in _start
    self.returncode = self.merge.merge()
  File "//usr/lib/portage/pym/_emerge/MergeListItem.py", line 148, in merge
    retval = self._install_task.install()
  File "//usr/lib/portage/pym/_emerge/EbuildBuild.py", line 272, in install
    rval = merge.execute()
  File "//usr/lib/portage/pym/_emerge/EbuildMerge.py", line 32, in execute
    blockers=self.find_blockers)
  File "//usr/lib/portage/pym/portage/__init__.py", line 6865, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 4037, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 4047, in _merge
    cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 3509, in treewalk
    if self.mergeme(srcroot, destroot, outfile, secondhand, "", cfgfiledict, mymtime):
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 3892, in mergeme
    join(offset, x), cfgfiledict, thismtime):
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 3892, in mergeme
    join(offset, x), cfgfiledict, thismtime):
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 3892, in mergeme
    join(offset, x), cfgfiledict, thismtime):
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 3892, in mergeme
    join(offset, x), cfgfiledict, thismtime):
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 3892, in mergeme
    join(offset, x), cfgfiledict, thismtime):
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 3892, in mergeme
    join(offset, x), cfgfiledict, thismtime):
  File "//usr/lib/portage/pym/portage/dbapi/vartree.py", line 3902, in mergeme
    protected = self.isprotected(mydest)
  File "//usr/lib/portage/pym/portage/util.py", line 1250, in isprotected
    if len(ppath) > masked and obj.startswith(ppath):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 48: ordinal not in range(128)

Reproducible: Always




 emerge --info                                                                              12:11:22 Wed,12.Aug
Portage 2.2_rc36 (default/linux/x86/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r4 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r4-i686-Intel-R-_Core-TM-2_Duo_CPU_L7500_@_1.60GHz-with-glibc2.1
Timestamp of tree: Wed, 12 Aug 2009 07:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.5.4-r3
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /e
tc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /et
c/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-lo
gs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.tiscali.nl/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US de ja es fr it"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=300"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=18
0 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/tom-overlay /home/tom/gentoo/sci"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa anthy apache2 avahi bash-completion berkdb bluetooth branding bzip2 cairo canna cddb cdparanoia cdr c
jk cli consolekit cracklib crypt ctype cups curl daap dbus djvu dri dvd dvdr eds emacs encode esd evo expat fam fbcon ffmpeg firef
ox flac fortran freewnn ftp gd gdbm gif gimp glut gmp gnutls gpm graphviz gstreamer gtk guile hal hdaps iconv ieee1394 imagemagick
 imap imlib ipod ipv6 isdnlog java javascript jpeg kde latex ldap leim libnotify lm_sensors m17n-lib mad migemo mikmod mime mmx mn
g mp3 mp4 mpeg mplayer mudflap mule musicbrainz mysql mysqli ncurses nls nptl nptlonly nsplugin obex ocaml ogg oggvorbis openal op
engl openmp pam pcmcia pcre pdf perl php plasma plotutils png policykit ppds pppd python qt3 qt3support qt4 quicktime readline ref
lection samba sasl sdl semantic-desktop session slang spell spl sqlite3 sse ssl startup-notification svg sysfs tcpd texlive theora
 threads tiff tk truetype unicode usb v4l v4l2 visualization vorbis wifi win32codecs wxwindows x264 x86 xcomposite xine xinerama x
ml xorg xulrunner xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1
370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLU
GINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw mu
lti null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm a
uthn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_l
ock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_c
ache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique
_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cf
ontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US de ja es fr it" USERLAND="GNU" VIDEO_CARDS="intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 1 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-08-12 13:58:09 UTC
Can you reproduce this bug with sys-apps/portage-2.2_rc38?
Comment 2 Thomas Kahle (RETIRED) gentoo-dev 2009-08-12 16:05:20 UTC
(In reply to comment #1)
> Can you reproduce this bug with sys-apps/portage-2.2_rc38?

Let me clarify: This bug does not happen in rc36 but it does in rc38! 
emerge --info shows 36 because I was confirming the regression when I issued that command.
Comment 3 Thomas Kahle (RETIRED) gentoo-dev 2009-08-12 17:35:08 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > Can you reproduce this bug with sys-apps/portage-2.2_rc38?
> 
> Let me clarify: This bug does not happen in rc36 but it does in rc38! 
> emerge --info shows 36 because I was confirming the regression when I issued
> that command.

The build of this package takes a while but now I confirmed the problem with rc37, so the regression was from rc36->rc37.

Comment 4 Søren Færløv 2009-08-13 10:04:16 UTC
I'm having a lot of fun with this bug as well. Trying to re-emerge world after upgrading to GCC 4.4. All packages containing files that cannot be re-encoded to ASCII fail with the described error.

I will mask 2.2_rc37 and _rc38 for now and continue compiling.
Comment 5 Søren Færløv 2009-08-13 12:19:54 UTC
Hmmm... portage-2.2_rc36 seems to have a similar but slightly different error. THis is the result when trying to emerge glest (with patches for xerces-3 and GCC 4.4):

Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()                    
  File "/usr/lib/portage/pym/_emerge/main.py", line 1397, in emerge_main
    myopts, myaction, myfiles, spinner)                                 
  File "/usr/lib/portage/pym/_emerge/actions.py", line 464, in action_build
    retval = mergetask.merge()                                             
  File "//usr/lib/portage/pym/_emerge/Scheduler.py", line 817, in merge    
    rval = self._merge()                                                   
  File "//usr/lib/portage/pym/_emerge/Scheduler.py", line 1121, in _merge  
    self._main_loop()
  File "//usr/lib/portage/pym/_emerge/Scheduler.py", line 1258, in _main_loop
    self._poll_loop()
  File "//usr/lib/portage/pym/_emerge/PollScheduler.py", line 127, in _poll_loop
    handler(f, event)
  File "//usr/lib/portage/pym/_emerge/SpawnProcess.py", line 197, in _output_handler
    self._unregister_if_appropriate(event)
  File "//usr/lib/portage/pym/_emerge/AbstractPollTask.py", line 27, in _unregister_if_appropriate
    self.wait()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "//usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib/portage/pym/_emerge/EbuildPhase.py", line 57, in _ebuild_exit
    portage._post_src_install_uid_fix(settings)
  File "/usr/lib/portage/pym/portage/__init__.py", line 5149, in _post_src_install_uid_fix
    for parent, dirs, files in os.walk(mysettings["D"]):
  File "/usr/lib/python2.5/os.py", line 304, in walk
    for x in walk(path, topdown, onerror):
  File "/usr/lib/python2.5/os.py", line 304, in walk
    for x in walk(path, topdown, onerror):
  File "/usr/lib/python2.5/os.py", line 304, in walk
    for x in walk(path, topdown, onerror):
  File "/usr/lib/python2.5/os.py", line 304, in walk
    for x in walk(path, topdown, onerror):
  File "/usr/lib/python2.5/os.py", line 304, in walk
    for x in walk(path, topdown, onerror):
  File "/usr/lib/python2.5/os.py", line 304, in walk
    for x in walk(path, topdown, onerror):
  File "/usr/lib/python2.5/os.py", line 294, in walk
    if isdir(join(top, name)):
  File "/usr/lib/python2.5/posixpath.py", line 65, in join
    path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf1 in position 5: ordinal not in range(128)
Comment 6 Ctibor Brančík 2009-08-13 21:44:13 UTC
sys-apps/portage-2.2_rc33

invoked autounmask to unmask kvpnc:

Traceback (most recent call last):                                                                                                                                     
  File "/usr/bin/emerge", line 40, in <module>                                                                                                                         
    retval = _emerge.emerge_main()                                                                                                                                     
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 16305, in emerge_main                                                                                        
    myopts, myaction, myfiles, spinner)                                                                                                                                
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 15062, in action_build                                                                                       
    retval, favorites = mydepgraph.select_files(myfiles)                                                                                                               
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 5851, in select_files                                                                                        
    if not self._create_graph():                                                                                                                                       
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 5041, in _create_graph                                                                                       
    allow_unsatisfied=allow_unsatisfied):                                                                                                                              
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 5386, in _add_pkg_deps                                                                                       
    allow_unsatisfied=allow_unsatisfied):                                                                                                                              
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 5071, in _add_dep                                                                                            
    onlydeps=dep.onlydeps)                                                                                                                                             
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 6200, in _select_pkg_highest_available                                                                       
    ret = self._select_pkg_highest_available_imp(root, atom, onlydeps=onlydeps)                                                                                        
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 6254, in _select_pkg_highest_available_imp                                                                   
    cpv_list = db.xmatch("match-all", atom)                                                                                                                            
  File "/usr/lib64/portage/pym/portage/dbapi/porttree.py", line 1001, in xmatch                                                                                        
    myval = list(self._iter_match(mydep, self.cp_list(mykey)))                                                                                                         
  File "/usr/lib64/portage/pym/portage/dbapi/porttree.py", line 842, in cp_list                                                                                        
    file_list = os.listdir(os.path.join(oroot, mycp))                                                                                                                  
  File "/usr/lib64/python2.6/posixpath.py", line 70, in join                                                                                                           
    path += '/' + b                                                                                                                                                    
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 15: ordinal not in range(128)
Comment 7 Stefan Radermacher 2009-08-14 10:33:18 UTC
Hm it seems I have the same problem with rc36 as in Comment #5. I can't emerge anything without the fopllowing stack trace. Not even another version of portage.

Calculating dependencies  Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1397, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 307, in action_build
    settings, trees, myopts, myparams, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 4967, in backtrack_depgraph
    myopts, spinner)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 87, in __init__
    pkg_cache=self._pkg_cache)
  File "/usr/lib64/portage/pym/_emerge/FakeVartree.py", line 81, in __init__
    real_dbapi.flush_cache()
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1045, in flush_cache
    self._owners.populate() # index any unindexed contents
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1449, in populate
    self._populate()
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1475, in _populate
    owners_cache.add(cpv)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1403, in add
    self._add_path(x[root_len:], pkg_hash)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1416, in _add_path
    name_hash = self._hash_str(name)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1428, in _hash_str
    h.update(s)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
Comment 8 Stefan Radermacher 2009-08-14 11:26:23 UTC
OK I was able to manually update to rc38 again, but now I get "UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 15:
ordinal not in range(128)" too, for example when emerging sys-apps/kbd.
Comment 9 Mike Auty (RETIRED) gentoo-dev 2009-08-15 15:19:50 UTC
*** Bug 281574 has been marked as a duplicate of this bug. ***
Comment 10 Tristan Heaven (RETIRED) gentoo-dev 2009-08-16 00:24:44 UTC
*** Bug 281549 has been marked as a duplicate of this bug. ***
Comment 11 Luis Díaz 2009-08-18 14:58:42 UTC
Created attachment 201618 [details]
Error in emerge kbd with portage-2.2-rc38

Error in emerge kbd with portage-2.2-rc38
Comment 12 Luis Díaz 2009-08-18 15:00:53 UTC
Comment on attachment 201618 [details]
Error in emerge kbd with portage-2.2-rc38

I have a similar problem that which of #8.
Comment 13 Raphael Dehousse 2009-08-18 15:48:40 UTC
Created attachment 201621 [details]
portage UnicodeDecodeError crash

Same here

Portage 2.2_rc38 (default/linux/x86/2008.0, gcc-4.4.1, glibc-2.10.1-r0, 2.6.30-tuxonice-r4 i686)
=================================================================
System uname: Linux-2.6.30-tuxonice-r4-i686-Intel-R-_Pentium-R-_Dual_CPU_T2370_@_1.73GHz-with-glibc2.1
Timestamp of tree: Tue, 18 Aug 2009 11:45:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.5.4-r3
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ "
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X acl acpi alsa apache2 bash-completion berkdb bluetooth bzip2 cairo cdda cddb cdparanoia cdr cli cracklib crypt css ctype cups curl cxx dbus dri dvd dvdr dvdread exif expat ffmpeg firefox flac fontconfig fortran ftp gcj gd gdbm geoip gif gimp gphoto2 gpm gps graphviz gstreamer gtk hal hddtemp iconv ieee1394 imagemagick imlib inifile ipv6 isdnlog java java6 javascript jingle jpeg lame laptop libwww lm_sensors lua lzo mad memlimit mime mmap mmx mng mp3 mpeg mplayer msn mudflap mysql mysqli ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl php png posix pppd pulseaudio python quicktime readline reflection ruby samba scanner sdl sensord session simplexml smartcard smp snmp soap sockets spell spl sqlite sqlite3 sse sse2 ssl svg sysfs syslog szip taglib tcpd theora threads tidy tiff truetype unicode usb vhosts vim-syntax vorbis webkit wifi win32codecs wxwindows x86 xcomposite xine xinerama xinetd xml xmlrpc xorg xpm xprint xscreensaver xsl xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="intel vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 14 Pavel Procopiuc 2009-08-20 07:47:22 UTC
app-dicts/aspell-ro also triggers this
Comment 15 Pavel Procopiuc 2009-08-20 07:56:45 UTC
Sorry, need to give more detailed comment. app-dicts/aspell-ro-0.50.2 triggers UnicodeDecodeError even with portage-2.2_rc36 due to file /usr/lib/aspell-0.60/rom�ne�te.alias. Two characters are obviously misencoded, should be something like romăneşte, not sure.

Build log:

root ~ # emerge -1a aspell-ro                                                                    

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] app-dicts/aspell-ro-0.50.2  0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] 

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) app-dicts/aspell-ro-0.50.2
 * aspell-ro-0.50-2.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                   [ ok ]
 * checking ebuild checksums ;-) ...                                                                          [ ok ]
 * checking auxfile checksums ;-) ...                                                                         [ ok ]
 * checking miscfile checksums ;-) ...                                                                        [ ok ]
>>> Unpacking source...                                                                                             
>>> Unpacking aspell-ro-0.50-2.tar.bz2 to /var/tmp/portage/app-dicts/aspell-ro-0.50.2/work                          
>>> Source unpacked in /var/tmp/portage/app-dicts/aspell-ro-0.50.2/work                                             
>>> Compiling source in /var/tmp/portage/app-dicts/aspell-ro-0.50.2/work/aspell-ro-0.50-2 ...                       
Finding Dictionary file location ... /usr/lib/aspell-0.60                                                           
Finding Data file location ... /usr/lib/aspell-0.60                                                                 
make --jobs=2 --silent --no-print-directory                                                                         
>>> Source compiled.                                                                                                
>>> Test phase [not enabled]: app-dicts/aspell-ro-0.50.2                                                            

>>> Install aspell-ro-0.50.2 into /var/tmp/portage/app-dicts/aspell-ro-0.50.2/image/ category app-dicts
mkdir -p /var/tmp/portage/app-dicts/aspell-ro-0.50.2/image//usr/lib/aspell-0.60/                       
cp ro.rws ro.multi romaneste.alias romanian.alias rom�ne�te.alias /var/tmp/portage/app-dicts/aspell-ro-0.50.2/image//usr/lib/aspell-0.60/                                                                                                 
cd /var/tmp/portage/app-dicts/aspell-ro-0.50.2/image//usr/lib/aspell-0.60/ && chmod 644 ro.rws ro.multi romaneste.alias romanian.alias rom�ne�te.alias                                                                                    
mkdir -p /var/tmp/portage/app-dicts/aspell-ro-0.50.2/image//usr/lib/aspell-0.60/                                     
cp ro.dat /var/tmp/portage/app-dicts/aspell-ro-0.50.2/image//usr/lib/aspell-0.60/                                    
cd /var/tmp/portage/app-dicts/aspell-ro-0.50.2/image//usr/lib/aspell-0.60/ && chmod 644 ro.dat                       
>>> Completed installing aspell-ro-0.50.2 into /var/tmp/portage/app-dicts/aspell-ro-0.50.2/image/                    

Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()                    
  File "/usr/lib/portage/pym/_emerge/main.py", line 1397, in emerge_main
    myopts, myaction, myfiles, spinner)                                 
  File "/usr/lib/portage/pym/_emerge/actions.py", line 464, in action_build
    retval = mergetask.merge()                                             
  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 817, in merge     
    rval = self._merge()                                                   
  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1121, in _merge   
    self._main_loop()                                                      
  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1258, in _main_loop
    self._poll_loop()
  File "/usr/lib/portage/pym/_emerge/PollScheduler.py", line 127, in _poll_loop
    handler(f, event)
  File "/usr/lib/portage/pym/_emerge/SpawnProcess.py", line 197, in _output_handler
    self._unregister_if_appropriate(event)
  File "/usr/lib/portage/pym/_emerge/AbstractPollTask.py", line 27, in _unregister_if_appropriate
    self.wait()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib/portage/pym/_emerge/EbuildPhase.py", line 57, in _ebuild_exit
    portage._post_src_install_uid_fix(settings)
  File "/usr/lib/portage/pym/portage/__init__.py", line 5149, in _post_src_install_uid_fix
    for parent, dirs, files in os.walk(mysettings["D"]):
  File "/usr/lib/python2.6/os.py", line 294, in walk
    for x in walk(path, topdown, onerror, followlinks):
  File "/usr/lib/python2.6/os.py", line 294, in walk
    for x in walk(path, topdown, onerror, followlinks):
  File "/usr/lib/python2.6/os.py", line 294, in walk
    for x in walk(path, topdown, onerror, followlinks):
  File "/usr/lib/python2.6/os.py", line 284, in walk
    if isdir(join(top, name)):
  File "/usr/lib/python2.6/posixpath.py", line 70, in join
    path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4: ordinal not in range(128)
Comment 16 Pavel Procopiuc 2009-08-20 07:58:34 UTC
Created attachment 201764 [details]
emerge --info
Comment 17 Pavel Procopiuc 2009-08-20 08:09:10 UTC
Hm, actually now, after remerging kbd with portage-2.2_rc36 portage is rendered useless, it triggers UnicodeDecodeError exception right in the beginning of any merge.

root ~ # emerge -1a portage

These are the packages that would be merged, in order:

Calculating dependencies  Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1397, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/actions.py", line 307, in action_build
    settings, trees, myopts, myparams, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 4967, in backtrack_depgraph
    myopts, spinner)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 87, in __init__
    pkg_cache=self._pkg_cache)
  File "/usr/lib/portage/pym/_emerge/FakeVartree.py", line 81, in __init__
    real_dbapi.flush_cache()
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1045, in flush_cache
    self._owners.populate() # index any unindexed contents
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1449, in populate
    self._populate()
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1475, in _populate
    owners_cache.add(cpv)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1403, in add
    self._add_path(x[root_len:], pkg_hash)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1416, in _add_path
    name_hash = self._hash_str(name)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1428, in _hash_str
    h.update(s)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
Comment 18 Pavel Procopiuc 2009-08-20 08:10:58 UTC
If I add

print '!!!', s

right before

h.update(s) in /usr/lib/portage/pym/portage/dbapi/vartree.py

then this is shown in the log:

root ~ # emerge -1a portage

These are the packages that would be merged, in order:

Calculating dependencies   !!! Simple
!!! 5.8.8                            
!!! README.bz2                       
!!! XML                              
!!! Changes.bz2                      
!!! usr                              
!!! Simple.pm                        
!!! vendor_perl                      
!!! lib                              
!!! perl5                            
!!! share                            
!!! FAQ.pod                          
!!! doc                              
!!! XML-Simple-2.18                  
!!! pam.d                            
!!! etc                              
!!! kde-np                           
!!! kde                              
!!! 8859-4.a0-ff.14.gz               
!!! as400.kbd                        
!!! kbd_mode                         
!!! lat1-10.psfu.gz                  
!!! backspace.map.gz                 
!!! cp1252.txt                       
!!! fi-latin9.map.gz                 
!!! sunt5-cz-us.map.gz               
!!! cp857.14.gz                      
!!! fr-latin1.map.gz                 
!!! lat1.uni                         
!!! de_CH-latin1.map.gz              
!!! resizecons.8.bz2                 
!!! lat4a-19.psfu.gz                 
!!! setfont.8.bz2                    
!!! 8859-1.a0-ff.uni                 
!!! kbd.FAQ-4.html                   
!!! kbd.FAQ-7.html                   
!!! qwerty                           
!!! share                            
!!! qwertz                           
!!! cp437_to_uni.trans               
!!! ctrl.map.gz                      
!!! psfxtable                        
!!! es                               
!!! include                          
!!! gr737a-8x8.psfu.gz               
!!! README.Ethiopic                  
!!! sunt5-fi-latin1.map.gz           
!!! README.psfu                      
!!! koi8-r_to_uni.trans              
!!! mac-de-latin1-nodeadkeys.map.gz  
!!! mac-de-latin1.map.gz             
!!! iso04.uni                        
!!! cp874_to_uni.trans               
!!! 8859-8_to_uni.trans              
!!! kbd.FAQ-18.html                  
!!! dvorak.txt                       
!!! lat9-08.psf.gz                   
!!! README.cybercafe                 
!!! pl2.map.gz                       
!!! kbd.FAQ-21.html                  
!!! kbd.FAQ-14.html                  
!!! il.map.gz                        
!!! bin                              
!!! lat1-16.psfu.gz                  
!!! bin                              
!!! cp1250.psfu.gz                   
!!! viscii10-8x16.psfu.gz            
!!! lat9u-08.psfu.gz                 
!!! CREDITS.bz2                      
!!! 8859-2.a0-ff.14.gz               
!!! sk-prog-qwerty.map.gz            
!!! croat.map.gz                     
!!! 8859-3_to_uni.trans              
!!! mac-dvorak.map.gz                
!!! 8859-6_to_uni.trans              
!!! iso04.08.gz                      
!!! 8859-6.a0-ff.uni                 
!!! by.map.gz                        
!!! chvt.1.bz2                       
!!! emacs.map.gz                     
!!! cp850a.uni                       
!!! koi8r-8x16.gz                    
!!! iso08.14.gz                      
!!! fr_CH-latin1.map.gz              
!!! lat2-08.psfu.gz                  
!!! kbd.FAQ-20.html                  
!!! ru-yawerty.map.gz                
!!! linux-with-modeshift-altgr.inc   
!!! 8859-4.a0-ff.uni                 
!!! iso01.08.gz                      
!!! Cyr_a8x16.psfu.gz                
!!! azerty                           
!!! sk-qwertz.map.gz                 
!!! keymaps.5.bz2                    
!!! 8859-2.a0-ff.16.gz               
!!! cp437.uni                        
!!! cp437.00-1f.08.gz                
!!! koi8r-8x8.gz                     
!!! kbd.FAQ.sgml                     
!!! cp850-8x16.psfu.gz               
!!! ru.map.gz                        
!!! iso8859-8.txt                    
!!! tcvn.uni                         
!!! i386                             
!!! mac-template.map.gz              
!!! ANSI-dvorak.map.gz               
!!! kbd.mo                           
!!! partialfonts                     
!!! bg_bds-utf8.map.gz               
!!! linux-keys-extd.inc              
!!! README                           
!!! Agafari-14.psfu.gz               
!!! mac-se.map.gz                    
!!! 8859-4.a0-ff.08.gz               
!!! kbd.FAQ-19.html                  
!!! euro1.map.gz                     
!!! html                             
!!! fgconsole                        
!!! Goha-14.psfu.gz                  
!!! ECMA144.uni                      
!!! lat9v-08.psfu.gz                 
!!! LatArCyrHeb-19.psfu.gz           
!!! cp850.uni                        
!!! 165.cp.gz                        
!!! iso01-12x22.psfu.gz              
!!! loadunimap                       
!!! iso8859-3.txt                    
!!! none.00-17.08.gz                 
!!! ERRORS                           
!!! keysyms.h.info                   
!!! iso8859-4.txt                    
!!! ua-utf-ws.map.gz                 
!!! lat9u-16.psfu.gz                 
!!! LC_MESSAGES                      
!!! 8859-10.a0-ff.14.gz              
!!! ascii.20-7f.08.gz                
!!! empty.uni                        
!!! ro_win.map.gz                    
!!! none.00-17.16.gz                 
!!! euro1.inc                        
!!! nl2.map.gz                       
!!! kbd.FAQ-8.html                   
!!! lt.l4.map.gz                     
!!! qwerty-layout.inc                
!!! kbd_mode.1.bz2                   
!!! tr_q-latin5.map.gz               
!!! 8859-1.a0-ff.08.gz               
!!! koi8u.uni                        
!!! fgGIod                           
!!! 8859-13_to_uni.trans             
!!! pl3.map.gz                       
!!! cp855_to_uni.trans               
!!! nl                               
!!! sunt5-ru.map.gz                  
!!! drdos8x6.psfu.gz                 
!!! kbd.FAQ-11.html                  
!!! cp737b.uni                       
!!! iso06.uni                        
!!! dvorak-r.map.gz                  
!!! xfix-286mode2                    
!!! lat0-10.psfu.gz                  
!!! n474.doc                         
!!! GohaClassic-14.psfu.gz           
!!! no-latin1.map.gz                 
!!! greek-polytonic.psfu.gz          
!!! it2.map.gz                       
!!! iso02-12x22.psfu.gz              
!!! iso8859.info                     
!!! LC_MESSAGES                      
!!! 8859-2.a0-ff.08.gz               
!!! LC_MESSAGES                      
!!! cp865.uni                        
!!! ascii.20-7f.14.gz                
!!! 8859-2.a0-ff.uni                 
!!! Cyr_a8x14.psfu.gz                
!!! cz-lat2.map.gz                   
!!! mac                              
!!! setmetamode                      
!!! ru-ms.map.gz                     
!!! iso09.16.gz                      
!!! 8859-2_to_uni.trans              
!!! ru_win.map.gz                    
!!! applkey.map.gz                   
!!! openvt                           
!!! README.lat9                      
!!! utflist                          
!!! sk-qwerty.map.gz                 
!!! iso08.uni                        
!!! lat9w-16.psfu.gz                 
!!! kbd.FAQ.html                     
!!! sun                              
!!! 8859-9.a0-ff.uni                 
!!! ruscii_8x8.psfu.gz               
!!! lat4-16.psfu.gz                  
!!! iso8859-13.txt                   
!!! lat4a-14.psfu.gz                 
!!! arm8.fnt.gz                      
!!! iso03.16.gz                      
!!! gr737c-8x8.psfu.gz               
!!! iso02.uni                        
!!! wangbe2.map.gz                   
!!! lat2-12.psfu.gz                  
!!! cyr-sun16.psfu.gz                
!!! da                               
!!! ethiopic.uni                     
!!! de                               
!!! fr.map.gz                        
!!! lat4-14.psfu.gz                  
!!! cp863_to_uni.trans               
!!! unicode_start.1.bz2              
!!! README.Crosser                   
!!! koi8c-8x16.gz                    
!!! LC_MESSAGES                      
!!! koi8u_8x14.psfu.gz               
!!! altc-8x16.gz                     
!!! us.map.gz                        
!!! dumpkeys.1.bz2                   
!!! cp866.uni                        
!!! lat9v-12.psfu.gz                 
!!! t.fnt.gz                         
!!! mac-dk-latin1.map.gz             
!!! lat0-16.psfu.gz                  
!!! cz-cp1250.map.gz                 
!!! fr-latin9.map.gz                 
!!! mac-qwertz-layout.inc            
!!! lat4.uni                         
!!! cp865_to_uni.trans               
!!! trf.map.gz                       
!!! LatArCyrHeb-08.psfu.gz           
!!! kbdrate.8.bz2                    
!!! GohaClassic-12.psfu.gz           
!!! ro                               
!!! psfaddtable                      
!!! Goha-16.psfu.gz                  
!!! ppc                              
!!! wangbe.map.gz                    
!!! lat4u.uni                        
!!! ascii.20-7f.uni                  
!!! cp437.00-1f.16.gz                
!!! azerty.map.gz                    
!!! cp1250.uni                       
!!! koi8r-8x14.gz                    
!!! ru                               
!!! lat2-14.psfu.gz                  
!!! be-latin1.map.gz                 
!!! font-formats-4.html              
!!! font-formats.html                
!!! 8859-5.a0-ff.uni                 
!!! mk-utf.map.gz                    
!!! fr_CH.map.gz                     
!!! cp857.08.gz                      
!!! iso03.08.gz                      
!!! lat2-16.psfu.gz                  
!!! mac-de_CH.map.gz                 
!!! README.Greek                     
!!! iso01.uni                        
!!! trq.map.gz                       
!!! kbd.FAQ-10.html                  
!!! keymaps                          
!!! kbd.FAQ-16.html                  
!!! usr                              
!!! cp869_to_uni.trans               
!!! hu.map.gz                        
!!! alt-8x14.gz                      
!!! se-fi-lat6.map.gz                
!!! font-formats-1.html              
!!! 8859-7.a0-ff.16.gz               
!!! dvorak-l.xmodmap                 
!!! scancodes                        
!!! README.cp1250                    
!!! cp437.00-1f.14.gz                
!!! doc                              
!!! iso10.14.gz                      
!!! psfstriptable.1.bz2              
!!! ♪♬                               
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1397, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/actions.py", line 307, in action_build
    settings, trees, myopts, myparams, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 4967, in backtrack_depgraph
    myopts, spinner)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 87, in __init__
    pkg_cache=self._pkg_cache)
  File "/usr/lib/portage/pym/_emerge/FakeVartree.py", line 81, in __init__
    real_dbapi.flush_cache()
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1045, in flush_cache
    self._owners.populate() # index any unindexed contents
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1450, in populate
    self._populate()
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1476, in _populate
    owners_cache.add(cpv)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1403, in add
    self._add_path(x[root_len:], pkg_hash)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1416, in _add_path
    name_hash = self._hash_str(name)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 1429, in _hash_str
    h.update(s)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
Comment 19 Pavel Procopiuc 2009-08-20 08:13:35 UTC
After some try/except magic I see that this is fixed in rc38, so please disregard.
Comment 20 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-08-20 16:33:32 UTC
*** Bug 282088 has been marked as a duplicate of this bug. ***
Comment 21 Mounir Lamouri (volkmar) (RETIRED) gentoo-dev 2009-08-21 13:02:18 UTC
*** Bug 282192 has been marked as a duplicate of this bug. ***
Comment 22 Oliver Maurhart 2009-08-21 14:33:09 UTC
I showed a fix in http://bugs.gentoo.org/show_bug.cgi?id=282192. 

Though it's ugly, why is not copied here? Simply stating "it's a duplicate" without adding the fix is ... uhm ... sorta counter-productive, isn't it?
Comment 23 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-08-21 14:36:06 UTC
(In reply to comment #22)

Using latin-1 is incorrect. Portage is being converted to use UTF-8.
Comment 24 Oliver Maurhart 2009-08-21 14:42:36 UTC
Well, the hack is NOT about "latin-1", "utf-8", "utf-16" "ISO8859-1" or something like that. It's about *forcing* portage using some unicode standard besides ascii to overcome emerge crashing.

Sure, it's not a solution but a valid workaround, I guess. Stating "it's not utf-8" sounds pretty picky.
Comment 25 Zac Medico gentoo-dev 2009-08-21 23:13:00 UTC
This is fixed in 2.2_rc39.
Comment 26 Justus Ranvier 2009-08-23 16:32:47 UTC
(In reply to comment #25)
> This is fixed in 2.2_rc39.
> 

I still get errors even with 2.2_rc39:

 * Always study the list of packages to be cleaned for any obvious
 * mistakes. Packages that are part of the world set will always
 * be kept.  They can be manually added to this set with
 * `emerge --noreplace <atom>`.  Packages that are listed in
 * package.provided (see portage(5)) will be removed by
 * depclean, even if they are part of the world set.
 *
 * As a safety measure, depclean will not remove any packages
 * unless *all* required dependencies have been resolved.  As a
 * consequence, it is often necessary to run `emerge --update
 * --newuse --deep @system @world` prior to depclean.

Calculating dependencies... done!
>>> Checking for lib consumers...
>>> Assigning files to packages...
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1349, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 2305, in action_uninstall
    opts, action, valid_atoms, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 590, in action_depclean
    myopts, action, args_set, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 968, in calc_depclean
    file_owners = real_vardb._owners.getFileOwnerMap(search_files)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1555, in getFileOwnerMap
    owners = self.get_owners(path_iter)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1546, in get_owners
    for owner, f in self.iter_owners(path_iter):
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 1626, in iter_owners
    if dblink(cpv).isowner(path, root):
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2595, in isowner
    return bool(self._match_contents(filename, destroot))
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2626, in _match_contents
    os.path.basename(x) for x in pkgfiles)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2626, in <genexpr>
    os.path.basename(x) for x in pkgfiles)
  File "/usr/lib64/portage/pym/portage/__init__.py", line 172, in __call__
    for x in args]
  File "/usr/lib64/portage/pym/portage/__init__.py", line 138, in _unicode_encode
    s = s.encode(encoding, errors)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 36-37: ordinal not in range(128)
Comment 27 Zac Medico gentoo-dev 2009-08-24 01:37:16 UTC
(In reply to comment #26)
This should be fixed in the latest patch on bug #282306.