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 - 21 Dec 2011