While running an assert or debug VM, I noticed repeated logs in console:
(((usqInt)sourceIndex)) < endOfSource 2132
This corresponds to failing assert: in BitBltSimulation slang
srcLongAt: idx <inline: #always> self assert: idx asUnsignedInteger < endOfSource. ^self long32At: idx
It is easily reproducible with this Squeak test:
BitmapStreamTests new testShortIntegerArrayReadRefStream2.
Such read past end is benign, except in rare case when we read past a page boundary and cause a SEGV!
Via LLDB or via VM SImulation, we can find that it is related to the case when we `preload `a word from source and next source word because we think that we need more than 1 source word to fill 1st dest word.
I have identified and hopefully fixed the bug in VMMaker.oscog-nice.2563 https://source.squeak.org/VMMaker/VMMaker.oscog-nice.2563.diff
Closed #426.
vm-dev@lists.squeakfoundation.org