X-Debbugs-CC: t...@invisible-island.net

在 2024-07-03星期三的 16:28 +0200,Kristian Nielsen写道:
> Package: mawk
> Version: 1.3.4.20240622-1
> Severity: normal
> 
> Dear Maintainer,
> 
> Running mawk produces wrong output from rand() on i386:
> 
>   $ echo | mawk 'BEGIN {srand(10);} {print rand()};'
>   0.158578
>   $ echo | mawk 'BEGIN {srand(10);} {print rand()};'
>   -0.276944
>   $ echo | mawk 'BEGIN {srand(10);} {print rand()};'
>   -0.387807
>   $ echo | mawk 'BEGIN {srand(10);} {print rand()};'
>   0.470306
> 
> The result of rand() should never be negative; and it should be
> deterministic after calling srand().
> 
> This occurs on i386 (tested in sbuild --arch=i386 as part of debugging a
> reproducible build problem of package openscad).
> 
> The expected output is the same value between 0 and 1, for example:
> 
>   $ echo | mawk 'BEGIN {srand(10);} {print rand()};'
>   0.559536
>   $ echo | mawk 'BEGIN {srand(10);} {print rand()};'
>   0.559536
>   $ echo | mawk 'BEGIN {srand(10);} {print rand()};'
>   0.559536
> 
> The longer story, for completeness: I am the maintainer for openscad, and I
> see openscad sometimes failing to build reproducibly on (only) i386 during
> the past year. The root cause seems to be a test script that calls awk and
> behaves unexpectedly due to getting a negative number out of rand().
> 
> The problem does not seem to occur on amd64 or arm64. Openscad doesn't build
> on armhf, so not sure if the problem in mawk is specific to i386 or may be
> specific to 32-bit for example.

Ack. Reproducible on Debian Sid (mawk/1.3.4.20240622), not reproducible on 
Debian 12
Bookworm (mawk/1.3.4.20200120). Likely a regression since 2020.

CC the mawk upstream developer to make them aware of this issue.

Thomas: if you need help in setting up a proper Debian Sid i386 environment to
reproduce the issue and do debugging, feel free to let me know.

Thanks,
Boyuan Yang

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to