bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] Problem with fstatat on AIX 7.1


From: Kevin Brott
Subject: Re: [Bug-tar] Problem with fstatat on AIX 7.1
Date: Tue, 6 Sep 2011 00:09:50 -0700

On Mon, Sep 5, 2011 at 22:08, Paul Eggert <address@hidden> wrote:
OK, thanks, I think we've gotten past the openat issues.
The remaining issues in that test case are not something
that we can easily fix for AIX 7.1.  It's an unusual torture
test that you won't typically run across in real life, so
let's take a quick look at the other failing tests.

I've created another tarball at
<http://cs.ucla.edu/%7Eeggert/tar-1.26-experimental.tar.gz>
dated 2011-09-06 05:01 UTC; please give it a try.  If our
past experience is a guide, this should fail test 38 (scarce
file descriptors), test 57 (incremental dump when the
parent directory is unreadable), and test 97
(storing sparse files > 8G).  Test 57 is another torture test
and I think I know why it fails in AIX (fstatat doesn't work
and there's no good workaround if you can't read the parent
directory).  But I'm not sure why test 97 should fail so let's
see what the problem is.

Assuming my guess about test failures above is correct,
if you could put the following into a shell script FOO
(with 'tar' and 'genfile' replaced by absolute paths)
and then run "truss -f -o tr sh FOO", we might be able
to figure it out.

#!/bin/sh
genfile --length 1000 --file begin
genfile --length 1000 --file end
genfile --sparse --file sparsefile --block-size 512 8G A || AT_SKIP_TEST
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile


Interesting - mebbe you can haz cheezbuger ...

$ ./configure && gmake check

## ------------- ##
## Test results. ##
## ------------- ##

ERROR: 115 tests were run,
2 failed unexpectedly.
8 tests were skipped.

 38: scarce file descriptors                         FAILED (extrac11.at:26)
 57: incremental dump when the parent directory is unreadable FAILED (listed03.at:25)
 97: storing sparse files > 8G                       ok


However - let's try the experiment anyway.

$ vi FOO && cat FOO
#!/bin/sh
TOP=/lppdir/build/phs-gtar/tar-1.26-experimental
TAR=$TOP/src/tar
GNF=$TOP/tests/genfile

$GNF --length 1000 --file begin
$GNF --length 1000 --file end
$GNF --sparse --file sparsefile --block-size 512 8G A || AT_SKIP_TEST
$TAR -c -f archive --sparse begin sparsefile end || exit 1
echo separator

$TAR tfv archive
echo separator
mkdir directory
$TAR Cxf directory archive
$GNF --stat=name,size sparsefile
cmp sparsefile directory/sparsefile

$ truss -f -o FOO.truss sh FOO
^C at 30 minutes into run

Looking at FOO.truss (530M+ at the time I stopped the test) - it looks to me like it got stuck in a loop.  The sparsefile was generated in nothing flat - but tar didn't visibly do anything with it.  The attached file is the top 10240 lines of the truss output (even compressed the original truss.gz was over 2.5M).  So I'm baffled why the gmake test says it passed - and this one required a mercy killing.

--
# include <stddisclaimer.h>
/* Kevin  Brott <address@hidden> */


Attachment: FOO.truss.short.gz
Description: GNU Zip compressed data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]