[M3devel] thread test results on Win7 64-bit
Rodney M. Bates
rodney_bates at lcwb.coop
Tue Mar 22 19:45:28 CET 2011
The only subscript operation in this line is rd.buff[0].
From the declaration of buff in RdClass.i3:32, buff has
type REF ARRAY OF CHAR. If buff were NIL, it should give
a different runtime error (probably segfault). With the
subscript being statically zero, the only way this could
happen is if buff was allocated with a zero NUMBER. I
didn't go looking for that, but it seems unlikely.
Otherwise, it would have to be a corrupted heap object or
maybe miscompiled code. Or the runtime error message is
wrong. From this shallow reasoning, I would put my bet on
the corrupted object.
On 03/16/2011 07:13 PM, Tony Hosking wrote:
> This is the offending line:
>
> On Mar 16, 2011, at 6:50 PM, Coleburn, Randy wrote:
>
>> ***
>> *** runtime error:
>> *** An array subscript was out of range.
>> *** file "..\src\rw\FileRd.m3", line 83
>> ***
>
> n := rd.sourceH.read(
> SUBARRAY(LOOPHOLE(ADR(rd.buff[0]), ByteArrayPtr)^, 0,
> MIN (NUMBER(rd.buff^), BIG)), mayBlock := NOT dontBlock)
>
> I am very suspicious about this... anyone have any insights?
>
More information about the M3devel
mailing list