bug-autoconf
[Top][All Lists]
Advanced

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

Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x8


From: Alan Coopersmith
Subject: Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86
Date: Thu, 21 Dec 2023 13:46:45 -0800
User-agent: Mozilla Thunderbird

On 12/21/23 10:48, Zack Weinberg wrote:
On Thu, Dec 21, 2023, at 12:34 PM, Alan Coopersmith wrote:
For 119, the code in the Solaris find command that prints the
"find: cannot read dir sub/unwritable" message was modified last year
to make it not print that message if -prune was in effect for the directory,
so it's possible a bug in find was introduced by those changes.

Yes, I believe this is a recently introduced bug in Solaris find.
This sequence of shell commands should reproduce:

mkdir sub
mkdir sub/unwritable
touch sub/unwritable/file
chmod a-wx sub/unwritable
find sub -type d ! -perm -700 -exec chmod u+rwx {} \;

It does - I'll file a bug against Solaris find and you can ignore this
report.  (If anyone else hits it, the simple workaround is to use
/usr/gnu/bin/find instead of /usr/bin/find.)

As previously mentioned, the Solaris 11 machine I have access to is
version 11.3 (unknown patch level; if you know how to get anything
more specific than that, please let me know).

On Solaris 11.4, you can use uname -v, but on Solaris 11.3 the easiest
way I know is "pkg info entire" should have a line like:
          Version: 0.5.11 (Oracle Solaris 11.3.21.5.0)

For 261, Solaris gained a /dev/full device in Solaris 11.4.51.
Since the only purpose of this device is to return ENOSPC, I would
hope that it's fully compatible with the implementations on other OS'es,
but I don't know of any testing done to confirm that.

This may be a bug in your /bin/sh or {/usr,}/bin/printf.  The command
that failed in this test is

./config.status --header=-:input </dev/null >/dev/full

which is *expected* to print an error message (on stderr) and exit
unsuccessfully, but on your test machine it printed nothing and exited
successfully.

When I execute this command on my Linux workstation, using the files
'config.status' and 'input' from your tarball, I get

./config.status: line 978: printf: write error: No space left on device
config.status: error: could not create -

and an unsuccessful exit status.  I would guess that on your machine
the printf built-in and/or standalone printf executable are not
reporting write errors.

On Solaris 11.4, /bin/sh is currently a somewhat modified ksh93u+ -
we're working to resync with the new community upstream still.

In that shell, when I run:
  printf "test" </dev/null >/dev/full
it prints nothing and $? is set to 0.

The same happens with /usr/bin/printf instead of the shell builtin.

Since I don't have access to a Solaris 11.4 machine myself, and since
both of these appear to be plain bugs in the shell and utilities, I'm
currently not planning to make any changes because of these failures.

A two year old version of 11.4 (the 11.4.42 update) is available under terms
we hope are suitable for FOSS developers from
https://www.oracle.com/solaris/solaris11/downloads/solaris-downloads.html
if you have a supported SPARC or x86-64 machine to run it on.  Unfortunately
it doesn't include security or other updates, though we hope to get another
update released sometime in the next year or so.

We're also working to make a SPARC Solaris 11.4 machine available to the
gcc build farm, hopefully in the first part of new year.

Please let me know if you disagree; in which case, please suggest what
we should do, because I don't see any good workaround in Autoconf's code
for either issue.

That sounds fine to me.  As noted in other mail, I didn't see any failures
from configure scripts, just from the test suite.

--
        -Alan Coopersmith-                 alan.coopersmith@oracle.com
         Oracle Solaris Engineering - https://blogs.oracle.com/solaris




reply via email to

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