From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#7728: 24.0.50; GDB backtrace from abort Date: Thu, 13 Jan 2011 19:26:46 -0500 Message-ID: References: <30041A5C411E45A7B7AF7A9ECA3AA0BE@us.oracle.com><83y67echvm.fsf@gnu.org> <837heopknq.fsf@gnu.org> <4D2D5E29.3010502@gmx.at> <26B139ADC64E4827BE54938B3CF26872@us.oracle.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1294966480 31780 80.91.229.12 (14 Jan 2011 00:54:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 14 Jan 2011 00:54:40 +0000 (UTC) Cc: 7728@debbugs.gnu.org To: "Drew Adams" Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jan 14 01:54:36 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PdXvu-0004oi-Um for geb-bug-gnu-emacs@m.gmane.org; Fri, 14 Jan 2011 01:54:27 +0100 Original-Received: from localhost ([127.0.0.1]:39551 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PdXvu-0003CA-D9 for geb-bug-gnu-emacs@m.gmane.org; Thu, 13 Jan 2011 19:54:26 -0500 Original-Received: from [140.186.70.92] (port=58577 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PdXvp-0003C3-Iw for bug-gnu-emacs@gnu.org; Thu, 13 Jan 2011 19:54:22 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PdXvo-00046V-BA for bug-gnu-emacs@gnu.org; Thu, 13 Jan 2011 19:54:21 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40756) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PdXvo-00046Q-6s for bug-gnu-emacs@gnu.org; Thu, 13 Jan 2011 19:54:20 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1PdXOd-0006xG-Bq; Thu, 13 Jan 2011 19:20:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 14 Jan 2011 00:20:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7728 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 7728-submit@debbugs.gnu.org id=B7728.129496436026626 (code B ref 7728); Fri, 14 Jan 2011 00:20:03 +0000 Original-Received: (at 7728) by debbugs.gnu.org; 14 Jan 2011 00:19:20 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PdXNv-0006vO-EH for submit@debbugs.gnu.org; Thu, 13 Jan 2011 19:19:19 -0500 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PdXNs-0006vD-TS for 7728@debbugs.gnu.org; Thu, 13 Jan 2011 19:19:17 -0500 Original-Received: from eliz by fencepost.gnu.org with local (Exim 4.69) (envelope-from ) id 1PdXV8-0003VI-Sm; Thu, 13 Jan 2011 19:26:46 -0500 In-reply-to: (drew.adams@oracle.com) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Thu, 13 Jan 2011 19:20:03 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:43343 Archived-At: > From: "Drew Adams" > Cc: "'Eli Zaretskii'" , <7728@debbugs.gnu.org> > Date: Thu, 13 Jan 2011 09:57:11 -0800 > > In this case the `save-window-excursion' should amount to a no-op in the end. > The source and target window and frame need not be the same in general, but they > are the same in the crashes I reported. I don't believe this to be true, at least not from Emacs's internals POV. The code that crashes clearly executes the branch where the frame recorded by save-window-excursion is NOT the selected frame by the time the body of save-window-excursion is done being evaluated. > * Let me repeat that the _source code works fine_ - no error, no crash, no bug. > > * Let me repeat too that the byte-compiled code (no matter which Emacs version > it was compiled with) works fine in all Emacs versions except the current > development code - no error, no crash, no bug. I don't think this to be relevant, sorry. I'm inclined to think that it's some weird side effect of Edebug, or maybe something else. The C backtrace is very clear and there's no ambiguity whatsoever in interpreting it: when save-window-excursion involves switching frames, the restoration of the original window configuration runs a high risk to hit this bug, especially when many standard buffers (minibuffer, *Help*, "Completions*", etc.) use separate frames. > This is a _regression_ due to some change in the development version that no > longer plays well with the byte-compiled code. That's a possibility, but I think it's a remote one. The offending code has been in Emacs since v21.1, so the problem is not new in any way. It could be that it got exposed in the current development code due to some other unrelated change. It could also be that this is the first time you are running a binary that was built with ENABLE_CHECKING defined: without that, the abort won't happen at all. I think you interpret the latest messages incorrectly. No one is arguing that your code is the culprit. The correct way to fix this bug was pointed out by Stefan several messages ago, and I will do just that when I have time. The latest discussions were generally about the wisdom of switching frames inside save-window-excursion, and whether we should do something about its problematic semantics, that's all.