Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 124140 - (Locking) OSError: [Errno 9] Bad file descriptor when trying to get a lock - NFS problems?
Summary: (Locking) OSError: [Errno 9] Bad file descriptor when trying to get a lock - ...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
: 124183 (view as bug list)
Depends on:
Blocks: 115839
  Show dependency tree
 
Reported: 2006-02-26 02:38 UTC by Alexander Skwar
Modified: 2006-02-26 13:16 UTC (History)
2 users (show)

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


Attachments
patch that fixes the bad file descriptor error (bad_file_descriptor.patch,527 bytes, patch)
2006-02-26 03:34 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Skwar 2006-02-26 02:38:30 UTC
A few moments ago, I upgrade portage to sys-apps/portage-2.1_pre5 and since then, I cannot install anything anymore. When I try to emerge something, I always get errormessages like this:

>>> Emerging (1 of 1) sys-apps/man-pages-2.24 to /
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3304, in ?
    mydepgraph.merge(pkglist)
  File "/usr/bin/emerge", line 1978, in merge
    retval=portage.doebuild(y,"package",myroot,self.pkgsettings,edebug,tree="porttree")
  File "/usr/lib/portage/pym/portage.py", line 2823, in doebuild
    if need_distfiles and not fetch(fetchme, mysettings, listonly=listonly, fetchonly=fetchonly):
  File "/usr/lib/portage/pym/portage.py", line 1880, in fetch
    file_lock = portage_locks.lockfile(mysettings["DISTDIR"]+"/"+locks_in_subdir+"/"+myfile,wantnewlockfile=1)
  File "/usr/lib/portage/pym/portage_locks.py", line 125, in lockfile
    if type(lockfilename) == types.StringType and os.fstat(myfd).st_nlink != 1:
OSError: [Errno 9] Bad file descriptor

Is this because the distfiles directory and thus the .locks directory reside on a NFS share?


alexander@blatt ~ $ emerge --info
Portage 2.1_pre5 (default-linux/x86/2005.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.15-suspend2-r6.042.kernel-alsa i686)
=================================================================
System uname: 2.6.15-suspend2-r6.042.kernel-alsa i686 Intel(R) Celeron(R) M processor         1.50GHz
Gentoo Base System version 1.12.0_pre16
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.3.4-r1, 2.4.2-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mtune=pentium-m -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mtune=pentium-m -pipe -fomit-frame-pointer"
DISTDIR="/Gentoo/Portage/distfiles"
FEATURES="autoconfig buildpkg ccache collision-protect distlocks sandbox sfperms strict"
GENTOO_MIRRORS="        http://server.bei.digitalprojects.com/gentoo/   http://stuff.alexander.skwar.name/gentoo/   http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/   http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/        ftp://ftp.tu-clausthal.de/pub/linux/gentoo/     http://distro.ibiblio.org/pub/linux/distributions/gentoo/   ftp://distro.ibiblio.org/pub/linux/distributions/gentoo    http://distfiles.gentoo.org/ "
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="de"
PKGDIR="/Gentoo/Portage/packages"
PORTAGE_TMPDIR="/Gentoo/Portage/build"
PORTDIR="/Gentoo/Portage/tree"
PORTDIR_OVERLAY="/Gentoo/Portage/local-tree/misc /Gentoo/Portage/local-tree/overlays/gentoo-de"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="x86 GAPING_SECURITY_HOLE X acpi alsa amd apm arts artswrappersuid async avi bdf berkdb bitmap-fonts bluetooth bootsplash cairo caps cardbus ccache cdda cddb cdio cdparanoia cdr cdrom cle266 crypt css curlwrappers dbus devmap dillo divx4linux dlloader dvd dvdread emoticon esd exif fam fbcon fbdev firefox fping freetype gdbm gif gnokii gnome gstreamer gtk gtk2 hal hpn icc id3 idn imap imlib imlib2 insecure-drivers insecure-savers javascript jikes jpeg kde kdeenablefinal libedit libwww linuxthreads-tls logrotate lynxkeymap mad madwifi maildir matroska mbox mmx mmxext mozilla moznoirc mozsvg mp3 mpeg mpeg2 mpeg4 mplayer multicall ncurses netboot network new-login nfs nis nls no-old-linux no-suexec noantlr nobcel nobeanutils nobsf nobsh nocd nocommonslogging nocommonsnet nodrm nogg nogulm nojsch nojython nolog4j nomac nooro nopri norhino noxalan noxerces nozaptel nptl nsplugin offensive ogg oggvorbis opengl openssh pam_console pam_timestamp passfile password patented pccts pcmcia pcre perl perlsuid pic player png pnp qt quicktime rar readline real recode reiserfs sdl sendfile sensord sftp sms spell spf sse sse2 ssl startup-notification stream subp subtitles suid symlink sysfs syslog tiff transcode truetype truetype-fonts trusted type1-fonts underscores unichrome unicode unsafe usb utf8 uudeview vim vim-pager vlm vorbis wifi win32codecs wma123 x11vnc xinetd xml xml2 xmms xpm xscreensaver xv xvid xvmc zlib elibc_glibc kernel_linux linguas_de userland_GNU video_cards_via"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LC_ALL, MAKEOPTS
Comment 1 Jason Stubbs (RETIRED) gentoo-dev 2006-02-26 02:42:28 UTC
Likely, yes. The locking mechanism has been revised a bit due to faults found.
Set FEATURES="-distlocks" for the time being. In the future, the locking mechanism will likely be configurable.
Comment 2 Alexander Skwar 2006-02-26 02:50:23 UTC
(In reply to comment #1)
> Likely, yes. The locking mechanism has been revised a bit due to faults found.
> Set FEATURES="-distlocks" for the time being.

Okay, for right now, this works, but that's hardly a solution, as it makes it somewhat difficult to use distfiles from multiple machines.

> In the future, the locking
> mechanism will likely be configurable.

Hopefully, that's a VERY soon future... :)

> 

Comment 3 Zac Medico gentoo-dev 2006-02-26 03:34:25 UTC
Created attachment 80754 [details, diff]
patch that fixes the bad file descriptor error

Please test this patch.  If you save it as /tmp/bad_file_descriptor.patch then you can apply it as follows:

cd /usr/lib/portage
patch -p0 < /tmp/bad_file_descriptor.patch

Add distlocks back into FEATURES and it should work.
Comment 4 Alexander Skwar 2006-02-26 03:59:57 UTC
(In reply to comment #3)
> Created an attachment (id=80754) [edit]
> patch that fixes the bad file descriptor error
> 
> Please test this patch.

After applying the patch, emerge works again with FEATURES=distlocks.
Comment 5 Zac Medico gentoo-dev 2006-02-26 04:10:44 UTC
(In reply to comment #4)
> After applying the patch, emerge works again with FEATURES=distlocks.

Thanks, I'll put this fix in 2.1_pre5-r1.
Comment 6 Zac Medico gentoo-dev 2006-02-26 11:33:19 UTC
*** Bug 124183 has been marked as a duplicate of this bug. ***
Comment 7 Zac Medico gentoo-dev 2006-02-26 13:16:13 UTC
Released in 2.1_pre5-r1.