From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9 Date: Fri, 06 Dec 2013 19:56:51 +0100 Message-ID: <52A21DF3.6040709@gmx.at> References: <529F3E96.1070904@gmx.at> <3E956BE9-9DFC-4156-AE93-53DBD06FECC5@swipnet.se> <529F6F2A.6070904@gmx.at> <52A0248B.7030805@gmx.at> <89B5C332-6027-4395-BB1F-0A6FA17C430F@swipnet.se> <83eh5r2m9h.fsf@gnu.org> <9DC79E5A-5D6E-46C0-A349-C8CD803C5513@swipnet.se> <837gbj2gp0.fsf@gnu.org> <04BC6316-338E-4025-A9CC-006F576051C1@swipnet.se> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1386356306 2681 80.91.229.3 (6 Dec 2013 18:58:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 6 Dec 2013 18:58:26 +0000 (UTC) Cc: Jules Colding , 16049@debbugs.gnu.org To: Jan =?UTF-8?Q?Dj=C3=A4rv?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Dec 06 19:58:31 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Vp0bY-0007NL-B1 for geb-bug-gnu-emacs@m.gmane.org; Fri, 06 Dec 2013 19:58:24 +0100 Original-Received: from localhost ([::1]:32928 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vp0bX-0003Dd-VN for geb-bug-gnu-emacs@m.gmane.org; Fri, 06 Dec 2013 13:58:23 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43859) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vp0bM-00035E-JE for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 13:58:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vp0bC-0008Tg-S7 for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 13:58:12 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:48827) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vp0bC-0008Tc-Pm for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 13:58:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Vp0bC-0002wn-KT for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 13:58:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 06 Dec 2013 18:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16049 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16049-submit@debbugs.gnu.org id=B16049.138635622811230 (code B ref 16049); Fri, 06 Dec 2013 18:58:02 +0000 Original-Received: (at 16049) by debbugs.gnu.org; 6 Dec 2013 18:57:08 +0000 Original-Received: from localhost ([127.0.0.1]:34603 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vp0aJ-0002uy-4h for submit@debbugs.gnu.org; Fri, 06 Dec 2013 13:57:07 -0500 Original-Received: from mout.gmx.net ([212.227.17.22]:61381) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vp0a7-0002uL-LO for 16049@debbugs.gnu.org; Fri, 06 Dec 2013 13:57:05 -0500 Original-Received: from [62.47.36.91] ([62.47.36.91]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0MSutp-1VzHQR0Ijt-00RpxY for <16049@debbugs.gnu.org>; Fri, 06 Dec 2013 19:56:54 +0100 In-Reply-To: <04BC6316-338E-4025-A9CC-006F576051C1@swipnet.se> X-Provags-ID: V03:K0:bcdWZ/S6B4CEZTOnEtxDcpWxlgcxJ+KJHYLWbyDDjlYRsYZCo80 IjP5wH2QUGD09qCcm7b/ZlndmnTdevLzpXovwKCC1LvPVt2RnZtrD7315J0xZBIQTwdBA9b YC55YH468hXUcRkP8ng/uZ0S5Auj1KeFn2iKSycPW9oaO3crvLkraOksNnR4KYOlD3fLrMG HK0CtWd8QmOshB27u9ANw== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x 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:81560 Archived-At: > The root cause is grow_mini_window in window.c. > > It sets w->pixel_height to a large negative value, and it is all downhill from there. > It is called twice. Right before w->pixel_height += pixel_height; > > the values for pixelwise, w->pixel_height, pixel_height, line_height, FRAME_LINE_HEIGTH(f), delta and XINT (height) are: > > 1 1 -47 -3 14 13 47 > > The 1 for w->pixel_height looks wrong. > This will set w->pixel_height to -46. > The second call: > > 1 -46 -2147483603 .153391685 14 60 0 > > I'm not sure how this function is supposed to work. pixel_value is negative or it is a huge positive value. Is it relying on overflow? IIUC this occurs with pixel values not yet assigned. That is, the minibuffer window still has a line and pixel height of 1 but the frame's character height has already changed so the relations are wrong. I had this problem on Windows and did in w32fns.c /* PXW: This is a duplicate from below. We have to do it here since otherwise x_set_tool_bar_lines will work with the character sizes installed by init_frame_faces while the frame's pixel size is still calculated from a character size of 1 and we subsequently hit the eassert (height >= 0) assertion in window_box_height. The non-pixelwise code apparently worked around this because it had one frame line vs one toolbar line which left us with a zero root window height which was obviously wrong as well ... */ width = FRAME_TEXT_WIDTH (f); height = FRAME_TEXT_HEIGHT (f); FRAME_TEXT_HEIGHT (f) = 0; SET_FRAME_WIDTH (f, 0); change_frame_size (f, width, height, 1, 0, 0, 1); and on GTK where I did in xfns.c completely the same #ifdef USE_GTK /* PXW: This is a duplicate from below. We have to do it here since otherwise x_set_tool_bar_lines will work with the character sizes installed by init_frame_faces while the frame's pixel size is still calculated from a character size of 1 and we subsequently hit the eassert (height >= 0) assertion in window_box_height. The non-pixelwise code apparently worked around this because it had one frame line vs one toolbar line which left us with a zero root window height which was obviously wrong as well ... */ width = FRAME_TEXT_WIDTH (f); height = FRAME_TEXT_HEIGHT (f); FRAME_TEXT_HEIGHT (f) = 0; SET_FRAME_WIDTH (f, 0); change_frame_size (f, width, height, 1, 0, 0, 1); #endif /* USE_GTK */ It's a very weird issue but you didn't make it till window_box_height apparently, so I don't know whether it's related. martin