[Bug 539814] Re: tar: futimens() with a bad file descriptor (AT_FDCWD) causes bootstrapping failure with kernels < 2.6.22
Bug Watch Updater
539814 at bugs.launchpad.net
Fri Oct 27 07:05:50 UTC 2017
Launchpad has imported 9 comments from the remote bug at
https://bugzilla.redhat.com/show_bug.cgi?id=552320.
If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.
------------------------------------------------------------------------
On 2010-01-04T17:10:01+00:00 Michal wrote:
Description of problem:
When I create tar archive with new tar (tar-1.22-10.fc12.x86_64) old tar is not able to open this archive.
Version-Release number of selected component (if applicable):
tar-1.22-10.fc12.x86_64
How reproducible:
always
Steps to Reproduce:
1.create archive with new tar
2.try to extract it with old tar
3.
Actual results:
/bin/tar: squirrelmail-1.4.20-RC2/images/folder.png: Cannot utime: Bad file descriptor
I've got this error in koji when updating package:
http://koji.fedoraproject.org/koji/getfile?taskID=1901164&name=build.log
Expected results:
extracted archive
Additional info:
this breaks package updates where maintainer has to recreate tar archive. Also upstream tarballs where upstream uses Fedora system may produce broken tarballs which is even worse, so I consider this to be high severity.
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/0
------------------------------------------------------------------------
On 2010-01-04T17:24:39+00:00 Kamil wrote:
We figured out off-list the "old tar" from original report is
1.22-11.fc13, which is more likely a newer one :-)
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/1
------------------------------------------------------------------------
On 2010-01-04T20:53:45+00:00 Ondrej wrote:
As a sidenote - there were more such reports off-the-bugzlla - most
likely caused by recent change in the new glibc - anyway - as the glibc
maintainers are quite sure the problem is in tar, we should probably fix
it.
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/2
------------------------------------------------------------------------
On 2010-01-05T14:32:52+00:00 Ondrej wrote:
> > That looks like a bug in tar, trying to call futimens with a bad file
> > descriptor.
> > Andreas Schwab
> Probably, possibly exposed by this recent change in glibc-2.11.90-5:
> - Handle AT_FDCWD in futimens (BZ#10992).
> Tomas Bzatek
Adding relevant part of the off-the-bugzilla conversation.
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/3
------------------------------------------------------------------------
On 2010-01-05T15:25:18+00:00 Ondrej wrote:
Here is duplicate report in debian (they have same problems with eglibc
updated to POSIX2008) - patch fixing the issue is available there -
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=563726 - However - I
tend to use latest gnulib lib/utimens.c - though - as they are other
utimens/utimensat call related fixes.
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/4
------------------------------------------------------------------------
On 2010-01-05T19:29:13+00:00 Ondrej wrote:
Ah - even the latest gnulib doesn't handle this new recent change - so
touch from coreutils might be affected as well as mentioned in debian
bugzilla from comment #4. Therefore adding coreutils/gnulib upstream
maintainer into CC.
Jim, what do you think? Is the patch from http://bugs.debian.org/cgi-
bin/bugreport.cgi?bug=563726#66 good way to go and should be applied to
gnulib/coreutils-8.3 to prevent touch (or better said futimens() with
AT_FDCWD file descriptor) failures after glibc update?
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/5
------------------------------------------------------------------------
On 2010-01-05T21:27:01+00:00 Ondrej wrote:
Fixed in tar-1.22-12.fc13, closing RAWHIDE.
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/6
------------------------------------------------------------------------
On 2010-01-05T21:50:02+00:00 Jim wrote:
Hi Ondrej,
Thanks again for the heads up.
I've replied on bug-gnulib and Cc'd the debian bug address.
(too bad bugzilla doesn't have a reply-to-via-email option):
http://bugs.debian.org/563726#88
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/7
------------------------------------------------------------------------
On 2010-01-05T23:54:41+00:00 Ondrej wrote:
Thanks Jim for replies/confirmation of bugfix correctness. Yep - it
would be good bugzilla improvement to have such thing.
Reply at:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814/comments/8
** Changed in: tar (Fedora)
Status: Unknown => Fix Released
** Changed in: tar (Fedora)
Importance: Unknown => High
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to debootstrap in Ubuntu.
https://bugs.launchpad.net/bugs/539814
Title:
tar: futimens() with a bad file descriptor (AT_FDCWD) causes
bootstrapping failure with kernels < 2.6.22
Status in Release Notes for Ubuntu:
Fix Released
Status in debootstrap package in Ubuntu:
Triaged
Status in tar package in Ubuntu:
Fix Released
Status in debootstrap source package in Lucid:
Won't Fix
Status in tar source package in Lucid:
Fix Released
Status in tar package in Debian:
Fix Released
Status in tar package in Fedora:
Fix Released
Bug description:
Binary package hint: tar
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.
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
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-release-notes/+bug/539814/+subscriptions
More information about the foundations-bugs
mailing list