Eric Marsden <[EMAIL PROTECTED]> writes:

>>>>>> "al" == Antonio Leitao <[EMAIL PROTECTED]> writes:
>
>   al> While testing the debugger limits, I tried to generate a stack
>   al> overflow.  Unfortunately, the cmucl process dies.
>   al> 
>   al> I tried to use the safe-core and mutual recursion instead of self
>   al> recursion and even a (declare (optimize (debug 3) (safety 3))) on all
>   al> functions but the stack overflow always kills the process.
>
> unfortunately, CMUCL does not deal with stack exhaustion in a graceful
> way. Recent versions of SBCL have stack exhaustion detection thanks to
> Dan Barlow, based on a guard page on the stack. Maybe this will be
> ported to CMUCL one day.

I see.  I'll test it on SBCL (I hope the DEBUG functions are similar).

> I'm not sure about your other questions. There is a function
> DI:EVAL-IN-FRAME, and there is a continue restart set up by the
> debugger. Is that not sufficient for your needs? You will find all the
> details in the files src/code/debug.lisp and src/code/debug-int.lisp
> in the CMUCL source code. 

I was expecting that restarting a frame that is not the topmost would
require something extra.  But I didn't try your idea.  I'll see what I
can do.

Thanks,

Ant�nio Leit�o.

Reply via email to