Subject: Re: bug#73022: 31.0.50; Crash in build_frame_matrix_from_leaf_window after C-x 2 and reducing terminal size

From: Daniel Clemente <[email-masked]>
Date: Sun, 8 Sep 2024 11:07:48 +0000

> #0  terminate_due_to_signal (sig=6, backtrace_limit=40) at ../../src/emacs.c:432
> #1  0x000000000061b51b in emacs_abort () at ../../src/sysdep.c:2391
> #2  0x0000000000541fc2 in cmcheckmagic (tty=0x1ebe0d0) at ../../src/cm.c:122
> #3  0x0000000000546564 in tty_write_glyphs (f=0x1e7bb30, string=0x1e9afe0, len=80) at ../../src/term.c:819
> #4  0x00000000005508c9 in write_glyphs (f=0x1e7bb30, string=0x1e9a0e0, len=80) at ../../src/terminal.c:164
> #5  0x000000000042a6d7 in update_frame_line (f=0x1e7bb30, vpos=4, updating_menu_p=false) at ../../src/dispnew.c:5326
> #6  0x00000000004298c5 in update_frame_1 (f=0x1e7bb30, force_p=true, inhibit_id_p=false, set_cursor_p=true,
> […]
> so the original assertion violation is gone here.
>

We're dealing with two type of assertion violations / crashes / backtraces:
- in update_frame_line, that causes chcheckmagic to fail
- in build_frame_matrix_from_leaf_window, assertion violation

With the same build I mentioned in the top post (that is, without any
code change), I can see both, after following the same instructions I
posted.
The update_frame_line happens much more frequently, therefore I
thought that the update_frame_line was fixed in 71289; but it's not: I
just reproduced the update_frame_line issue.

So you can't be sure that the original assertion violation is gone.
Your build may have crashed with the update_frame_line crash, before
reaching the build_frame_matrix_from_leaf_window crash.
The best would be to solve both crashes :-)

I don't know whether both crashes are related.