GNU bug report logs - #6547
GNU coreutils 8.5 "make check" => tests/test-suite.log 8 of 365 tests failed

Previous Next

Package: coreutils;

Reported by: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>

Date: Thu, 1 Jul 2010 15:29:02 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 6547 in the body.
You can then email your comments to 6547 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Thu, 01 Jul 2010 15:29:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>:
New bug report received and forwarded. Copy sent to bug-coreutils <at> gnu.org. (Thu, 01 Jul 2010 15:29:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
To: <bug-coreutils <at> gnu.org>
Subject: GNU coreutils 8.5 "make check" => tests/test-suite.log 8 of 365 tests
	failed
Date: Thu, 1 Jul 2010 16:16:57 +0200
[Message part 1 (text/plain, inline)]
Hello,

I build coreutils 8.5. on:
Linux xxx 2.6.9-89.0.23.ELsmp #1 SMP Fri Mar 5 17:56:21 EST 2010 i686
i686 i386 GNU/Linux

Using
> gcc --version
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)

(Ok, probably there are other tools, that might be relevant... :-(

I didn't use any configure-options, beside --prefix=...

The testsuite reported "8 of 365 tests failed" and asked, to report it.

=============================================
   GNU coreutils 8.5: tests/test-suite.log   
=============================================

8 of 365 tests failed.  (54 tests were not run).  

=============================================


Here is /test-suite.log, stripped down to just the failed test:
 <<test-suiteSTRIPPED.log>> 
Regards

Martin

[Message part 2 (text/html, inline)]
[test-suiteSTRIPPED.log (application/octet-stream, attachment)]

Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Thu, 01 Jul 2010 16:27:01 GMT) Full text and rfc822 format available.

Message #8 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Thu, 01 Jul 2010 17:25:58 +0100
On 01/07/10 15:16, Jost, Martin (NSN - DE/Munich) wrote:
> Hello,
> 
> I build coreutils 8.5. on:
> Linux xxx 2.6.9-89.0.23.ELsmp #1 SMP Fri Mar 5 17:56:21 EST 2010 i686
> i686 i386 GNU/Linux
> 
> Using
>> gcc --version
> gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
> 
> 8 of 365 tests failed.  (54 tests were not run).  

Thanks for sending this on.

fail 1 shows that stdbuf is ineffectual.
I wonder is setvbuf() buggy on your old glibc.
That is doubtful. Is the src/libstdbuf.so file built?
Note the test is time based, so if your system was loaded
and slow, then perhaps I need to increase the sleep .2
duration in the snippet below:

  printf '1\n' > exp
  dd count=1 if=fifo > out 2> err &
  (printf '1\n'; sleep .2; printf '2\n') | stdbuf -oL uniq > fifo
  wait #for dd
  grep -q 2 out && echo fail

The rest seem to be down to copy.c getting ENOTSUP when
it tries to chmod() both fifos and normal files.
What file system are you running on?

cheers,
Pádraig.




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Fri, 02 Jul 2010 16:39:02 GMT) Full text and rfc822 format available.

Message #11 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
To: <6547 <at> debbugs.gnu.org>
Subject: GNU coreutils 8.5 "make check" => tests/test-suite.log 8 of 365 tests
	failed
Date: Fri, 2 Jul 2010 13:27:16 +0200
[Message part 1 (text/plain, inline)]
Hello,

concerning this one.

> Is the src/libstdbuf.so file built?

Sorry, I already did 'make distclean' (after make install).
But see below.

> Note the test is time based, so if your system was loaded
> and slow, then perhaps I need to increase the sleep .2
> duration in the snippet below:

Yes, the system was reeeaaal slow.
Ok, I will rebuild, look for the lib and try to add to the sleep.

> The rest seem to be down to copy.c getting ENOTSUP when
> it tries to chmod() both fifos and normal files.
> What file system are you running on?

The tests were run on a NFS-mounted filesystem as a normal user.
Here are the options of the NFS-mount:
rw,hard,intr,acdirmin=1,acdirmax=3,acregmin=1,acregmax=3
(from 'mount').

How can I get the exact NFS type used ?
And I can't login the fileserver to get the filesystem type there.

Regards and thanks for the feedback

Martin





[Message part 2 (text/html, inline)]

Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Fri, 02 Jul 2010 20:04:01 GMT) Full text and rfc822 format available.

