[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9
From: |
martin rudalics |
Subject: |
bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9 |
Date: |
Fri, 06 Dec 2013 19:56:51 +0100 |
> 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
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, (continued)
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Jan Djärv, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, martin rudalics, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Jan Djärv, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Jan Djärv, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, martin rudalics, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Jan Djärv, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Eli Zaretskii, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Jan Djärv, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Eli Zaretskii, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Jan Djärv, 2013/12/06
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9,
martin rudalics <=
- bug#16049: 24.3.50; xdisp.c infloop on Mac OS X 10.9, Jan Djärv, 2013/12/07
- bug#16049: 24.3.50; xdisp.c infloop on Mac OS X 10.9, Eli Zaretskii, 2013/12/07
- bug#16049: 24.3.50; xdisp.c infloop on Mac OS X 10.9, Jan Djärv, 2013/12/07
- bug#16049: 24.3.50; xdisp.c infloop on Mac OS X 10.9, martin rudalics, 2013/12/07
- bug#16049: 24.3.50; xdisp.c infloop on Mac OS X 10.9, Jules Colding, 2013/12/07
- bug#16049: 24.3.50; xdisp.c infloop on Mac OS X 10.9, Jules Colding, 2013/12/07
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, martin rudalics, 2013/12/05
- bug#16049: 24.3.50; Crash on startup on Mac OS X 10.9, Eli Zaretskii, 2013/12/05