It is about a bug in the handling of stack overflows reported by OberonCore.
The first stack overflow is handled well, but subsequent stack overflows crash the BB process.
Please see http://redmine.blackboxframework.org/issues/25.
A proposal to fix the bug exists from luowy.
I have put it into the branch issue-#25.
@luowy: can you please comment on the bug fix. What is going on here in detail.
Why is the page guard required at all? What effect has it to increase the size?
Did you find this solution by try-and-error or by fully understanding the
working of the trap handler?
For all:
Here is the test program:
Code: Select all
MODULE TestCrash;
IMPORT Log := StdLog;
CONST n = 8000;
PROCEDURE Do* ;
VAR a: ARRAY n, n OF REAL;
BEGIN
Log.Int(LEN(a, 0)); Log.Ln;
END Do;
END TestCrash.
TestCrash.Do
close the trap dialog, and click the command again,
then BB will crash.
- Josef