Message #14 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> CS.UCLA.EDU>
To: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Fri, 02 Jul 2010 13:02:59 -0700
This problem could well be because coreutils at some point uses
fchmod(4, 0100644) in that test case, and your version of NFS
might not take too kindly to that leading "1".  Is this something
that you can debug interactively?  For example, can you do this
in a fresh directory:

+ mkdir -p a/b/c a/b/d e
+ touch a/b/c/foo a/b/d/foo
+ cp -p --parent a/b/c/foo e

except that you run that "cp" under GDB, and put a breakpoint
on fchmod_or_lchmod, and see what happens if you manually
AND out that leading "1" bit?




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Sun, 04 Jul 2010 10:56:01 GMT) Full text and rfc822 format available.

Message #17 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Sun, 04 Jul 2010 11:54:27 +0100
On 02/07/10 12:27, Jost, Martin (NSN - DE/Munich) wrote:
> Hello,
> 
> concerning this one.
> 
>> Is the src/libstdbuf.so file built?
> 
> Sorry, I already did 'make distclean' (after make install).
> But see below.
> 
>> Note the test is time based, so if your system was loaded
>> and slow, then perhaps I need to increase the sleep .2
>> duration in the snippet below:
> 
> Yes, the system was reeeaaal slow.
> Ok, I will rebuild, look for the lib and try to add to the sleep.

You just need to increase the "sleep .2"s in tests/misc/stdbuf
I'm now doing a change to repeat with increasing delays
time based tests like this.

cheers,
Pádraig.




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Mon, 05 Jul 2010 11:51:01 GMT) Full text and rfc822 format available.

Message #20 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Mon, 05 Jul 2010 12:49:19 +0100
[Message part 1 (text/plain, inline)]
On 04/07/10 11:54, Pádraig Brady wrote:
> On 02/07/10 12:27, Jost, Martin (NSN - DE/Munich) wrote:
>> Yes, the system was reeeaaal slow.
>> Ok, I will rebuild, look for the lib and try to add to the sleep.
> 
> You just need to increase the "sleep .2"s in tests/misc/stdbuf
> I'm now doing a change to repeat with increasing delays
> time based tests like this.

The promised patch to the tests is attached.

cheers,
Pádraig.
[retry-delay.diff (text/x-patch, attachment)]

Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Mon, 05 Jul 2010 12:36:02 GMT) Full text and rfc822 format available.

Message #23 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: "Jost, Martin \(NSN - DE/Munich\)" <martin.jost <at> nsn.com>,
	6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Mon, 05 Jul 2010 14:35:17 +0200
Pádraig Brady wrote:
> On 04/07/10 11:54, Pádraig Brady wrote:
>> On 02/07/10 12:27, Jost, Martin (NSN - DE/Munich) wrote:
>>> Yes, the system was reeeaaal slow.
>>> Ok, I will rebuild, look for the lib and try to add to the sleep.
>>
>> You just need to increase the "sleep .2"s in tests/misc/stdbuf
>> I'm now doing a change to repeat with increasing delays
>> time based tests like this.
>
> The promised patch to the tests is attached.
...

Thanks!

> diff --git a/tests/init.cfg b/tests/init.cfg
> index aecdd5a..c9b95d7 100644
> --- a/tests/init.cfg
> +++ b/tests/init.cfg
> @@ -357,4 +357,30 @@ working_umask_or_skip_()
>    esac
>  }
>
> +# Continually retry a function requiring a sufficient delay to _pass_
> +#     Example: retry_delay dd_reblock_1 .1 6
> +# This example will call the dd_reblock_1 function with
> +# an initial delay of .1 second and call it at most 6 times
> +# with a max delay of 3.2s (doubled each time), or a total of 6.3s
> +# Note ensure you do _not_ quote the parameter to GNU sleep in
> +# your function, as it may contain separate values that `sleep`
> +# needs to accumulate.
> +retry_delay_()
> +{
> +  local test_func="$1"

Please don't use double quotes right after an "=" when the RHS is a
variable reference.  They're not needed.

> +  local time_start="$2"

Maybe `delay', so it doesn't sound like a "starting time"?

> +  local time_tries="$3"

`max_n_tries'?

> +  local attempt=1
> +  local num_sleeps=$attempt
> +  local time_fail
> +  while [ $attempt -le $time_tries ]; do

We've tried to avoid use of "[...]", and instead use test.
Slightly less syntax that way, and only one byte longer:

     while test $attempt -le $time_tries; do

> +    local delay=$(yes "$time_start" | head -n$num_sleeps | tr '\n' ' ')

We've had portability problems with yes...|head pipes before, so something
like this will save a couple processes and should be more portable:

local delay=$($AWK -v n=$num_sleeps -v s="$delay" \
              'BEGIN { for (i=0;i<n;i++) t = s" "t; print t }'

> +    "$1" "$delay" && { time_fail=0; break; } || time_fail=1

I guess that should be "test_func", rather than "$1"?

> +    attempt=$(($attempt + 1))
> +    num_sleeps=$(($num_sleeps * 2))

These would be the first uses of $((...)).
I'm pretty sure that construct is not portable enough.
Please use $(expr ...) instead.

> +  done
> +  test "$time_fail" = 0
> +}
> +
>  sanitize_path_




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Mon, 05 Jul 2010 14:11:02 GMT) Full text and rfc822 format available.

