Try it in Squeak and pick the relevant methods. Open a bug report and commit the fix. Of course, original authorship will somehow be spoiled, so be kind and cite them in commit message.

Le lun. 11 f��vr. 2019 �� 07:59, David Richards <david.i.richards.iii@gmail.com> a ��crit��:
Hello community.

Kindly consider:

| n i r |
n := ( 2 ** 256 ) - 1 .�� "the largest 256-bit value"
i := ( 0 to: n ) .�� "the interval 0 to 2**256-1"
"Produce three sets of computed test results."
3 timesRepeat: [
�� ��Transcript show: ( r := i atRandom ) ; cr .
�� ��Transcript show: ( r asByteArray hex ) ; cr . ]

According to comments in Pharo library code, atRandom fails for integer magnitudes greater than 2**30 .�� A reason for this limitation is not given, and it's not clear to a novice such as myself why the computed result of atRandom is permitted to sometimes be in conflict with the semantics of atRandom .

Can anyone provide a basic explanation of the rationale for a 'broken' atRandom ?

Alternatively, is this a known bug?

Thanks.
dr