registry team mailing list archive
-
registry team
-
Mailing list archive
-
Message #12380
[Bug 539814] Re: tar: futimens() with a bad file descriptor (AT_FDCWD) causes bootstrapping failure with kernels < 2.6.22
Attached debfiff for tar-1.22 that fixes this.
** Description changed:
Binary package hint: tar
- Currently if you try to debootstrap Lucid on anything running a kernel
- older than 2.6.22, (I've specifically tried on 2.6.18) it fails with
- stuff like:
+ Bootstrapping Ubuntu Lucid with debootstrap is currently impossible with
+ any kernel < 2.6.22, due to a bug in tar - specifically it fails because
+ of a change to eglibc.
- # dpkg --force-depends --install var/cache/apt/archives/base-files_5.0.0ubuntu10_amd64.deb var/cache/apt/archives/base-passwd_3.5.22_amd64.deb
- tar: ./postinst: Cannot utime: Bad file descriptor
- tar: ./preinst: Cannot utime: Bad file descriptor
- tar: ./conffiles: Cannot utime: Bad file descriptor
- tar: ./md5sums: Cannot utime: Bad file descriptor
- tar: ./control: Cannot utime: Bad file descriptor
- tar: .: Cannot utime: Bad file descriptor
- tar: Exiting with failure status due to previous errors
- dpkg-deb: subprocess tar returned error exit status 2
- dpkg: error processing var/cache/apt/archives/base-files_5.0.0ubuntu10_amd64.deb (--install):
- subprocess dpkg-deb --control returned error exit status 2
- tar: ./postinst: Cannot utime: Bad file descriptor
- tar: ./md5sums: Cannot utime: Bad file descriptor
- tar: ./control: Cannot utime: Bad file descriptor
- tar: .: Cannot utime: Bad file descriptor
- tar: Exiting with failure status due to previous errors
- dpkg-deb: subprocess tar returned error exit status 2
- dpkg: error processing var/cache/apt/archives/base-passwd_3.5.22_amd64.deb (--install):
- subprocess dpkg-deb --control returned error exit status 2
- Errors were encountered while processing:
- var/cache/apt/archives/base-files_5.0.0ubuntu10_amd64.deb
- var/cache/apt/archives/base-passwd_3.5.22_amd64.deb
+ According to the debian bug report It seems that before eglibc 2.10.2-3,
+ calls to futimens failed silently, however due to a patch made to eglibc
+ 2.10.2-3, if futimens is called without a valid file descriptor, it now
+ fails with an "Bad File Descriptor" error, because the corresponding
+ utimensat() syscall was not added until kernel 2.6.22
- From further investigation, this appears to be due to a bug in tar.
+ Test Case:
+ 1) Boot a kernel older than 2.6.22
+ 2) Attempt to Bootstrap Ubuntu Lucid to any target.
+ The bootstrap will fail once it attempts to unpack packages with: tar: ./postinst: Cannot utime: Bad file descriptor
+
+ A patch is available (attached in launchpad) originating from the associated debian bug, that ensures that futimens is only called with a valid file descriptor.
+ A debdiff for 1.22-2 ( changing to 1.22-2ubuntu1 ) will be attached shortly.
** Patch added: "Debdiff for tar-1.22 with added tar-futimens patch from debian bug report."
https://bugs.launchpad.net/ubuntu/lucid/+source/tar/+bug/539814/+attachment/1515914/+files/tar-1.22-2ubuntu1.debdiff
--
tar: futimens() with a bad file descriptor (AT_FDCWD) causes bootstrapping failure with kernels < 2.6.22
https://bugs.launchpad.net/bugs/539814
You received this bug notification because you are a member of Registry
Administrators, which is the registrant for Debian.