Message #26 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: Jim Meyering <jim <at> meyering.net>
Cc: "Jost, Martin \(NSN - DE/Munich\)" <martin.jost <at> nsn.com>,
	6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Mon, 05 Jul 2010 15:10:19 +0100
On 05/07/10 13:35, Jim Meyering wrote:
> Pádraig Brady wrote:
>> On 04/07/10 11:54, Pádraig Brady wrote:
>> +retry_delay_()
>> +{
>> +  local test_func="$1"
> 
> Please don't use double quotes right after an "=" when the RHS is a
> variable reference.  They're not needed.
> 
>> +  local time_start="$2"
> 
> Maybe `delay', so it doesn't sound like a "starting time"?
> 
>> +  local time_tries="$3"
> 
> `max_n_tries'?
> 
>> +  local attempt=1
>> +  local num_sleeps=$attempt
>> +  local time_fail
>> +  while [ $attempt -le $time_tries ]; do
> 
> We've tried to avoid use of "[...]", and instead use test.
> Slightly less syntax that way, and only one byte longer:
> 
>      while test $attempt -le $time_tries; do
> 
>> +    local delay=$(yes "$time_start" | head -n$num_sleeps | tr '\n' ' ')
> 
> We've had portability problems with yes...|head pipes before, so something
> like this will save a couple processes and should be more portable:
> 
> local delay=$($AWK -v n=$num_sleeps -v s="$delay" \
>               'BEGIN { for (i=0;i<n;i++) t = s" "t; print t }'
> 
>> +    "$1" "$delay" && { time_fail=0; break; } || time_fail=1
> 
> I guess that should be "test_func", rather than "$1"?
> 
>> +    attempt=$(($attempt + 1))
>> +    num_sleeps=$(($num_sleeps * 2))
> 
> These would be the first uses of $((...)).
> I'm pretty sure that construct is not portable enough.
> Please use $(expr ...) instead.
> 
>> +  done
>> +  test "$time_fail" = 0
>> +}

Push with those amendments.

thanks.
Pádraig.




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Tue, 06 Jul 2010 08:28:01 GMT) Full text and rfc822 format available.

Message #29 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
To: ext Pádraig Brady <P <at> draigBrady.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: RE: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Tue, 6 Jul 2010 10:27:44 +0200
[Message part 1 (text/plain, inline)]
> On 04/07/10 11:54, Pádraig Brady wrote:
> > On 02/07/10 12:27, Jost, Martin (NSN - DE/Munich) wrote:
> >> Yes, the system was reeeaaal slow.
> >> Ok, I will rebuild, look for the lib and try to add to the sleep.
> > 
> > You just need to increase the "sleep .2"s in tests/misc/stdbuf
> > I'm now doing a change to repeat with increasing delays
> > time based tests like this.
> 
> The promised patch to the tests is attached.

Hello,

looks like  the patch is buggy.
Now I get 
13 of 365 tests failed.  (54 tests were not run).

I've attached the log, stripped down to the FAILED tests.

Regards

Martin


 
[test-suiteSTRIPPED2.log (application/octet-stream, attachment)]

Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Tue, 06 Jul 2010 08:30:03 GMT) Full text and rfc822 format available.

Message #32 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
To: ext Pádraig Brady <P <at> draigBrady.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: RE: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Tue, 6 Jul 2010 10:29:34 +0200
> Is the src/libstdbuf.so file built?

I just checked in a new build:
Yes it is build
-rwxrwxr-x  1 me group   9773 Jul  5 14:28 libstdbuf.so

Regards

Martin





Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Tue, 06 Jul 2010 08:53:02 GMT) Full text and rfc822 format available.

Message #35 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Tue, 06 Jul 2010 09:52:14 +0100
On 06/07/10 09:27, Jost, Martin (NSN - DE/Munich) wrote:
> looks like  the patch is buggy.
> Now I get 
> 13 of 365 tests failed.  (54 tests were not run).

