bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
* test-symlink fails on "lustre" file system (was: bug#37312: test failure in sed-4.7)
       [not found] <1B6259370D5EFF488340E9D87BD0580A01753B7EE5@MS-EX2VKS.erdc.dren.mil>
@ 2019-09-06  6:47 ` Assaf Gordon
  2019-09-06  9:42   ` test-symlink fails on "lustre" file system Bruno Haible
  0 siblings, 1 reply; 5+ messages in thread
From: Assaf Gordon @ 2019-09-06  6:47 UTC (permalink / raw)
  To: bug-gnulib@gnu.org List; +Cc: 37312, Oppe, Thomas C ERDC-RDE-ITL-MS Contractor

(adding bug-gnulib@)

Hello,

Thomas Oppe (CC'd) reported the following gnulib test failure
on GNU/Linux with "lustre" file system.
Details below:

===========

The system details are:

> 1.
> Is this reproducible?
> After running "make check", there should be an executable file called
> "gnulib-tests/test-symlink".
> If you run it directly, do you still get an error?

The error is reproducible.

The symlink test still fails if the test is run directly:

voodoo03> test-symlink
test-symlink.h:70: assertion 'errno == EEXIST || errno == EINVAL' failed
Abort (core dumped)

> 2.
> What is the operating system, and the file system you are using?

voodoo03> uname -a
Linux voodoo03 3.10.0-862.3.2.el7.x86_64 #1 SMP Tue May 15 18:22:15 EDT 
2018 x86_64 x86_64 x86_64 GNU/Linux

voodoo03> lsb_release -a
[...]
Description:	Red Hat Enterprise Linux Server release 7.5 (Maipo)
[...]

voodoo03> stat -f .
[...]  Type: lustre  [...]

====

based on the code in test-symlink.h, perhaps lustre returns an 
unexpected errno ?

line 69: ASSERT (func ("nowhere", BASE "dir/") == -1); 

line 70: ASSERT (errno == EEXIST || errno == EINVAL);

-assaf




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: test-symlink fails on "lustre" file system
  2019-09-06  6:47 ` test-symlink fails on "lustre" file system (was: bug#37312: test failure in sed-4.7) Assaf Gordon
@ 2019-09-06  9:42   ` Bruno Haible
  2019-09-06 19:03     ` Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list
  0 siblings, 1 reply; 5+ messages in thread
From: Bruno Haible @ 2019-09-06  9:42 UTC (permalink / raw)
  To: bug-gnulib; +Cc: 37312, Assaf Gordon, Oppe, Thomas C ERDC-RDE-ITL-MS Contractor

Assaf Gordon wrote:
> based on the code in test-symlink.h, perhaps lustre returns an 
> unexpected errno ?
> 
> line 69: ASSERT (func ("nowhere", BASE "dir/") == -1); 
> 
> line 70: ASSERT (errno == EEXIST || errno == EINVAL);

Yes, this is most likely the cause. Can you please insert
this line between line 69 and line 70

    fprintf(stderr,"INSERTED errno=%d\n",errno); fflush(stderr);

then do
   make clean
   make
   make check

and report the output and contents of test-symlink.log ?

Lustre contains a number of kernel patches [1]; this can surely
modify the behaviour of system calls.

Bruno

[1] http://lustre.org/download/



^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: test-symlink fails on "lustre" file system
  2019-09-06  9:42   ` test-symlink fails on "lustre" file system Bruno Haible
@ 2019-09-06 19:03     ` Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list
  2019-09-06 22:18       ` Bruno Haible
  0 siblings, 1 reply; 5+ messages in thread
From: Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list @ 2019-09-06 19:03 UTC (permalink / raw)
  To: 'Bruno Haible', bug-gnulib@gnu.org
  Cc: 37312@debbugs.gnu.org, Assaf Gordon

[-- Attachment #1: Type: text/plain, Size: 1218 bytes --]

Bruno,

The contents of the file

gettext-0.20.1/gettext-tools/gnulib-tests/test-symlink.log

are

INSERTED errno=2
test-symlink.h:71: assertion 'errno == EEXIST || errno == EINVAL' failed
FAIL test-symlink (exit status: 134)

Tom Oppe


-----Original Message-----
From: Bruno Haible [mailto:bruno@clisp.org] 
Sent: Friday, September 6, 2019 5:43 AM
To: bug-gnulib@gnu.org
Cc: Assaf Gordon <assafgordon@gmail.com>; 37312@debbugs.gnu.org; Oppe,
Thomas C ERDC-RDE-ITL-MS Contractor <Thomas.C.Oppe@erdc.dren.mil>
Subject: Re: test-symlink fails on "lustre" file system

Assaf Gordon wrote:
> based on the code in test-symlink.h, perhaps lustre returns an 
> unexpected errno ?
> 
> line 69: ASSERT (func ("nowhere", BASE "dir/") == -1);
> 
> line 70: ASSERT (errno == EEXIST || errno == EINVAL);

Yes, this is most likely the cause. Can you please insert this line between
line 69 and line 70

    fprintf(stderr,"INSERTED errno=%d\n",errno); fflush(stderr);

then do
   make clean
   make
   make check

and report the output and contents of test-symlink.log ?

Lustre contains a number of kernel patches [1]; this can surely modify the
behaviour of system calls.

Bruno

[1] Blockedhttp://lustre.org/download/Blocked



[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5380 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: test-symlink fails on "lustre" file system
  2019-09-06 19:03     ` Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list
@ 2019-09-06 22:18       ` Bruno Haible
  2019-09-07 14:57         ` Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list
  0 siblings, 1 reply; 5+ messages in thread
From: Bruno Haible @ 2019-09-06 22:18 UTC (permalink / raw)
  To: bug-gnulib, Oppe, Thomas C ERDC-RDE-ITL-MS Contractor
  Cc: Assaf Gordon, 37312@debbugs.gnu.org

Thomas Oppe wrote:
> INSERTED errno=2
> test-symlink.h:71: assertion 'errno == EEXIST || errno == EINVAL' failed
> FAIL test-symlink (exit status: 134)

Thanks. I'm pushing this patch; it will fix the failure in this place.


2019-09-06  Bruno Haible  <bruno@clisp.org>

	symlink tests: Avoid test failure on Linux with Lustre file system.
	Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
	at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
	* tests/test-symlink.h (test_symlink): Accept errno value ENOENT.

diff --git a/tests/test-symlink.h b/tests/test-symlink.h
index c556347..8fd55c0 100644
--- a/tests/test-symlink.h
+++ b/tests/test-symlink.h
@@ -67,7 +67,8 @@ test_symlink (int (*func) (char const *, char const *), bool print)
   ASSERT (errno == EEXIST);
   errno = 0;
   ASSERT (func ("nowhere", BASE "dir/") == -1);
-  ASSERT (errno == EEXIST || errno == EINVAL);
+  ASSERT (errno == EEXIST || errno == EINVAL
+          || errno == ENOENT /* Lustre FS on Linux */);
   ASSERT (close (creat (BASE "file", 0600)) == 0);
   errno = 0;
   ASSERT (func ("nowhere", BASE "file") == -1);



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: test-symlink fails on "lustre" file system
  2019-09-06 22:18       ` Bruno Haible
@ 2019-09-07 14:57         ` Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list
  0 siblings, 0 replies; 5+ messages in thread
From: Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list @ 2019-09-07 14:57 UTC (permalink / raw)
  To: 'Bruno Haible', bug-gnulib@gnu.org
  Cc: Assaf Gordon, 37312@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 2028 bytes --]

Bruno,

Thank you for the patch.  I have made the fix in my versions of:

sed-4.7                      sed-4.7/gnulib-tests/test-symlink.h
m4-1.4.18                 m4-1.4.18/tests/test-symlink.h
gettext-0.20.1
gettext-0.20.1/gettext-tools/gnulib-tests/test-symlink.h

since the same test failure occurs in these three packages.  I will rerun my
build of GCC 9.2.0 with its many prerequisites packages (for all of which I
do "make check") and see what the results are.

It is great to clear up these test failures for Linux systems using the
Lustre file system.

Tom Oppe

-----Original Message-----
From: Bruno Haible [mailto:bruno@clisp.org] 
Sent: Friday, September 6, 2019 6:18 PM
To: bug-gnulib@gnu.org; Oppe, Thomas C ERDC-RDE-ITL-MS Contractor
<Thomas.C.Oppe@erdc.dren.mil>
Cc: 37312@debbugs.gnu.org; Assaf Gordon <assafgordon@gmail.com>
Subject: Re: test-symlink fails on "lustre" file system

Thomas Oppe wrote:
> INSERTED errno=2
> test-symlink.h:71: assertion 'errno == EEXIST || errno == EINVAL' 
> failed FAIL test-symlink (exit status: 134)

Thanks. I'm pushing this patch; it will fix the failure in this place.


2019-09-06  Bruno Haible  <bruno@clisp.org>

	symlink tests: Avoid test failure on Linux with Lustre file system.
	Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
	at
<Blockedhttps://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312Blocked>.
	* tests/test-symlink.h (test_symlink): Accept errno value ENOENT.

diff --git a/tests/test-symlink.h b/tests/test-symlink.h index
c556347..8fd55c0 100644
--- a/tests/test-symlink.h
+++ b/tests/test-symlink.h
@@ -67,7 +67,8 @@ test_symlink (int (*func) (char const *, char const *),
bool print)
   ASSERT (errno == EEXIST);
   errno = 0;
   ASSERT (func ("nowhere", BASE "dir/") == -1);
-  ASSERT (errno == EEXIST || errno == EINVAL);
+  ASSERT (errno == EEXIST || errno == EINVAL
+          || errno == ENOENT /* Lustre FS on Linux */);
   ASSERT (close (creat (BASE "file", 0600)) == 0);
   errno = 0;
   ASSERT (func ("nowhere", BASE "file") == -1);



[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5380 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-09-07 14:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1B6259370D5EFF488340E9D87BD0580A01753B7EE5@MS-EX2VKS.erdc.dren.mil>
2019-09-06  6:47 ` test-symlink fails on "lustre" file system (was: bug#37312: test failure in sed-4.7) Assaf Gordon
2019-09-06  9:42   ` test-symlink fails on "lustre" file system Bruno Haible
2019-09-06 19:03     ` Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list
2019-09-06 22:18       ` Bruno Haible
2019-09-07 14:57         ` Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via Gnulib discussion list

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).