The variable *stack-overflow-behaviour*
controls behavior when stack overflow is detected.
When *stack-overflow-behaviour*
is set to :error
, LispWorks signals an error.
When it is set to :warn
, LispWorks increases the stack size automatically to accommodate the overflow, but prints a warning message to signal that this has happened.
When it is set to nil
, LispWorks increases stack size silently.
Stack overflow is only detected when code was compiled with optimize qualities safety >= 1
or interruptible > 0
(see Compiler controll). Code compiled with safety = 0
and interruptible = 0
can cause an undetected stack overflow that will crash LispWorks.
In LispWorks 4.4 and previous on Windows and Linux platforms, automatic stack extension is not implemented. This has been fixed in LispWorks 5.0 and later.
LispWorks User Guide and Reference Manual - 13 Feb 2015