GNU bug report logs - #33034
`unwind-protect' cleanup form is not executed if body dies in stack overflow

Previous Next

Package: emacs;

Reported by: Paul Pogonyshev <pogonyshev <at> gmail.com>

Date: Sat, 13 Oct 2018 10:09:01 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: pogonyshev <at> gmail.com
Cc: 33034 <at> debbugs.gnu.org
Subject: bug#33034: `unwind-protect' cleanup form is not executed if body dies in stack overflow
Date: Sat, 13 Oct 2018 14:29:57 +0300
> Date: Sat, 13 Oct 2018 14:01:00 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 33034 <at> debbugs.gnu.org
> 
> > I haven't looked into the source code, but it seems that these
> > examples don't involve C-level stack overflow.
> 
> You are right, this issue is unrelated to C stack overflow.

What actually happens here is that the cleanup form _is_ called, but
it again hits the limit of Lisp local bindings, and therefore itself
signals an error.  And unwind-protect does not protect cleanup forms
(this is documented).




This bug report was last modified 6 years and 222 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.