Hi Bruno,

Bruno Haible via GNU coreutils General Discussion <[email protected]>
writes:

> + timeout 10 env '--default-signal=PIPE' /bin/sh -c '(env date +%s 2>full.err 
> >/dev/full)'
> + test 1 '=' 124
> + grep -E 'No space left on device' full.err
> + fail=1

The issue here, and likely for the other cases, is that Musl's fclose
returns without indicating an error. See the following output:

    # glibc
    $ ltrace -e fclose ./src/date > /dev/full
    date->fclose(0x7f2cfdf7f5c0) = -1
    date: write error: No space left on device
    +++ exited (status 1) +++

    # musl, not sure why '-e' is broken here...
    $ ltrace -e fclose ./src/date > /dev/full
    Assertion failed: bp->libsym == NULL (proc.c: breakpoint_for_symbol: 768)
    Aborted                    (core dumped) ltrace -e fclose ./src/date > 
/dev/full
    $ ltrace ./src/date 2>&1 > /dev/full | grep fclose
    fclose(0x7fc6c8363280) = 0

This, along with ferror (stdout) returning 1, causes close_stream to set
errno to zero. Which leads to this test failing since strerror (errno)
will not be printed.

I'm not sure what the proper fix would be here.

Collin

  • misc/io-errors fails on ... Bruno Haible via GNU coreutils General Discussion
    • Re: misc/io-errors ... Collin Funk
      • Re: misc/io-err... Bruno Haible via GNU coreutils General Discussion
        • Re: misc/io... Collin Funk
          • Re: mis... Bruno Haible via GNU coreutils General Discussion
            • Re... Collin Funk
              • ... Bruno Haible via GNU coreutils General Discussion
                • ... Bruno Haible via GNU coreutils General Discussion
                • ... Collin Funk
                • ... Bruno Haible via GNU coreutils General Discussion
                • ... Collin Funk
                • ... Bruno Haible via GNU coreutils General Discussion

Reply via email to