Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 141296 - emerge should retry in case of "206 Partial Content"
Summary: emerge should retry in case of "206 Partial Content"
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 377365
  Show dependency tree
 
Reported: 2006-07-21 08:34 UTC by Rabbe Fogelholm
Modified: 2013-02-15 20:37 UTC (History)
1 user (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 Rabbe Fogelholm 2006-07-21 08:34:41 UTC
I just had an occasional failure with an `emerge --world' command;
thought I'd mention it here as a possible issue for future
improvement.

Apparently what happened is that a downloaded tar.gz file turned out
corrupt, causing the `emerge --world' to come to an early halt (it was
supposed to update dozens of packages).

I was able to get further by simply removing the corrupt distfile and
re-typing the emerge command. So, my suggestion is that maybe emerge
should have some kind of limited "retry" functionality for this
particular kind of download problem, even though it is probably quite
infrequent. The console printout mentions an HTTP response code "206
Partial Content" which I cannot remember having seen ever before.

My version of portage is 2.1.1_pre3-r1. Below is the console printout
and my system info.

>>> Emerging (22 of 128) media-libs/svgalib-1.9.25 to /
>>> Downloading http://distfiles.gentoo.org/distfiles/svgalib-1.9.25.tar.gz
--16:42:02--  http://distfiles.gentoo.org/distfiles/svgalib-1.9.25.tar.gz
           => `/usr/portage/distfiles/svgalib-1.9.25.tar.gz'
Resolving distfiles.gentoo.org... 208.67.219.40
Connecting to distfiles.gentoo.org|208.67.219.40|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

    [ <=>                                                                                ] 336           --.--K/s             

16:42:40 (6.82 MB/s) - `/usr/portage/distfiles/svgalib-1.9.25.tar.gz' saved [336]

>>> Resuming download...
>>> Downloading http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/svgalib-1.9.25.tar.gz
--16:42:41--  http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/svgalib-1.9.25.tar.gz
           => `/usr/portage/distfiles/svgalib-1.9.25.tar.gz'
Resolving distro.ibiblio.org... 152.2.210.109
Connecting to distro.ibiblio.org|152.2.210.109|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 987,084 (964K), 986,748 (964K) remaining [application/x-gzip]

100%[===================================================================================>] 987,084      416.59K/s             

16:42:52 (415.42 KB/s) - `/usr/portage/distfiles/svgalib-1.9.25.tar.gz' saved [987084/987084]

>>> checking ebuild checksums ;-)
>>> checking auxfile checksums ;-)
>>> checking miscfile checksums ;-)
>>> checking svgalib-1.9.25.tar.gz
!!! Digest verification failed:
!!! /usr/portage/distfiles/svgalib-1.9.25.tar.gz
!!! Reason: Failed on MD5 verification
!!! Got: 625455ac105aea4317540db76ceafc01
!!! Expected: 4dda7e779e550b7404cfe118f1d74222


Gentoo Base System version 1.12.1
Portage 2.1.1_pre3-r1 (default-linux/x86/2006.0, gcc-4.1.1/vanilla, glibc-2.4-r3, 2.6.17-gentoo-r1 i686)
=================================================================
System uname: 2.6.17-gentoo-r1 i686 Pentium III (Coppermine)
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-lang/python:     2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/share/X11/xkb /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/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
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'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X acpi alsa apache2 arts avi berkdb bitmap-fonts cli crypt cups dlloader doc dri eds emacs emboss encode esd examples foomaticdb fortran gd gdbm ggi gif glut gnome gpm gstreamer gtk gtk2 imlib ipv6 isdnlog java jpeg kde libg++ libwww mad mikmod mmx motif mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre pdf pdflib perl plotutils png pppd python qt qt3 qt4 quicktime readline real reflection sdl session source spell spl ssl svga tcltk tcpd truetype truetype-fonts type1-fonts udev vorbis win32codecs xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_i810 video_cards_vesa video_cards_fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Chris Pritchard 2006-07-24 09:24:52 UTC
I suggest something like this (i don't do python programming, so i sortof put this together quickly:
if package fails manifest & DO_NOT_REDOWNLOAD_PKGNAME=false
 do
 <command to remove distfile>
 <command to redownload>
 set DO_NOT_REDOWNLOAD_PKGNAME=true
fi
basically if the package fails the manifest check, it redownloads it and sets a variavble to not redownload that package again
Comment 2 Zac Medico gentoo-dev 2013-02-15 20:37:54 UTC
I think the problem that you describe is solved by the PORTAGE_FETCH_RESUME_MIN_SIZE variable:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=e2983690e7a22d69cb1507b55050438a6ec3d924