Interpreter and Compiler Project

Some New Bugs Identified

Wednesday, 6th May 2020

Some bugs have been identified in the current release version of Tiny BASIC and are currently being fixed. Here are the details of the bugs, and of workarounds where appropriate.

The first bug involves runaway recursion. A line like 10 GOSUB 10 will not only lock up the program with an infinite loop, but will also consume more and more memory as time goes on, potentially using up all of a computer's memory if left long enough. A fix is in progress, which is to limit the depth of recursion before generating a run-time error.

The second bug is more complex but has a workaround. A program that has comments or blank lines will fail to compile when using the implied line label option. The appropriate fix for this is still under consideration, but there is a workaround. If you generate a .bas.lst file by using the --output=lst or -Olst option, and then compile the generated .bas.lst file instead of the .bas file, there will be no comment lines and the bug will not arise.

As these bugs are fixed and tested, the fixes will be uploaded to the github repository in the development branch. Once both bugs are fixed (and any others discovered along the way), a release will be made.


using GOTO or GOSUB to jump to a nonexistent line number gives a segfault instead of a runtime error

thebigh - 15:29, 14/10/2020

New Comment

Yes No