Bruno Haible <[email protected]> writes:

> The sort/sort-compress test fails in yesterday's CI (Oct 27)
> and was OK a week ago (Oct 20). Most likely caused by commit
> 2b3eb795c85633a4b808df44d19a4a9be5976c10.
>
> It fails on
>   - CentOS 7,
>   - macOS 13..26,
>   - FreeBSD 14.0,
>   - OpenBSD 7.7,
>   - Solaris 11.4.
>
> Find attached the log files.

I think I see what is happening. Pádraig and I wanted to continue if the
compress program could not be executed. However, we wrote it in a way
that depends on the return value of posix_spawn being an error. This
works on modern GNU/Linux because of clone, but not on other systems
using fork + exec. The child process has no way of returning ENOENT to
the parent process in posix_spawn if exec fails. If we wanted to do that
portably we would have to wait for the child and check that it's exit
status is 127, then fallback to an uncompressed file if so.

Collin

Reply via email to