Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 166324

Summary: emerge --resume gives traceback if the ebuild it's trying to emerge has a bad digest.
Product: Portage Development Reporter: Petteri Räty (RETIRED) <betelgeuse>
Component: Core - DependenciesAssignee: Portage team <dev-portage>
Severity: normal Keywords: InVCS
Priority: High    
Version: 2.2   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 181949    

Description Petteri Räty (RETIRED) gentoo-dev 2007-02-11 12:09:34 UTC
pena jmeter # emerge --resume
Calculating dependencies |!!! Digest verification failed:
!!! /usr/portage/app-benchmarks/jmeter/jmeter-2.2.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 2098
!!! Expected: 1838
 |!!! Digest verification failed:
!!! /mnt/checkouts/java/migrated-java-experimental-overlay/dev-java/jaxen/jaxen-1.1.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 1203
!!! Expected: 1201
... done!
*** Resuming merge...
>>> starting parallel fetching

>>> Emerging (1 of 255) dev-java/burlap-2.1.12-r1 to /
!!! Digest verification failed:
!!! /usr/portage/dev-java/burlap/burlap-2.1.12-r1.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 1080
!!! Expected: 1069
Traceback (most recent call last):
  File "/usr/bin/emerge", line 5299, in <module>
    retval = emerge_main()
  File "/usr/bin/emerge", line 5294, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/bin/emerge", line 4724, in action_build
    mtimedb["resume"]["mergelist"], favorites, mtimedb)
  File "/usr/bin/emerge", line 2925, in merge
    pkgsettings, self.edebug, 1, portdb)
  File "/usr/lib/portage/pym/", line 2946, in doebuild_environment
    mysettings.setcpv(mycpv, use_cache=use_cache, mydb=mydbapi)
  File "/usr/lib/portage/pym/", line 1662, in setcpv
    for x in mydb.aux_get(mycpv, ["IUSE"])[0].split() \
  File "/usr/lib/portage/pym/", line 5838, in aux_get
    raise KeyError(mycpv)
KeyError: 'dev-java/burlap-2.1.12-r1'
pena jmeter #

Between the failure and emerge --resume I added java-ant-2 to inherit of burlap-2.1.12-r1 so the digest went bad. Users are not likely to this so feel free to close this as WONTFIX if you want.

Portage 2.1.2-r9 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gentoo-r5 i686)
System uname: 2.6.19-gentoo-r5 i686 Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
Gentoo Base System version 1.13.0_alpha12
Timestamp of tree: Unknown
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-java/java-config: 1.3.7, 2.0.31-r3
dev-lang/python:     2.4.4, 2.5-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.20
CFLAGS="-O2 -march=nocona -pipe -fomit-frame-pointer"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=nocona -pipe -fomit-frame-pointer"
FEATURES="autoaddcvs autoconfig ccache collision-protect cvs distlocks fixpackages java-strict parallel-fetch sandbox sfperms sign strict userpriv usersandbox verify-rdepend"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTDIR_OVERLAY="/mnt/checkouts/overlays/betelgeuse /mnt/checkouts/overlays/migrated-java"
USE="a52 aac acl acpi alsa apache2 audiofile bash-completion berkdb bitmap-fonts bluetooth bzip2 cairo cdb cddb cdparanoia cdr cli cracklib crypt cups dbus dlloader dri dts dvd dvdr dvdread emboss esd fam ffmpeg firefox gif gstreamer hal iconv isdnlog java jpeg kde kdeenablefinal kdehiddenvisibility libg++ logitech-mouse mad mikmod mjpeg mmx mp3 mpeg ncurses network nptl nptlonly nsplugin nvidia offensive ogg opengl pam pcre png ppds pppd qt3 quicktime readline real reflection rtc samba session spell spl sse sse2 ssl startup-notification subversion svg symlink theora threads truetype truetype-fonts type1-fonts udev unicode usb userlocales vim-syntax vorbis x86 xcb xcomposite xinerama xml xorg xv xvid xvmc 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="mouse keyboard evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fi" USERLAND="GNU" VIDEO_CARDS="none nvidia"
Comment 1 Zac Medico gentoo-dev 2007-02-11 22:08:25 UTC
Currently, we use a KeyError as a catch-all for any error that occurs when attempting to access the metadata of an ebuild.  We really need to use more specialized exceptions where appropriate.  In this case, a DigestException should be raised when the digest verification fails.
Comment 2 Zac Medico gentoo-dev 2007-07-08 18:06:29 UTC
It's fixed to bail out earlier in svn r7188.
Comment 3 Zac Medico gentoo-dev 2007-07-08 21:37:43 UTC
This has been released in 2.1.3_rc7.