[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: |
Stefan Monnier |
Subject: |
Re: [Emacs-diffs] trunk r117741: Handle C stack overflow caused by too nested Lisp evaluation. |
Date: |
Wed, 27 Aug 2014 01:04:59 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) |
>>> + 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.
Then please name it "internal--top-level-message" or somesuch.
>>> + /* 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.
Right, we should just abort.
Stefan