GNU bug report logs - #73022
31.0.50; Crash in build_frame_matrix_from_leaf_window after C-x 2 and reducing terminal size

Previous Next

Package: emacs;

Reported by: Daniel Clemente <n142857 <at> gmail.com>

Date: Wed, 4 Sep 2024 06:12:02 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: martin rudalics <rudalics <at> gmx.at>
To: Daniel Clemente <n142857 <at> gmail.com>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 73022 <at> debbugs.gnu.org
Subject: bug#73022: 31.0.50; Crash in build_frame_matrix_from_leaf_window after C-x 2 and reducing terminal size
Date: Sun, 8 Sep 2024 16:58:45 +0200
[Message part 1 (text/plain, inline)]
> I can cause the build_frame_matrix_from_leaf_window failed assertion (
>    glyph_row_slice_p(window_row, frame_row) is false  ) when slowly
> resizing row by row (7→6→5 rows). The number of columns doesn't matter
> (can be a normal one).
>
> You can also try maximizing/unmaximizing“the window if you window
> manager supports it. That's a way of suddenly changing the number of
> rows from a normal value (e.g. 20) to a dangerous value (e.g. 4).
> After unmaximizing it immediately crashes (if you did the C-x 2
> split).

Please try the attached diff (from my heavily edited copy of master, if
it doesn't apply cleanly, complain immediately rather than messing up
your Emacs).  It should fix two silly bugs in window.el that make a
frame's safe minimum size much too large and includes the fix I proposed
earlier here.

And it moves the assignment of FrameRows to handle_window_change_signal
in dispnew.c.  Doing it in adjust_frame_size was silly (as Gerd Möllmann
noticed earlier).  FrameRows should be the height of the tty which can
be smaller than the height of our frame.  Emacs is supposed to store it
but not to modify it according to our capabilities.

The patch does not fix the cmcheckmagic problem but makes it much less
likely to occur.  And redisplay of an insanely small tty window looks
much better here.

martin
[terminal-resize.diff (text/x-patch, attachment)]

This bug report was last modified 336 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.