Here is a strace output before the emerge blocks: stat64("/usr/portage", {st_mode=S_IFDIR|0755, st_size=4712, ...}) = 0 mkdir("/usr/portage/distfiles/", 0777) = -1 EEXIST (File exists) stat64("/usr/portage/distfiles/", {st_mode=S_IFDIR|S_ISGID|0775, st_size=72376, ...}) = 0 stat64("/usr/portage/distfiles", {st_mode=S_IFDIR|S_ISGID|0775, st_size=72376, ...}) = 0 mkdir("/usr/portage/distfiles/.locks", 0777) = -1 EEXIST (File exists) stat64("/usr/portage/distfiles/.locks", {st_mode=S_IFDIR|S_ISGID|0775, st_size=104, ...}) = 0 access("/usr/portage/distfiles", W_OK) = 0 access("/usr/portage/distfiles/.locks", W_OK) = 0 futex(0x804a5d8, FUTEX_WAKE, 1) = 0 stat64("/usr/portage/distfiles/.locks", {st_mode=S_IFDIR|S_ISGID|0775, st_size=104, ...}) = 0 stat64("/usr/portage/distfiles/.locks/.busybox-1.5.0.tar.bz2.portage_lockfile", {st_mode=S_IFREG|0660, st_size=0, ...}) = 0 open("/usr/portage/distfiles/.locks/.busybox-1.5.0.tar.bz2.portage_lockfile", O_RDWR|O_CREAT|O_LARGEFILE, 0660) = 3 fcntl64(3, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0} This happens from time to time and I cannot debug it further... It happens in at least 2 different environments (2 nfs servers, several clients each). Any tips on what to check, how to debug are welcome. Reproducible: Sometimes Steps to Reproduce: 1. emerge -Datuvk --newuse world Actual Results: Would you like to merge these packages? [Yes/No] >>> starting parallel fetching >>> Emerging (1 of 27) sys-apps/busybox-1.5.0 to / At the same time nfs mounted /usr/portage/distfiles is accessible (i.e. ls works) from the same and different machine. Restarting the machine usually helps. Remounting the nfs fs does NOT usually help. I was running nfs-utils-1.0.10 on vanilla 2.6.20.1 at this exact occurrence, now upgrading nfs-utils.
Does running /usr/lib/portage/bin/clean_locks fix this? Have you tried w/ FEATURES="-distlocks"? Also please post emerge --info output.