Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 254421 - proper error handling when BINHOST cannot be reached
Summary: proper error handling when BINHOST cannot be reached
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 210077 254662
  Show dependency tree
 
Reported: 2009-01-10 14:34 UTC by lxg
Modified: 2009-01-12 20:17 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 lxg 2009-01-10 14:34:15 UTC
When a binhost is configured for a machine and the binhost connection is not available (e.g. because the FTP server is down), emerge dies.

Output when trying to emerge (e.g. emerge -pvuND world):

--- SNIP ---

These are the packages that would be merged, in order:

Calculating dependencies -

!!! Error fetching binhost package info from 'ftp://192.168.2.100/packages/All/'
!!! [Errno ftp error] (111, 'Connection refused')


Fetching bininfo from ftp://192.168.2.100/packages/All/
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = _emerge.emerge_main()
  File "//usr/lib/portage/pym/_emerge/__init__.py", line 14387, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "//usr/lib/portage/pym/_emerge/__init__.py", line 13304, in action_build
    mydepgraph = depgraph(settings, trees, myopts, myparams, spinner)
  File "//usr/lib/portage/pym/_emerge/__init__.py", line 4420, in __init__
    "--getbinpkgonly" in self.myopts)
  File "//usr/lib/portage/pym/portage/dbapi/bintree.py", line 411, in populate
    self._populate(getbinpkgs, getbinpkgsonly)
  File "//usr/lib/portage/pym/portage/dbapi/bintree.py", line 743, in _populate
    self.settings["PORTAGE_BINHOST"], chunk_size=chunk_size)
  File "//usr/lib/portage/pym/portage/getbinpkg.py", line 472, in dir_get_metadata
    conn,protocol,address,params,headers = create_conn(baseurl, conn)
  File "//usr/lib/portage/pym/portage/getbinpkg.py", line 138, in create_conn
    conn = ftplib.FTP(host)
  File "/usr/lib/python2.5/ftplib.py", line 107, in __init__
    self.connect(host)
  File "/usr/lib/python2.5/ftplib.py", line 129, in connect
    raise socket.error, msg
socket.error: (111, 'Connection refused')

--- SNIP ---

It would be nicer if the error would be caught and a graceful shutdown would be performed.

This is however just a really minor bug, nothing bad happens.

Reproducible: Always
Comment 1 lxg 2009-01-10 14:36:41 UTC
Sorry, forgot "emerge --info":

# emerge --info
Portage 2.1.6.4 (default/linux/x86/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r1, 2.6.28-gentoo i686)
=================================================================
System uname: Linux-2.6.28-gentoo-i686-Intel-R-_Atom-TM-_CPU_N270_@_1.60GHz-with-glibc2.0
Timestamp of tree: Fri, 09 Jan 2009 15:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p48
dev-lang/python:     2.4.4-r13, 2.5.2-r8
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.2
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.1-r1
sys-apps/sandbox:    1.3.2
sys-devel/autoconf:  2.63
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages getbinpkg getbinpkgonly parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://192.168.2.100/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://mirror.nutsmaas.nl/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j2 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X acl acpi alsa bash-completition berkdb bluetooth branding bzip2 cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode evo firefox fortran gdbm gif gpm hal iconv ipv6 isdnlog jpeg laptop libnotify mad midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png pppd python qt3support qt4 quicktime readline reflection sdl session spell spl ssl startup-notification svg sysfs tcpd truetype unicode usb vorbis win32codecs x86 xml xorg xulrunner xv 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 mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="vesa vga intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 2 Zac Medico gentoo-dev 2009-01-10 19:53:33 UTC
Thanks, this is fixed in svn r12418.
Comment 3 Zac Medico gentoo-dev 2009-01-12 20:17:13 UTC
This is fixed in 2.1.6.5 and 2.2_rc21.