GNU bug report logs - #37312
test failure in sed-4.7

Previous Next

Package: sed;

Reported by: "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>

Date: Thu, 5 Sep 2019 14:40:03 UTC

Severity: normal

Done: Assaf Gordon <assafgordon <at> gmail.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 37312 in the body.
You can then email your comments to 37312 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 bug-sed <at> gnu.org:
bug#37312; Package sed. (Thu, 05 Sep 2019 14:40:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>:
New bug report received and forwarded. Copy sent to bug-sed <at> gnu.org. (Thu, 05 Sep 2019 14:40:03 GMT) Full text and rfc822 format available.

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

From: "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>
To: "'bug-sed <at> gnu.org'" <bug-sed <at> gnu.org>
Subject: test failure in sed-4.7
Date: Thu, 5 Sep 2019 11:01:45 +0000
[Message part 1 (text/plain, inline)]
Dear Sir:

I saw a test failure in the "make check" phase of building sed-4.7.  The
error was:

../build-aux/test-driver: line 107: 405457 Aborted                 (core
dumped) "$@" > $log_file 2>&1
FAIL: test-symlink

I was building using gcc 6.3.0.

Is the test failure serious?

Thank you.  

Tom Oppe

[smime.p7s (application/pkcs7-signature, attachment)]

Information forwarded to bug-sed <at> gnu.org:
bug#37312; Package sed. (Thu, 05 Sep 2019 14:55:02 GMT) Full text and rfc822 format available.

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

From: Eric Blake <eblake <at> redhat.com>
To: "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor"
 <Thomas.C.Oppe <at> erdc.dren.mil>, 37312 <at> debbugs.gnu.org
Subject: Re: bug#37312: test failure in sed-4.7
Date: Thu, 5 Sep 2019 09:54:42 -0500
[Message part 1 (text/plain, inline)]
On 9/5/19 6:01 AM, Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via wrote:
> Dear Sir:
> 
> I saw a test failure in the "make check" phase of building sed-4.7.  The
> error was:
> 
> ../build-aux/test-driver: line 107: 405457 Aborted                 (core
> dumped) "$@" > $log_file 2>&1
> FAIL: test-symlink
> 
> I was building using gcc 6.3.0.

Insufficient details - you didn't tell us what your operating system
was.  It may be a bug in your libc, or a weakness in the gnulib test
that is trying to determine if your libc is POSIX-compliant.  The
correct fix will be updating gnulib (either to work around your broken
libc, or to fix the broken assumption in the gnulib test), and then
releasing a new sed with updated gnulib.

> 
> Is the test failure serious?

But in the meantime, how often do you really expect sed to be creating
symlinks?  This is probably safe to ignore in the context of using your
just-built sed.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

[signature.asc (application/pgp-signature, attachment)]

Information forwarded to bug-sed <at> gnu.org:
bug#37312; Package sed. (Thu, 05 Sep 2019 19:40:02 GMT) Full text and rfc822 format available.

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

From: Assaf Gordon <assafgordon <at> gmail.com>
To: Eric Blake <eblake <at> redhat.com>,
 "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>,
 37312 <at> debbugs.gnu.org
Subject: Re: bug#37312: test failure in sed-4.7
Date: Thu, 5 Sep 2019 13:39:32 -0600
close 37312
stop

Hello,

On 2019-09-05 8:54 a.m., Eric Blake wrote:
> On 9/5/19 6:01 AM, Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via wrote:
>> I saw a test failure in the "make check" phase of building sed-4.7.  The
>> error was:
>>
>> ../build-aux/test-driver: line 107: 405457 Aborted                 (core
>> dumped) "$@" > $log_file 2>&1
>> FAIL: test-symlink
>>
>> I was building using gcc 6.3.0.

First,
Thank you for taking the time to report the problem.

Technically,
This is not a bug in "sed", but in a common library we use called 
"gnulib". It could still be a bug, or perhaps a problem specific to your 
environment - but it isn't directly related to sed.


> Insufficient details - you didn't tell us what your operating system
> was.  It may be a bug in your libc, or a weakness in the gnulib test
> that is trying to determine if your libc is POSIX-compliant.

As Eric wrote,
We need few more details.

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?

If you don't get an error when running it directly,
do you still see an error when running "make check" ?


