i recently did a emerge-websync a few days ago and went to update world and system. 'emerge -u system' crashed with the same bug but it was fixed when i did 'emerge --metadata'. after this the problem still remained for 'emerge -u world', so i tried 'emerge --regen' but no luck either. i also updated my portage tree a few days later but still nothing. Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: emerge -u world Calculating world dependencies |Traceback (most recent call last): File "/usr/bin/emerge", line 2522, in ? if not mydepgraph.xcreate(myaction): File "/usr/bin/emerge", line 1140, in xcreate if not self.create(myk): File "/usr/bin/emerge", line 828, in create if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): File "/usr/bin/emerge", line 1042, in select_dep if not self.create(myk,myparent,myuse=binpkguseflags): File "/usr/bin/emerge", line 828, in create if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): File "/usr/bin/emerge", line 1042, in select_dep if not self.create(myk,myparent,myuse=binpkguseflags): File "/usr/bin/emerge", line 828, in create if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): File "/usr/bin/emerge", line 1042, in select_dep if not self.create(myk,myparent,myuse=binpkguseflags): File "/usr/bin/emerge", line 828, in create if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): File "/usr/bin/emerge", line 1042, in select_dep if not self.create(myk,myparent,myuse=binpkguseflags): File "/usr/bin/emerge", line 828, in create if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): File "/usr/bin/emerge", line 1042, in select_dep if not self.create(myk,myparent,myuse=binpkguseflags): File "/usr/bin/emerge", line 841, in create if not self.select_dep(myroot,edepend["PDEPEND"],myuse=myuse): File "/usr/bin/emerge", line 965, in select_dep myeb=portage.portdb.xmatch("bestmatch-visible",x) File "/usr/lib/portage/pym/portage.py", line 4700, in xmatch myval=best(self.xmatch("match-visible",None,mydep,mykey)) File "/usr/lib/portage/pym/portage.py", line 4711, in xmatch myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep,mykey)) File "/usr/lib/portage/pym/portage.py", line 4697, in xmatch myval=self.gvisible(self.visible(self.cp_list(mykey))) File "/usr/lib/portage/pym/portage.py", line 4792, in gvisible myaux=db["/"]["porttree"].dbapi.aux_get(mycpv, ["KEYWORDS"]) File "/usr/lib/portage/pym/portage.py", line 4532, in aux_get if doregen or not self.eclassdb.is_current(cat,pkg,self.auxdb[cat][pkg]["INHERITED"].split()): File "/usr/lib/portage/pym/portage.py", line 4377, in is_current self.setup_package(cat, pkg) File "/usr/lib/portage/pym/portage.py", line 4354, in setup_package self.packages[cat] = self.dbmodule(self.cachedir, cat+"-eclass", [], uid, portage_gid) File "/usr/lib/portage/pym/portage_db_cpickle.py", line 23, in __init__ self.db = mypickle.load() EOFError Expected Results: emerge updated world darkstar tic # emerge info Portage 2.0.50-r10 (default-x86-1.4, gcc-3.3.4, glibc-2.3.3.20040420-r1, 2.6.7-gentoo-r11) ================================================================= System uname: 2.6.7-gentoo-r11 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium3 -fprefetch-loop-arrays -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium3 -fprefetch-loop-arrays -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://mirror.pacific.net.au/linux/Gentoo http://www.zentek-international.com/mirrors/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib alsa apm arts avi berkdb bitchx bonobo cdr crypt cups directfb dvd emerge encode esd fbcon flac foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile imlib java jpeg kde ldap libg++ libwww mad mikmod motif mozilla mpeg msn mysql ncurses nls oggvorbis opengl oss pam pdflib perl png postgres ppds python qt quicktime readline samba scanner sdl slang spell sse ssl svga tcltk tcpd tetex truetype usb x86 xml2 xmms xv zlib"
For the time being, rm /var/cache/edb/dep/*-eclass.cpickle will fix it. Or if you feel really adventurous, it would be great if you could track down which of those files is causing the problem and attach it. You can do so by: 1. Find line 4354 that matches the second last line of code in the traceback 2. Insert a line before it, indent to the same level using tabs and add "print cat" 3. Attach the eclass pickly for the last category printed before the traceback.
after adding 'print cat' to file, the last catagory printed was dev-perl, it appears that this file has nothing in it, and hence was not allowed to be attached. the file is dev-perl-eclass.cpickle. i guess this file is suppose to have something contained in it? why would it suddenly become empty? is it safe to delete?
portage-2.0.50-r11
To fix it for the time being: rm -r $(find /var/cache/edb/dep -name dev-perl)
that fix did not fix the problem. if i run 'emerge -u world' again with the 'print cat' in there the traceback still stops at dev-perl.
Bug has been fixed and released in stable portages on or before 2.0.51-r2