guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A stack overflow problem.


From: Mark H Weaver
Subject: Re: A stack overflow problem.
Date: Fri, 06 Dec 2013 10:45:19 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Mark H Weaver <address@hidden> skribis:
>
>> Hi Ludovic,
>>
>>> The problem here is that, when the second overflow occurs, that reserve
>>> has already been used, so it just aborts.
>>>
>>> Commit 70057f3 in ‘stable-2.0’ fixes that (will be in 2.0.10.)
>>
>> Thanks for fixing this, but there's still a slight problem.  After a VM
>> overflow is caught and the user is left in the debugger, typing ",q"
>> sometimes causes another stack overflow.
[...]

> The second overflow occurs because the stack reserve is reinstated
> before the handler is invoked, so the handler doesn’t have enough stack
> space to run:

[...]

> I tried using a making the ‘quit’ handler in repl.scm a pre-unwind
> handler but that doesn’t help.  Ideas?

I think we need two different stack reserves: one that's used normally,
and another smaller one that's used within the debugger after a stack
overflow.  It should be possible to do some minor debugging after a
stack overflow: enough to see where the overflow happened and maybe look
at some stack frames to investigate why it happened.  The normal stack
reserve should be reinstated after leaving the debugger.

What do you think?

      Mark



reply via email to

[Prev in Thread] Current Thread [Next in Thread]