Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 41077 - emerge -up system/world fails with EOFError
Summary: emerge -up system/world fails with EOFError
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High blocker (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-09 23:02 UTC by Andy Koch
Modified: 2004-02-11 13:50 UTC (History)
1 user (show)

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


Attachments
quick & dirty world file creator - searches for all installed ebulds and prints them out (world_creator,590 bytes, text/plain)
2004-02-10 22:00 UTC, Andy Koch
Details
quick & dirty world file creator - searches for all installed ebulds and prints them out (world_creator,592 bytes, text/plain)
2004-02-10 22:24 UTC, Andy Koch
Details
world_cleaner (world_cleaner,3.03 KB, text/plain)
2004-02-11 13:45 UTC, Sveinung Kvilhaugsvik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Koch 2004-02-09 23:02:04 UTC
emerge system or emerge world fail with error listed below.
emerge <package_name> appears to still work.

Reproducible: Always
Steps to Reproduce:
1.emerge -up system or emerge -up world
2.
3.

Actual Results:  
main etc # emerge -up system

These are the packages that I would merge, in order:

Calculating system dependencies |Traceback (most recent call last):
  File "/usr/bin/emerge", line 2517, in ?
    if not mydepgraph.xcreate(myaction):
  File "/usr/bin/emerge", line 1135, in xcreate
    if not self.create(myk):
  File "/usr/bin/emerge", line 825, in create
    if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse):
  File "/usr/bin/emerge", line 962, in select_dep
    myeb=portage.portdb.xmatch("bestmatch-visible",x)
  File "/usr/lib/portage/pym/portage.py", line 4690, in xmatch
    myval=best(self.xmatch("match-visible",None,mydep,mykey))
  File "/usr/lib/portage/pym/portage.py", line 4701, in xmatch
    myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep,mykey))
  File "/usr/lib/portage/pym/portage.py", line 4687, in xmatch
    myval=self.gvisible(self.visible(self.cp_list(mykey)))
  File "/usr/lib/portage/pym/portage.py", line 4782, in gvisible
    myaux=db["/"]["porttree"].dbapi.aux_get(mycpv, ["KEYWORDS"])
  File "/usr/lib/portage/pym/portage.py", line 4535, 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 4380, in is_current
    self.setup_package(cat, pkg)
  File "/usr/lib/portage/pym/portage.py", line 4357, 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:  
list of packages to be upgraded

main root # emerge info
Portage 2.0.50-r1 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9,
2.4.23_pre8-gss-r2)
=================================================================
System uname: 2.4.23_pre8-gss-r2 i686 Celeron (Mendocino)
Gentoo Base System version 1.4.3.10
Autoconf: sys-devel/autoconf-2.58
Automake: sys-devel/automake-1.7.7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -mcpu=i686 -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O3 -mcpu=i686 -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://mirrors.tds.net/gentoo
http://gentoo.chem.wisc.edu/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo
ftp://gentoo.noved.org/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acpi apm arts avi berkdb cdr crypt cups dvd encode foomaticdb gdbm gif gpm
gtk2 imlib java jpeg libg++ libwww mad mikmod motif mpeg mysql ncurses nls
oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl
slang spell ssl svga tcpd truetype x86 xml2 xmms xv zlib"
Comment 1 Sveinung Kvilhaugsvik 2004-02-10 10:24:11 UTC
I have a simular problem. Check if youre worldfile (/mnt/hda5/var/cache/edb/world) is gone (emthy). At least so is mine.

To those helping us: is there a way to restore my worldfile?
Comment 2 Andy Koch 2004-02-10 11:16:54 UTC
Yep.  /var/cache/edb/world is a zero byte file.
Comment 3 Sveinung Kvilhaugsvik 2004-02-10 14:13:11 UTC
Are you out of diskspase?
After I deleted some files and did "emerge sync" emerge world -up works fine. 
However my worldfile is still gone...  (/var/cache/edb/eclass.pickle seems to contain the name of at lest some installed packages, but I am not sure if it is a complete list, and also dependencyes are listed her) 
Comment 4 Andy Koch 2004-02-10 21:51:02 UTC
Sure was out of disk space.  I was trying to emerge gcc when I ran out of disk space and it also failed (due to the disk space).  I guess it triggered this problem too.

Well. As you suggested, I freed up some space, ran emerge sync and now emerge -up world no longer errors, but my world file is still shot.
Comment 5 Andy Koch 2004-02-10 22:00:58 UTC
Created attachment 25377 [details]
quick & dirty world file creator - searches for all installed ebulds and prints them out

I did some digging around and found this tool called gencheck,
http://www.kolbu.com/source_code.php and code
http://www.kolbu.com/gentoo/gencheck and made a few modifications so it can
build a new world file.
Comment 6 Andy Koch 2004-02-10 22:06:19 UTC
You will need to direct the output of that script into your world file.
#world_creator > /var/cache/edb/world

And with that, I think we are good to go.
Comment 7 Andy Koch 2004-02-10 22:24:01 UTC
Created attachment 25379 [details]
quick & dirty world file creator - searches for all installed ebulds and prints them out

corrected a flaw - need to add a newline to the end of each entry.
Comment 8 Sveinung Kvilhaugsvik 2004-02-11 13:45:35 UTC
Created attachment 25430 [details]
world_cleaner

Thankyou, the script works fine! (of corse, it is Perl :) )

I also got the problem from emerging gcc, so oure problems were quite
identical.

Youre script inspired me to do some coding myself, so I have now created a
script to clean up the worldfile a little bit more efficient. I uploaded it
here in case you are intrested...
Comment 9 Sveinung Kvilhaugsvik 2004-02-11 13:50:24 UTC
PS! The script only has 'world' (this dir) as the worldfile. You should change it to the path to the worldfile you wishes to edit...