Based on the number, about -2billion, I suppose this is because the counter is a 32-bit integer and you made so many calls that it wrapped around. Even on my old laptop, I can get about 10,000,000 calls in 10 seconds if I run something as simple as "FOREVER [ IGNORE 1 ]" with the status window closed. At this rate, it would only take about 35 minutes to wrap around.
The fix is easy, I should use a 64-bit number to count the calls. With a number space that large, even Solitario George wouldn't have been able to wait long enough for it to wrap around.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have fixed this in [r4354], which will be included in FMSLogo 7.1.0.
I was able to reproduce this the OWL version of 6.35.0 (see screenshot), which suggests that it this was not a regression introduced by the wxWidgets port. I expect that it existed in MSWLogo, but that computers weren't fast enough for Logo to make over 2 billion calls until recently.
Based on the number, about -2billion, I suppose this is because the counter is a 32-bit integer and you made so many calls that it wrapped around. Even on my old laptop, I can get about 10,000,000 calls in 10 seconds if I run something as simple as "FOREVER [ IGNORE 1 ]" with the status window closed. At this rate, it would only take about 35 minutes to wrap around.
The fix is easy, I should use a 64-bit number to count the calls. With a number space that large, even Solitario George wouldn't have been able to wait long enough for it to wrap around.
Diff:
I have fixed this in [r4354], which will be included in FMSLogo 7.1.0.
I was able to reproduce this the OWL version of 6.35.0 (see screenshot), which suggests that it this was not a regression introduced by the wxWidgets port. I expect that it existed in MSWLogo, but that computers weren't fast enough for Logo to make over 2 billion calls until recently.
Related
Commit: [r4354]