On Thu, Sep 1, 2011 at 17:29, Paul Eggert <[email protected]> wrote:
> On 09/01/11 15:06, Kevin Brott wrote:
> > 3. options.at:24: testing ...
> > ./options.at:27:
> > echo > file1
> > TAR_OPTIONS=--numeric-owner tar chof archive file1
> > tar tf archive
> >
> > Not enabling shell tracing (command contains an embedded newline)
> > --- /dev/null 2011-09-01 14:52:31 -0700
> > +++
> /lppdir/build/phs-gtar/phs-gtar/tests/testsuite.dir/at-groups/3/stderr
> 2011-09-01 14:52:34 -0700
> > @@ -0,0 +1,2 @@
> > +tar: file1: Cannot stat: Invalid argument
>
> Let's start with that one first, as it's likely related to fstatat.
> This test is in tests/options.at.
> What's the output of the following shell commands (assuming Bash),
> using the newly-built 'tar'?
>
> echo > file1
> TAR_OPTIONS=--numeric-owner truss ./tar chof archive file1
>
Assuming Bash as the shell on AIX or HP-UX isn't a safe bet - neither one
ships with that shell even as an optional install. IBM does include a (very
old) .rpm of bash 3.2 compiled for AIX 5.2 in their Linux Toolkit (which
itself hasn't been updated in forever), and it would probably run, but we
prefer to use more current OS-native compiles for our toolkit(s).
So - that said - using /bin/ksh ...
$ echo > file 1
$ TAR_OPTIONS=--numeric-owner truss src/tar chof archive file1
execve("src/tar", 0x2FF22A8C, 0x200132A8) argc: 4
sbrk(0x00000000) = 0x20004B3C
vmgetinfo(0x2FF21C70, 7, 16) = 0
sbrk(0x00000000) = 0x20004B3C
sbrk(0x00000004) = 0x20004B3C
__libc_sbrk(0x00000000) = 0x20004B40
getuidx(4) = 0
getuidx(2) = 0
getuidx(1) = 0
getgidx(4) = 0
getgidx(2) = 0
getgidx(1) = 0
__loadx(0x01480080, 0x2FF21640, 0x00000A50, 0x2FF221A0, 0x00000000) =
0xD0544128
__loadx(0x01480180, 0x2FF21640, 0x00000A50, 0xF0A11960, 0xF0A11890) =
0xF0B00580
__loadx(0x07080000, 0xF0A11930, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B0152C
__loadx(0x07080000, 0xF0A11870, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B01538
__loadx(0x07080000, 0xF0A11940, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B01568
__loadx(0x07080000, 0xF0A11880, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B01574
__loadx(0x07080000, 0xF0A11900, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B01544
__loadx(0x07080000, 0xF0A118A0, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B0155C
__loadx(0x07080000, 0xF0A11910, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B01580
__loadx(0x07080000, 0xF0A11920, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B015B0
__loadx(0x07080000, 0xF0A118B0, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B01598
__loadx(0x07080000, 0xF0A118C0, 0xFFFFFFFF, 0xF0B00580, 0x00000000) =
0xF0B01610
getuidx(4) = 0
getuidx(2) = 0
getuidx(1) = 0
getgidx(4) = 0
getgidx(2) = 0
getgidx(1) = 0
__loadx(0x01480080, 0x2FF21640, 0x00000A50, 0x2FF221A0, 0x00000000) =
0xD0544128
getuidx(4) = 0
getuidx(2) = 0
getuidx(1) = 0
getgidx(4) = 0
getgidx(2) = 0
getgidx(1) = 0
__loadx(0x01480080, 0x2FF21640, 0x00000A50, 0x2FF221A0, 0x00000000) =
0xD0544128
getuidx(4) = 0
getuidx(2) = 0
getuidx(1) = 0
getgidx(4) = 0
getgidx(2) = 0
getgidx(1) = 0
__loadx(0x01480080, 0x2FF21640, 0x00000A50, 0x2FF221A0, 0x00000000) =
0xD0544128
getuidx(4) = 0
getuidx(2) = 0
getuidx(1) = 0
getgidx(4) = 0
getgidx(2) = 0
getgidx(1) = 0
__loadx(0x01480080, 0x2FF21640, 0x00000A50, 0x2FF221A0, 0x00000000) =
0xD0544128
getuidx(4) = 0
getuidx(2) = 0
getuidx(1) = 0
getgidx(4) = 0
getgidx(2) = 0
getgidx(1) = 0
__loadx(0x01480080, 0x2FF21640, 0x00000A50, 0x2FF221A0, 0x00000000) =
0xD0544128
kfcntl(0, F_GETFD, 0x200040F0) = 0
kfcntl(1, F_GETFD, 0x2FF22FFC) = 0
kfcntl(2, F_GETFD, 0x2FF22FFC) = 0
_sigaction(20, 0x2FF22960, 0x2FF22970) = 0
kopen("archive", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE,
S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) = 3
fstatx(3, 0x20004640, 128, 010) = 0
kfcntl(1, F_GETFL, 0x1006D360) = 67110914
kfcntl(1, F_GETFL, 0x2FF22FFC) = 67110914
src/tarkwrite(2, " s r c / t a r", 7) = 7
: kwrite(2, " : ", 2) = 2
file1kwrite(2, " f i l e 1", 5) = 5
: Cannot kwrite(2, " : C a n n o t ", 9) = 9
statkwrite(2, " s t a t", 4) = 4
access("/usr/lib/nls/msg/en_US/libc.cat", 0) = 0
_getpid() = 8192300
kopen("/usr/lib/nls/msg/en_US/libc.cat", O_RDONLY) = 4
kioctl(4, 22528, 0x00000000, 0x00000000) Err#25 ENOTTY
kfcntl(4, F_SETFD, 0x00000001) = 0
kioctl(4, 22528, 0x00000000, 0x00000000) Err#25 ENOTTY
kread(4, "\0\001 รน\007\007 I S O 8".., 4096) = 4096
lseek(4, 0, 1) = 4096
lseek(4, 0, 1) = 4096
lseek(4, 0, 1) = 4096
_getpid() = 8192300
lseek(4, 0, 1) = 4096
lseek(4, 4373, 0) = 4373
kread(4, " A s y s t e m c a l".., 4096) = 4096
close(4) = 0
: kwrite(2, " : ", 2) = 2
A system call received a parameter that is not valid.kwrite(2, " A s y s t
e m c a l".., 53) = 53
kwrite(2, "\n", 1) = 1
kfcntl(2, F_GETFL, 0x2FF22FFC) = 67108865
kwrite(3, "\0\0\0\0\0\0\0\0\0\0\0\0".., 10240) = 10240
close(3) = 0
kfcntl(1, F_GETFL, 0x10072870) = 67110914
kfcntl(1, F_GETFL, 0x2FF22FFC) = 67110914
src/tarkwrite(2, " s r c / t a r", 7) = 7
: kwrite(2, " : ", 2) = 2
Exiting with failure status due to previous errorskwrite(2, " E x i t i n
g w i t h".., 50) = 50
kwrite(2, "\n", 1) = 1
kfcntl(2, F_GETFL, 0x2FF22FFC) = 67108865
kfcntl(1, F_GETFL, 0x00000002) = 67110914
close(1) = 0
close(2) = 0
_exit(2)
src/tar: file1: Cannot stat: A system call received a parameter that is not
valid.
src/tar: Exiting with failure status due to previous errors
$ ls -al file1
-rw-r--r-- 1 xxxxx xxxxxx 1 Sep 02 00:52 file1
--
# include <stddisclaimer.h>
/* Kevin Brott <[email protected]> */