Oops sorry. I should have said the patch was against trunk.
If you're still interested in testing then you can add
the following to tests/test-lib.sh and try again.

cheers,
Pádraig.

retry_delay_()
{
  local test_func=$1
  local init_delay=$2
  local max_n_tries=$3

  local attempt=1
  local num_sleeps=$attempt
  local time_fail
  while test $attempt -le $max_n_tries; do
    local delay=$($AWK -v n=$num_sleeps -v s="$init_delay" \
                  'BEGIN { for (i=0;i<n;i++) t = s" "t; print t }')
    "$test_func" "$delay" && { time_fail=0; break; } || time_fail=1
    attempt=$(expr $attempt + 1)
    num_sleeps=$(expr $num_sleeps '*' 2)
  done
  test "$time_fail" = 0
}




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Thu, 08 Jul 2010 11:05:02 GMT) Full text and rfc822 format available.

Message #38 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
To: <6547 <at> debbugs.gnu.org>
Subject: result of a new "make check" with the patch applied and
	retry_delay_() added
Date: Thu, 8 Jul 2010 12:53:45 +0200
[Message part 1 (text/plain, inline)]
Hello,

here is the result of a new "make check" with the patch applied and
retry_delay_() added:
(Again stripped down to just the failed tests)
 <<test-suiteSTRIPPED3.log>> 
This time I'm down to "6 of 365 tests failed.  (54 tests were not run)."

Regards

Martin

[Message part 2 (text/html, inline)]
[test-suiteSTRIPPED3.log (application/octet-stream, attachment)]

Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Thu, 08 Jul 2010 14:47:02 GMT) Full text and rfc822 format available.

Message #41 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
To: <6547 <at> debbugs.gnu.org>
Subject: result of a new "make check" with the patch applied and
	retry_delay_() added
Date: Thu, 8 Jul 2010 16:46:33 +0200
[Message part 1 (text/plain, inline)]
Hello,

here is the result of a new "make check" with the patch applied and
retry_delay_() added:
(Again stripped down to just the failed tests - this time compressed for
the sake of the mailing list...)
 <<test-suiteSTRIPPED3.log.gz>> 

This time I'm down to "6 of 365 tests failed.  (54 tests were not run)."

Regards

Martin

[Message part 2 (text/html, inline)]
[test-suiteSTRIPPED3.log.gz (application/x-gzip, attachment)]

Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Thu, 08 Jul 2010 20:59:02 GMT) Full text and rfc822 format available.

Message #44 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: result of a new "make check" with the patch applied
	and	retry_delay_() added
Date: Thu, 08 Jul 2010 21:57:36 +0100
On 08/07/10 15:46, Jost, Martin (NSN - DE/Munich) wrote:
> Hello,
> 
> here is the result of a new "make check" with the patch applied and
> retry_delay_() added:
> (Again stripped down to just the failed tests - this time compressed for
> the sake of the mailing list...)
>  <<test-suiteSTRIPPED3.log.gz>> 
> 
> This time I'm down to "6 of 365 tests failed.  (54 tests were not run)."

Great. Thanks for confirming the delay related failure is fixed.
The rest are, as I suggested previously, probably due to to
copy.c::chmod() returning ENOTSUP on your NFS.
If you're interested, Paul suggested a way to confirm that here:
http://lists.gnu.org/archive/html/bug-coreutils/2010-07/msg00012.html

What we may end up doing is marking certain tests as
only appropriate for local filesystems using something like:
  [ $(df -lP . | wc -l) = 1 ] && skip

cheers,
Pádraig.




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Fri, 09 Jul 2010 08:47:01 GMT) Full text and rfc822 format available.

Message #47 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
To: <6547 <at> debbugs.gnu.org>
Subject: Strace of cp command
Date: Fri, 9 Jul 2010 10:46:10 +0200
[Message part 1 (text/plain, inline)]
Hello,

Paul Eggert suggested in
http://lists.gnu.org/archive/html/bug-coreutils/2010-07/msg00012.html
a sequence to check.

While I will need a while to get to the debugger, Pádraig Brady suggested in a private mail: "stracing the chmod calls is probably enough."

So here is the strace, in hope that it is helpful:
 <<strace.txt>> 
Regards

Martin

[Message part 2 (text/html, inline)]
[strace.txt (text/plain, attachment)]

Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Fri, 09 Jul 2010 16:57:01 GMT) Full text and rfc822 format available.

