From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Pogonyshev Newsgroups: gmane.emacs.bugs Subject: bug#33034: `unwind-protect' cleanup form is not executed if body dies in stack overflow Date: Sat, 13 Oct 2018 12:07:48 +0200 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Trace: blaine.gmane.org 1539425223 2880 195.159.176.226 (13 Oct 2018 10:07:03 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 13 Oct 2018 10:07:03 +0000 (UTC) To: 33034@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Oct 13 12:06:59 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gBGp1-0000dS-0n for geb-bug-gnu-emacs@m.gmane.org; Sat, 13 Oct 2018 12:06:59 +0200 Original-Received: from localhost ([::1]:44383 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gBGr6-0006ID-TG for geb-bug-gnu-emacs@m.gmane.org; Sat, 13 Oct 2018 06:09:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59423) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gBGr0-0006I7-VO for bug-gnu-emacs@gnu.org; Sat, 13 Oct 2018 06:09:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gBGr0-00017w-9n for bug-gnu-emacs@gnu.org; Sat, 13 Oct 2018 06:09:02 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:43492) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gBGr0-00017q-5A for bug-gnu-emacs@gnu.org; Sat, 13 Oct 2018 06:09:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gBGqz-0000t0-W9 for bug-gnu-emacs@gnu.org; Sat, 13 Oct 2018 06:09:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Pogonyshev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Oct 2018 10:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 33034 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.15394252913340 (code B ref -1); Sat, 13 Oct 2018 10:09:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 13 Oct 2018 10:08:11 +0000 Original-Received: from localhost ([127.0.0.1]:47749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gBGqB-0000ro-6j for submit@debbugs.gnu.org; Sat, 13 Oct 2018 06:08:11 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:49697) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gBGq9-0000rb-VM for submit@debbugs.gnu.org; Sat, 13 Oct 2018 06:08:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gBGq3-0000oC-O8 for submit@debbugs.gnu.org; Sat, 13 Oct 2018 06:08:04 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:56682) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gBGq3-0000o5-JT for submit@debbugs.gnu.org; Sat, 13 Oct 2018 06:08:03 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59307) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gBGq2-0006FK-PR for bug-gnu-emacs@gnu.org; Sat, 13 Oct 2018 06:08:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gBGq2-0000nW-2J for bug-gnu-emacs@gnu.org; Sat, 13 Oct 2018 06:08:02 -0400 Original-Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:32969) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gBGq1-0000mZ-R2 for bug-gnu-emacs@gnu.org; Sat, 13 Oct 2018 06:08:01 -0400 Original-Received: by mail-wr1-x430.google.com with SMTP id e4-v6so15933047wrs.0 for ; Sat, 13 Oct 2018 03:08:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=i6szwkQk6hFG4GRd6rOrXwK06PsABFpL7YVX/1V3Ly4=; b=E6xfbbJemjQBOJFP60I8oxyZMVkv0kJshNbbL24G5B5o6ul2C5AfNkFeb6gmHSZvBJ Vqi5FRiWlcCEaX9Ml2+XIjOp3XibZGdOMZKhOxC6M3UeelW7sLu6q301wx3w1s2RdXI2 IT0eYWMj/FKzT6NKYUhPSd2RtIJpqEbGvFO84KtEwTsNbMHDJtAfCR/EU7E4JVryxafP OZqwnECbhqokbUTCtW9esBxzAA5/cAnnuLVC+Ivguy+mfawjY9duZh6paOqrci114UlK kf0CVV8KGrPbN8LZVVcT32m7wrWbT0Cx9dcTbqwMNxgbN+5sCVVCPi7Yoy19rTiUV4RB gfIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=i6szwkQk6hFG4GRd6rOrXwK06PsABFpL7YVX/1V3Ly4=; b=Y7yjfadNS7Ua+7PbegWEWFOIaJ4NfNTKfGsCGip9LXUVUZ6TXc5wV23HlHwva4Ure9 IdGjO+Vwdxuw/q94cMEjOHC0Ci6VN6CbQjdtJzDV9agw477A1cwh3ZM0Vdtr+/hayzs8 4orD+Rt36GzdI/g/6O5gwmmUG/lPVvoUuBLu8iPh9JkPa6AYs8mCG0dC8OV1mpUpJRie AmGqBd0cpIbcLn6rQNjT0tJ7Gyql87qR6eAvC+sIljdutw6r1auqPkuLyJzTXw3SIfj6 JzX6KKDEN8QtQRLnHyIhjVayTd5euqgrK5aics29h3oqvrYY0IFb0UtYBAdWg+xhtMT5 Us/A== X-Gm-Message-State: ABuFfogbT5LodH4bKJDgy1/yDWZEYph+uGtTgOAVH0lUiHELPA+tkGfe GtV7M0U/YMDn0VY8VEN3cxQwcgbvsXqUJJ9u8WRwPuI= X-Google-Smtp-Source: ACcGV60Hpk0IbjkeM/0N0o0G21b0tnW0CyZ/LD7qXCVI4vqbf0WTiH499aZPOJjU2fQ30kdqpKhn+E1MS5cFcQzPP7Y= X-Received: by 2002:adf:9244:: with SMTP id 62-v6mr7771869wrj.130.1539425279470; Sat, 13 Oct 2018 03:07:59 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:151206 Archived-At: To reproduce: (defun overflow () (overflow)) (defun test () (interactive) (message "BEFORE") (unwind-protect (overflow) (message "CLEANUP"))) Invocation of `test' never issues message "CLEANUP", whether it is run interactively or non-interactively. By comparison, if you _catch_ the error with `condition-case': (defun test-2 () (interactive) (message "BEFORE") (unwind-protect (ignore-errors (overflow)) (message "CLEANUP"))) then cleanup form is executed properly. But if your error catcher is "above" the `unwind-protect' form, the cleanup is not executed again, even though the error is eaten as expected: (defun test-3 () (interactive) (message "BEFORE") (ignore-errors (unwind-protect (overflow) (message "CLEANUP")))) This is a perfect way to screw up your Emacs permanently (until full restart): when some `unwind-protect' cleanups are not run, you can be left with unexpected function advices, permanently altered global state etc., without any good way to undestand what's wrong. Paul