I’m getting an infinite loop occassionally in FastSemihosting.cpp between lines 189-192
int done = 0;
do
{
done += WriteRawFastSemihostingData(pBuffer, size, 0);
} while (!writeAll || done != size);
Here are the locals from a pause:
channel 0x01 ‘\x01’ unsigned char
pBuffer 0xd00148e0 <FixedSizeHeap+84192> const void *
size 0x00000064 int
writeAll 0x00000001 int
done 0x00618973 int
From a glance, I feel like done should never be greater than size, but I could be wrong.