Message #50 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> CS.UCLA.EDU>
To: "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: Strace of cp command
Date: Fri, 09 Jul 2010 09:55:59 -0700
On 07/09/10 01:46, Jost, Martin (NSN - DE/Munich) wrote:

> fgetxattr(3, "system.posix_acl_access"..., "\x02\x00\x00\x00\x01\x00\x06\x00\xff\xff\xff\xff\x04\x00\x06\x00\xff\xff\xff\xff\x10\x00\x07\x00\xff\xff\xff\xff \x00\x04\x00\xff\xff\xff\xff", 132) = 36
> fsetxattr(4, "system.posix_acl_access"..., "\x02\x00\x00\x00\x01\x00\x06\x00\xff\xff\xff\xff\x04\x00\x06\x00\xff\xff\xff\xff\x10\x00\x07\x00\xff\xff\xff\xff \x00\x04\x00\xff\xff\xff\xff", 36, 0) = -1 EOPNOTSUPP (Operation not supported)

Ah, OK, I now see that it's a problem with ACLs.
Perhaps when you drop into the debugger you can see
whether this is caused by copy_acl or by
attr_copy_fd or by attr_copy_file or whatever.




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Thu, 02 Sep 2010 11:38:01 GMT) Full text and rfc822 format available.

Message #53 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Thu, 02 Sep 2010 13:39:01 +0200
Pádraig Brady wrote:
> Great. Thanks for confirming the delay related failure is fixed.
> The rest are, as I suggested previously, probably due to to
> copy.c::chmod() returning ENOTSUP on your NFS.
> If you're interested, Paul suggested a way to confirm that here:
> http://lists.gnu.org/archive/html/bug-coreutils/2010-07/msg00012.html
>
> What we may end up doing is marking certain tests as
> only appropriate for local filesystems using something like:
>   [ $(df -lP . | wc -l) = 1 ] && skip

Hi Pádraig,

I didn't see the above-quoted message until today, via your summary:
  http://www.pixelbeat.org/patches/coreutils/inbox_aug_2010.html
BTW, thanks for keeping that up to date!

Regarding your proposed new test, there is a slightly
more efficient way to do it:

  $ git grep df.--local tests
  tests/du/basic:if df --local . >/dev/null 2>&1; then
  tests/du/slink:if df --local . >/dev/null 2>&1; then
  ...

I.e., you can examine merely the exit status.
If you do that, please encapsulate the test in a function
to be defined in tests/init.cfg, I suppose.




Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Thu, 02 Sep 2010 12:27:02 GMT) Full text and rfc822 format available.

Message #56 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: Jim Meyering <jim <at> meyering.net>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Thu, 02 Sep 2010 13:27:35 +0100
[Message part 1 (text/plain, inline)]
On 02/09/10 12:39, Jim Meyering wrote:
> Regarding your proposed new test, there is a slightly
> more efficient way to do it:
> 
>   $ git grep df.--local tests
>   tests/du/basic:if df --local . >/dev/null 2>&1; then
>   tests/du/slink:if df --local . >/dev/null 2>&1; then
>   ...
> 
> I.e., you can examine merely the exit status.
> If you do that, please encapsulate the test in a function
> to be defined in tests/init.cfg, I suppose.

OK cool,
I'll apply something like the following untested patch later.

cheers,
Pádraig.
[local-tests.diff (text/x-patch, attachment)]

Information forwarded to owner <at> debbugs.gnu.org, bug-coreutils <at> gnu.org:
bug#6547; Package coreutils. (Thu, 02 Sep 2010 12:49:02 GMT) Full text and rfc822 format available.

Message #59 received at 6547 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 6547 <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Thu, 02 Sep 2010 14:50:12 +0200
Pádraig Brady wrote:
> On 02/09/10 12:39, Jim Meyering wrote:
>> Regarding your proposed new test, there is a slightly
>> more efficient way to do it:
>>
>>   $ git grep df.--local tests
>>   tests/du/basic:if df --local . >/dev/null 2>&1; then
>>   tests/du/slink:if df --local . >/dev/null 2>&1; then
>>   ...
>>
>> I.e., you can examine merely the exit status.
>> If you do that, please encapsulate the test in a function
>> to be defined in tests/init.cfg, I suppose.
>
> OK cool,
> I'll apply something like the following untested patch later.
...
>     tests: exclude some tests when running on NFS
>
>     * tests/init.cfg (is_local_dir_): A new function
>     returning if the current directory is on a local file system.
>     (require_local_dir_): A new function to skip tests
>     if not on a local dir.
>     * tests/cp/existing-perm-race: Skip if non local.
>     * tests/cp/file-perm-race: Likewise.
>     * tests/cp/parent-perm: Likewise.
>     * tests/cp/parent-perm-race: Likewise.
>     * tests/cp/preserve-2: Likewise.
>     * tests/mv/part-symlink: Likewise.
>     * tests/du/basic: Use refactored function.
>     * tests/du/slink: Likewise.

