clone 563724 -1 clone 563724 -2 reassign -1 tar severity -1 important retitle -1 tar: call futimens() with a bad file descriptor reassign -2 coreutils severity -2 important retitle -2 touch: call futimens() with a bad file descriptor (AT_FDCWD) retitle 563724 futimens() is not POSIX compliant block 563724 by -1 block 563724 by -2 thanks
On Mon, Jan 04, 2010 at 10:09:16PM +0100, Bill Allombert wrote: > Package: libc6 > Version: 2.10.2-3 > > Hello Debian libc maintainers, > > I run a sid chroot on top of etch, using the etch kernel linux 2.6.18-6-686, > and dpkg started to fail with > tar: ./preinst: Cannot utime: Bad file descriptor > > touch also fails: > > %mkdir /tmp/bar > %touch /tmp/bar > touch: setting times of `/tmp/bar': Bad file descriptor > strace report: > utimensat(AT_FDCWD, "/tmp/bar", NULL, 0) = -1 ENOSYS (Function not > implemented) > > It seems that the issue is that the etch kernel does not implement > utimensat. The problem is actually different. The utimensat is called by tar or touch, which when it does not exists fallback to futimens(). This part hasn't changed. futimens() in glibc is now POSIX 2008 compliant, and return -EBADF when a bad file descriptor is passed. This is actually what tar and touch do when it calls futimens(AT_FDCWD, ...). I will temporarily revert this patch, and I am cloning this bug to tar and touch so that they are fixed. I'll reapply it when they are fixed. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org