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

> On Solaris 11 OpenIndiana (from 2025) I see 1 test failure:
>
> FAIL: tests/dd/no-allocate
>
> Whereas the coreutils-9.11 prerelease had no test failure on the same machine.
>
> Find the log attached.

I haven't been able to reproduce that one, albeit using a more recent
OpenIndiana install. I was using OI-hipster-gui-20260430.iso.

Looking at the specific logs here:

> + ulimit -v 9004
> + returns_ 1 dd if=/dev/null of=/dev/null bs=9223372036854775806
> dd: memory exhausted by input buffer of size 9223372036854775806 bytes (8.0 
> EiB)
> + ulimit -v 9004
> + returns_ 1 dd if=/dev/null of=/dev/null bs=9223372036854775806 skip=1
> dd: memory exhausted by input buffer of size 9223372036854775806 bytes (8.0 
> EiB)
> + ulimit -v 9004
> + returns_ 1 dd if=/dev/null of=/dev/null bs=18446744073709551616
> dd: invalid number: '18446744073709551616': Value too large for defined data 
> type
> + ulimit -v 9004
> + returns_ 1 dd if=/dev/null of=/dev/null bs=0
> dd: invalid number: '0'
> + ulimit -v 3004
> + dd bs=30M count=0
> ../tests/dd/no-allocate.sh: xmalloc: cannot allocate 20102 bytes
> + fail=1
> + ulimit -v 3004
> + dd ibs=30M count=0
> ../tests/dd/no-allocate.sh: xmalloc: cannot allocate 20102 bytes
> + fail=1
> + ulimit -v 3004
> + dd obs=30M count=0
> ../tests/dd/no-allocate.sh: xmalloc: cannot allocate 20102 bytes
> + fail=1
> + mkfifo tape

Note that the xmalloc message there is not our xmalloc error message,
which would simply say "memory exhausted". It is also not our allocation
failure message for 'dd', which would be something like this:

    $ $(ulimit -v 5000; dd if=/dev/null bs=500M)
    dd: memory exhausted by input buffer of size 524288000 bytes (500 MiB)

I assume it happens while loading shard libraries or something like
that.

These are the tests that fail:

    # count and skip are zero, we don't need to allocate memory
    (ulimit -v $vm && dd  bs=30M count=0) || fail=1
    (ulimit -v $vm && dd ibs=30M count=0) || fail=1
    (ulimit -v $vm && dd obs=30M count=0) || fail=1

Perhaps we can increase the block sizes a bit, and give the ulimit some
wiggle room for platforms that may need to allocate more memory. WDYT?

Collin

Reply via email to