bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#33034: `unwind-protect' cleanup form is not executed if body dies in


From: Paul Eggert
Subject: bug#33034: `unwind-protect' cleanup form is not executed if body dies in stack overflow
Date: Sun, 14 Oct 2018 10:02:59 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

Thanks for the bug report; I installed the attached to fix it. The problem with your test case was neither C stack overflow nor failure to unwind the Lisp stack: it was failure to restore the Lisp evaluation depth (which is a separate thing from the Lisp stack size).

By the way, why are there two different limits? That slows the interpreter down a bit. Why don't we simply have a limit for the Lisp stack size? Every time lisp_eval_depth grows, the stack size grows, so limiting the stack limits the evaluation depth for free. If we had done things this way, the interpreter would be a bit faster and this bug would never have occurred.

Attachment: 0001-Fix-lisp_eval_depth-in-unwind-protect-cleanup.patch
Description: Text Data


reply via email to

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