Thanks!  That looks right.
However at least 3 more tests can use one of the new functions
in place of existing df --local uses:
(yeah, depending on your font size, "..." without the quotes,
can be almost invisible)

  $ git grep -l df.--local tests
  tests/du/basic
  tests/du/slink
  tests/install/basic-1
  tests/ls/readdir-mountpoint-inode
  tests/mkdir/p-3




Reply sent to Pádraig Brady <P <at> draigBrady.com>:
You have taken responsibility. (Mon, 06 Sep 2010 21:59:02 GMT) Full text and rfc822 format available.

Notification sent to "Jost, Martin (NSN - DE/Munich)" <martin.jost <at> nsn.com>:
bug acknowledged by developer. (Mon, 06 Sep 2010 21:59:02 GMT) Full text and rfc822 format available.

Message #64 received at 6547-done <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: Jim Meyering <jim <at> meyering.net>
Cc: 6547-done <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Mon, 06 Sep 2010 22:59:05 +0100
[Message part 1 (text/plain, inline)]
On 02/09/10 13:50, Jim Meyering wrote:

> Thanks!  That looks right.
> However at least 3 more tests can use one of the new functions
> in place of existing df --local uses:
> (yeah, depending on your font size, "..." without the quotes,
> can be almost invisible)

I'll apply the attached in the morning sometime.

>   tests/ls/readdir-mountpoint-inode

About that one actually. I think it only uses --local
to minimise the chances of the subsequent stat hanging?
If that's the case I can remove the --local and use
`timeout 1 stat ...`

cheers,
Pádraig.
[tests-nfs.diff (text/x-patch, attachment)]

Message #65 received at 6547-done <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 6547-done <at> debbugs.gnu.org
Subject: Re: bug#6547: GNU coreutils 8.5 "make check" => tests/test-suite.log
	8	of 365 tests failed
Date: Tue, 07 Sep 2010 09:10:49 +0200
P��draig Brady wrote:
> On 02/09/10 13:50, Jim Meyering wrote:
>> Thanks!  That looks right.
>> However at least 3 more tests can use one of the new functions
>> in place of existing df --local uses:
>> (yeah, depending on your font size, "..." without the quotes,
>> can be almost invisible)
>
> I'll apply the attached in the morning sometime.
>
>>   tests/ls/readdir-mountpoint-inode
>
> About that one actually. I think it only uses --local
> to minimise the chances of the subsequent stat hanging?

Thanks.
You're right.  That use of df --local is different.

> If that's the case I can remove the --local and use
> `timeout 1 stat ...`

I'm tempted to leave it with --local, just to keep the
test from taking too long.  We should get enough coverage
with local file systems, and I'd rather this little part of
"make check" not activate potentially-very-many remote mounts.

> commit cd6327820a75f6073830468f56ca652ba7e9152a
> Author: P��draig Brady <P <at> draigBrady.com>
> Date:   Thu Sep 2 13:22:41 2010 +0100
>
>     tests: exclude some tests when running on NFS
>
>     All tests currently pass on NFS on Linux kernel 2.6.22 at least,
>     but some fail on 2.6.9, so we exclude those here.
>
>     * tests/init.cfg (is_local_dir_): A new function
>     returning if the current directory is on a local file system.
>     (require_local_dir_): A new function to skip tests
>     if not on a local dir.
...
> diff --git a/tests/init.cfg b/tests/init.cfg
...
> +is_local_dir_()
> +{
> +  df --local . >/dev/null 2>&1

How about letting this function take an argument?

    # Exit 0 if each of the names refers to a local file system.
    is_local_dir_()
    {
      test $# = 1 || framework_failure
      df --local "$1" >/dev/null 2>&1
    }

Alternatively, make its name convey that it's checking ".".

> +require_local_dir_()
> +{
> +  is_local_dir ||
> +    skip_test_ "This test requires a local file system."

     is_local_dir . ||
       skip_test_ "This test must be run on a local file system."




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 05 Oct 2010 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 14 years and 259 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.