Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 103564 - emerge --resume dies if the tree has changed in between
Summary: emerge --resume dies if the tree has changed in between
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
: 115737 (view as bug list)
Depends on:
Blocks: 115839
  Show dependency tree
 
Reported: 2005-08-24 01:58 UTC by Brian Kreulen
Modified: 2005-12-25 00:09 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Kreulen 2005-08-24 01:58:25 UTC
I recently changed my cflags settings and wanted to do a emerge -e world. I set
it in motion in a screen session. When I came back later to check its progress,
the screen no longer existed. After starting another screen session, and typing
'emerge -a --resume', emerge crashed with the following output:

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

!!! aux_get(): ebuild path for 'media-libs/smpeg-0.4.4-r5' not specified:
!!!            None
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3140, in ?
    mydepgraph.display(portage.mtimedb["resume"]["mergelist"])
  File "/usr/bin/emerge", line 1516, in display
    if (x[0]!="binary") and ("fetch" in
string.split(portage.portdb.aux_get(x[2],["RESTRICT"])[0])):
  File "/usr/lib/portage/pym/portage.py", line 5221, in aux_get
    raise KeyError, "'%(cpv)s' at %(path)s" % {"cpv":mycpv,"path":myebuild}
KeyError: "'media-libs/smpeg-0.4.4-r5' at None"

If I remove the '-a' in the emerge command, the error is different:

*** Resuming merge...
>>> emerge (1 of 480) media-libs/smpeg-0.4.4-r5 to /
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3189, in ?
    mydepgraph.merge(portage.mtimedb["resume"]["mergelist"])
  File "/usr/bin/emerge", line 1903, in merge
    emergelog(" === ("+str(mergecount)+" of "+str(len(mymergelist))+") Cleaning
("+x[pkgindex]+"::"+y+")", short_msg=short_msg)
TypeError: cannot concatenate 'str' and 'NoneType' objects

For the package media-libs/smpeg, I have version 0.4.4-r5 installed, which
doesn't exist in portage anymore; the latest version is r6.

I created a dummy r5 ebuild, which portage seemed to accept, but then it gave
the same complaints about wine and crashed. I have not made anymore tests.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130,
glibc-2.3.5-r1, 2.6.11-gentoo-r11 i686)
=================================================================
System uname: 2.6.11-gentoo-r11 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.6.13
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/
http://linuv.uv.es/mirror/gentoo/"
LINGUAS="fr"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X alsa apache2 apm arts avi berkdb bitmap-fonts cdparanoia cdr crypt
cups curl dvd dvdr eds emboss encode esd fam flac foomaticdbfortran gd gdbm gif
gphoto2 gpm gstreamer gtk2 hal imagemagick imlib ipv6 java jpeg kde libg++
libwww mad mikmod motif mp3 mpeg mysql ncurses nls nvidia ogg oggvorbis opengl
oss pam pda pdflib perl php pic png python qt quicktime readline samba sdl slang
spell sqlite ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts usb
xine xml2 xmms xv zlib linguas_fr userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-08-24 02:35:27 UTC
Hmm, IIRC this was supposed to be fixed in 2.0.51.22.
Comment 2 Jason Stubbs (RETIRED) gentoo-dev 2005-10-06 06:00:08 UTC
Need to know how to reproduce it to know how to fix it.. Can't see anything 
here other than two unrelated tracebacks. 
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2005-12-16 01:57:41 UTC
*** Bug 115737 has been marked as a duplicate of this bug. ***
Comment 4 Brian Kreulen 2005-12-17 02:20:04 UTC
To reproduce, install a package. The version of the package must be the oldest one available in the portage tree (not sure about this, just guessing). Then manually remove the ebuild from the portage tree.

Then do an emerge -e world (I don't know if just emerging the packing will reproduce the error. I suppose it's worth a try to save time). It should crash when it gets to the ebuild-less package (I don't know what will happen, because the screen session I was in went away, thus I didn't get to see the error).

After doing an emerge --resume, you should see the error I've shown above.
Comment 5 Jason Stubbs (RETIRED) gentoo-dev 2005-12-17 02:31:12 UTC
Do you have a cron'ed `emerge --sync' by chance?
Comment 6 Jason Stubbs (RETIRED) gentoo-dev 2005-12-17 02:32:58 UTC
Reproduced. emerge package; ctrl-c; rm ebuild; emerge --resume.
Comment 7 Brian Kreulen 2005-12-18 15:03:49 UTC
It sounds like you've found what you need, but to answer your question, yes, I have a cron'd emerge sync. It's esync -s, to be exact.
Comment 8 Jason Stubbs (RETIRED) gentoo-dev 2005-12-25 00:09:16 UTC
Released in 2.1_pre2.