emacs-devel
[Top][All Lists]
Advanced

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

Re: [Emacs-diffs] trunk r117741: Handle C stack overflow caused by too n


From: Dmitry Antipov
Subject: Re: [Emacs-diffs] trunk r117741: Handle C stack overflow caused by too nested Lisp evaluation.
Date: Wed, 27 Aug 2014 07:17:38 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0

On 08/26/2014 10:37 PM, Stefan Monnier wrote:

+  DEFVAR_LISP ("top-level-message", Vtop_level_message,
+              doc: /* Message displayed by `normal-top-level'.  */);

Why does this need to be exported to Elisp?

This is just to allow 'normal-top-level' to display an appropriate message.

+  /* Hard GC error may lead to stack overflow caused by
+     too nested calls to mark_object.  No way to survive.  */

I don't see why there's no way to survive.  Isn't it safe to interrupt
GC within the mark phase and re-run it?

Maybe (at least, it requires some more work). But if we get SIGSEGV in GC,
most likely we have 1) too deep data structures or 2) fatal error,
probably invalid pointer. Since I don't see a way to recover in either
case, I don't see how restarting GC can help.

Dmitry




reply via email to

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