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#10296: 24.0.92; check_glyph_memory still aborting Date: Thu, 15 Dec 2011 14:14:39 +0200 Message-ID: <8339cm2frk.fsf@gnu.org> References: <4EE8548C.9030901@gmx.at> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1323951351 27613 80.91.229.12 (15 Dec 2011 12:15:51 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 15 Dec 2011 12:15:51 +0000 (UTC) Cc: 10296@debbugs.gnu.org To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Dec 15 13:15:46 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RbADy-0007w8-DS for geb-bug-gnu-emacs@m.gmane.org; Thu, 15 Dec 2011 13:15:46 +0100 Original-Received: from localhost ([::1]:37576 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RbADx-0008LQ-OC for geb-bug-gnu-emacs@m.gmane.org; Thu, 15 Dec 2011 07:15:45 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:51290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RbADr-00082C-5H for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2011 07:15:43 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RbADl-00051h-7R for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2011 07:15:39 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:38379) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RbADl-00051c-5j for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2011 07:15:33 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1RbAFC-0006TK-16 for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2011 07:17:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Dec 2011 12:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10296 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 10296-submit@debbugs.gnu.org id=B10296.132395139524841 (code B ref 10296); Thu, 15 Dec 2011 12:17:01 +0000 Original-Received: (at 10296) by debbugs.gnu.org; 15 Dec 2011 12:16:35 +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 1RbAEk-0006Sb-GB for submit@debbugs.gnu.org; Thu, 15 Dec 2011 07:16:34 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RbAEh-0006SS-C6 for 10296@debbugs.gnu.org; Thu, 15 Dec 2011 07:16:33 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0LW800400V267F00@a-mtaout20.012.net.il> for 10296@debbugs.gnu.org; Thu, 15 Dec 2011 14:14:40 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([77.126.54.125]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0LW8001QLVCCPHR0@a-mtaout20.012.net.il>; Thu, 15 Dec 2011 14:14:40 +0200 (IST) In-reply-to: <4EE8548C.9030901@gmx.at> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Thu, 15 Dec 2011 07:17:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:54982 Archived-At: > Date: Wed, 14 Dec 2011 08:47:24 +0100 > From: martin rudalics > > Bugs #8775 and #9943 seem to be still around. The scenario for #9943 > needs one additional line to trigger here on > > GNU Emacs 24.0.92.1 (i386-mingw-nt5.1.2600) > of 2011-12-13 on NESTOR > > So with emacs -Q evaluating > > (progn > (setq default-frame-alist (cons '(height . 0.2) default-frame-alist)) > (setq debug-on-error t)) > > and subsequently doing > > C-x 5 2 > C-x C-c > > gets me the following backtrace: > > (gdb) bt > #0 w32_abort () at w32fns.c:7191 > #1 0x01061dbd in check_glyph_memory () at dispnew.c:2399 > #2 0x01002eaa in shut_down_emacs (sig=0, no_x=0, stuff=50145306) > at emacs.c:2104 This is not the same bug. I'm not even sure it's a bug. The problem is that, by setting debug-on-error, you caused the debugger to be entered _before_ running the unwind-protect function set up by x-create-frame, which takes care of releasing the glyph matrices allocated for the new frame whose creation fails due the wrong value of the `height' parameter. Look at the backtrace: #2 0x01002eaa in shut_down_emacs (sig=0, no_x=0, stuff=50145306) at emacs.c:2104 #3 0x01002da6 in Fkill_emacs (arg=50145306) at emacs.c:2016 ... #14 0x01013171 in Fcommand_execute (cmd=50991226, record_flag=50145306, keys=50145306, special=50145306) at keyboard.c:10302 #15 0x01005047 in command_loop_1 () at keyboard.c:1571 #16 0x0101fd4b in internal_condition_case (bfun=0x1004977 , handlers=50203034, hfun=0x1004363 ) at eval.c:1499 #17 0x010046d3 in command_loop_2 (ignore=50145306) at keyboard.c:1159 #18 0x0101f821 in internal_catch (tag=50250186, func=0x10046b0 , arg=50145306) at eval.c:1256 #19 0x0100463a in command_loop () at keyboard.c:1124 #20 0x01003f99 in recursive_edit_1 () at keyboard.c:758 #21 0x010040e3 in Frecursive_edit () at keyboard.c:822 ... #28 0x0101df43 in call_debugger (arg=54707486) at eval.c:221 #29 0x0102078f in maybe_call_debugger (conditions=19000270, sig=50203082, data=54707270) at eval.c:1914 #30 0x01020351 in Fsignal (error_symbol=50203082, data=54707270) at eval.c:1736 #31 0x0102044c in xsignal (error_symbol=50203082, data=54707270) at eval.c:1770 #32 0x010204b2 in xsignal2 (error_symbol=50203082, arg1=50203610, arg2=50132223) at eval.c:1791 #33 0x010170d1 in wrong_type_argument (predicate=2, value=56164352) at data.c:111 #34 0x011a8fc4 in x_figure_window_size (f=0x3202a00, parms=54710358, toolbar_p=1) at frame.c:4043 #35 0x01174508 in Fx_create_frame (parameters=54710358) at w32fns.c:4279 As you see, x-create-frame threw a signal, which called the debugger, which entered the recursive edit, and then Emacs was shut down from the recursive editing level. When `abort' is being called, you can see in the debugger that command_loop_level is 1, not zero. If you type "C-]" to exit the debugger, and then "C-x C-c", then Emacs exits normally without aborting. I verified that unwind_create_frame _is_ called in that case. We never run the unwind-protect functions when Emacs is shut down from a level > 0. I don't know if this is by design (otherwise, you might be unable to exit in an orderly fashion in some case, perhaps?). Does anyone know? If this is by design, I could easily avoid this abort when command_loop_level is non-zero, if that's TRT to do.