2.
What is the operating system, and the file system you are using?
The output of the following commands would help to diagnose the issue:

    uname -a
    lsb_release -a
    stat -f .
    df -h --output .


>> Is the test failure serious?
> 
> But in the meantime, how often do you really expect sed to be creating
> symlinks?  This is probably safe to ignore in the context of using your
> just-built sed.

sed deals with symlinks directly only when the
    "--in-place --follow-symlinks"
options are used together.
sed also includes a specific "follow-symlink" test and it didn't fail on 
your system.

In practice, like Eric wrote, this failure should not affect you under
typical sed usage.


As such, I'm closing this bug report, but discussion can continue by
replying to this thread. If this ends up being a problem in gnulib,
we can forward it to bug-gnulib <at> gnu.org .

regards,
 - assaf







bug closed, send any further explanations to 37312 <at> debbugs.gnu.org and "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil> Request was from Assaf Gordon <assafgordon <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 05 Sep 2019 19:40:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-sed <at> gnu.org:
bug#37312; Package sed. (Fri, 06 Sep 2019 02:50:01 GMT) Full text and rfc822 format available.

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

From: "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>
To: 'Eric Blake' <eblake <at> redhat.com>, "37312 <at> debbugs.gnu.org"
 <37312 <at> debbugs.gnu.org>
Subject: RE: bug#37312: test failure in sed-4.7
Date: Fri, 6 Sep 2019 02:16:52 +0000
[Message part 1 (text/plain, inline)]
Eric,

Here are the system details:

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> uname -srv
Linux 3.10.0-862.3.2.el7.x86_64 #1 SMP Tue May 15 18:22:15 EDT 2018

The GLIBC versions is:

voodoo03> /lib/libc.so.6
GNU C Library (GNU libc) stable release version 2.17, by Roland McGrath et
al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.8.5 20150623 (Red Hat 4.8.5-28).
Compiled on a Linux 3.10.0 system on 2018-02-05.
Available extensions:
	The C stubs add-on version 2.1.2.
	crypt add-on version 2.1 by Michael Glad and others
	GNU Libidn by Simon Josefsson
	Native POSIX Threads Library by Ulrich Drepper et al
	BIND-8.2.3-T5B
	RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

The context is that I am trying to build and test the GCC 9.2.0 compiler,
which was recently released, on a number of different platforms.  Some
platforms have a very old GLIBC (version 2.11.3), so I am also trying to
install GLIBC 2.30.  To do that, I am also installing the linux-5.2 headers,
which also requires a recent version of sed.  Apparently, I need sed to be
successful in making symbolic links before the GLIBC build will work.

Tom Oppe


-----Original Message-----
From: Eric Blake [mailto:eblake <at> redhat.com] 
Sent: Thursday, September 5, 2019 10:55 AM
To: Oppe, Thomas C ERDC-RDE-ITL-MS Contractor <Thomas.C.Oppe <at> erdc.dren.mil>;
37312 <at> debbugs.gnu.org
Subject: Re: bug#37312: test failure in sed-4.7

On 9/5/19 6:01 AM, Oppe, Thomas C ERDC-RDE-ITL-MS Contractor via wrote:
> Dear Sir:
> 
> I saw a test failure in the "make check" phase of building sed-4.7.  
> The error was:
> 
> ../build-aux/test-driver: line 107: 405457 Aborted                 (core
> dumped) "$@" > $log_file 2>&1
> FAIL: test-symlink
> 
> I was building using gcc 6.3.0.

Insufficient details - you didn't tell us what your operating system was.
It may be a bug in your libc, or a weakness in the gnulib test that is
trying to determine if your libc is POSIX-compliant.  The correct fix will
be updating gnulib (either to work around your broken libc, or to fix the
broken assumption in the gnulib test), and then releasing a new sed with
updated gnulib.

> 
> Is the test failure serious?

But in the meantime, how often do you really expect sed to be creating
symlinks?  This is probably safe to ignore in the context of using your
just-built sed.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

[smime.p7s (application/pkcs7-signature, attachment)]

Information forwarded to bug-sed <at> gnu.org:
bug#37312; Package sed. (Fri, 06 Sep 2019 06:48:02 GMT) Full text and rfc822 format available.

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

