The integrated cross-platform development tool for ANSI Common Lisp LispWorks logo

Lisp Knowledgebase



Title: Lispworks variable to handle stack size

ID: 10018


Product: LispWorks
Version: All
OS: All Unix platforms

Description:
The variable is SYSTEM:*STACK-OVERFLOW-BEHAVIOUR*. Setting it to :WARN will cause the stack to be extended by 50% when it overflows. It should be used with care since the stack will grow indefinitely with repeated overflows.

An alternative is to make a handler for CONDITIONS:STACK-OVERFLOW that invokes the continue restart, only when the current size is less than a given threshold, e.g.

(handler-bind ((conditions:stack-overflow
                  #'(lambda (c)
                      (and (< (lw::current-stack-length) 50000)
                           (continue)))))
    (foo))

See Also:
Workaround:
Patch:

Hardware:N/A
Summary:Is there a lispworks variable that will increase the process stack size or optionally issue a warning?
Bug#:
Patch Enhancement#:
Reported:5272

Top | Back