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 {} \; As -depth is not in use here, find should execute the chmod _before_ attempting to descend into "sub/unwritable", and that should make the directory accessible again. I tested the above sequence of commands on all the following operating systems, and did not encounter any errors: aarch64c-freebsd14.0 powerpc-aix7.1.5.0 powerpc-aix7.3.1.0 sparc-solaris2.10 sparc-solaris2.11 x86_64-linux x86_64-freebsd13.2 x86_64-netbsd9.3 x86_64-openbsd7.4 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). > 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. 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. 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. Thanks again for testing. zw