From: Assaf Gordon <assafgordon <at> gmail.com>
To: "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>
Cc: 37312 <at> debbugs.gnu.org, "Oppe,
 Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>
Subject: test-symlink fails on "lustre" file system (was: bug#37312: test
 failure in sed-4.7)
Date: Fri, 6 Sep 2019 00:47:07 -0600
(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






Information forwarded to bug-sed <at> gnu.org:
bug#37312; Package sed. (Fri, 06 Sep 2019 09:43:02 GMT) Full text and rfc822 format available.

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

From: Bruno Haible <bruno <at> clisp.org>
To: bug-gnulib <at> gnu.org
Cc: 37312 <at> debbugs.gnu.org, Assaf Gordon <assafgordon <at> gmail.com>, "Oppe,
 Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>
Subject: Re: test-symlink fails on "lustre" file system
Date: Fri, 06 Sep 2019 11:42:36 +0200
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/





Information forwarded to bug-sed <at> gnu.org:
bug#37312; Package sed. (Fri, 06 Sep 2019 19:05:02 GMT) Full text and rfc822 format available.

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

From: "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>
To: 'Bruno Haible' <bruno <at> clisp.org>, "bug-gnulib <at> gnu.org" <bug-gnulib <at> gnu.org>
Cc: "37312 <at> debbugs.gnu.org" <37312 <at> debbugs.gnu.org>,
 Assaf Gordon <assafgordon <at> gmail.com>
Subject: RE: test-symlink fails on "lustre" file system
Date: Fri, 6 Sep 2019 19:03:54 +0000
[Message part 1 (text/plain, inline)]
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 <at> clisp.org] 
Sent: Friday, September 6, 2019 5:43 AM
To: bug-gnulib <at> gnu.org
Cc: Assaf Gordon <assafgordon <at> gmail.com>; 37312 <at> debbugs.gnu.org; Oppe,
Thomas C ERDC-RDE-ITL-MS Contractor <Thomas.C.Oppe <at> 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


[smime.p7s (application/pkcs7-signature, attachment)]

Information forwarded to bug-sed <at> gnu.org:
bug#37312; Package sed. (Fri, 06 Sep 2019 22:19:01 GMT) Full text and rfc822 format available.

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

From: Bruno Haible <bruno <at> clisp.org>
To: bug-gnulib <at> gnu.org, "Oppe,
 Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>
Cc: Assaf Gordon <assafgordon <at> gmail.com>,
 "37312 <at> debbugs.gnu.org" <37312 <at> debbugs.gnu.org>
Subject: Re: test-symlink fails on "lustre" file system
Date: Sat, 07 Sep 2019 00:18:26 +0200
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 <at> clisp.org>

	symlink tests: Avoid test failure on Linux with Lustre file system.
	Reported by Thomas C Oppe <Thomas.C.Oppe <at> 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);





Information forwarded to bug-sed <at> gnu.org:
bug#37312; Package sed. (Sat, 07 Sep 2019 14:58:02 GMT) Full text and rfc822 format available.

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

From: "Oppe, Thomas C ERDC-RDE-ITL-MS Contractor" <Thomas.C.Oppe <at> erdc.dren.mil>
To: 'Bruno Haible' <bruno <at> clisp.org>, "bug-gnulib <at> gnu.org" <bug-gnulib <at> gnu.org>
Cc: Assaf Gordon <assafgordon <at> gmail.com>,
 "37312 <at> debbugs.gnu.org" <37312 <at> debbugs.gnu.org>
Subject: RE: test-symlink fails on "lustre" file system
Date: Sat, 7 Sep 2019 14:57:19 +0000
[Message part 1 (text/plain, inline)]
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 <at> clisp.org] 
Sent: Friday, September 6, 2019 6:18 PM
To: bug-gnulib <at> gnu.org; Oppe, Thomas C ERDC-RDE-ITL-MS Contractor
<Thomas.C.Oppe <at> erdc.dren.mil>
Cc: 37312 <at> debbugs.gnu.org; Assaf Gordon <assafgordon <at> 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 <at> clisp.org>

	symlink tests: Avoid test failure on Linux with Lustre file system.
	Reported by Thomas C Oppe <Thomas.C.Oppe <at> 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);


[smime.p7s (application/pkcs7-signature, attachment)]

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

This bug report was last modified 4 years and 176 days ago.

Previous Next


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