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

From: martin rudalics <[email-masked]>
Date: Thu, 5 Sep 2024 10:18:52 +0200

> In any case, I can cause the assertion violation even after making the
 > change you suggested above.

Following the OP's recipe I now get

#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, updating_menu_p=false) at ../../src/dispnew.c:5008
#7  0x000000000042514e in update_frame (f=0x1e7bb30, force_p=true, inhibit_hairy_id_p=false) at ../../src/dispnew.c:3346
#8  0x000000000047f556 in redisplay_internal () at ../../src/xdisp.c:17566
#9  0x00000000004800c7 in redisplay_preserve_echo_area (from_where=11) at ../../src/xdisp.c:17849
#10 0x0000000000740b5a in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at ../../src/process.c:5583
#11 0x000000000042df55 in sit_for (timeout=make_fixnum(30), reading=true, display_option=1) at ../../src/dispnew.c:6335
#12 0x00000000005f1523 in read_char (commandflag=1, map=XIL(0x7f59e8999aa3), prev_event=XIL(0), used_mouse_menu=0x7ffe2d75980f, end_time=0x0) at ../../src/keyboard.c:2926
#13 0x0000000000604743 in read_key_sequence (keybuf=0x7ffe2d7599c0, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at ../../src/keyboard.c:10747
#14 0x00000000005ecddb in command_loop_1 () at ../../src/keyboard.c:1424
#15 0x00000000006cb57b in internal_condition_case (bfun=0x5ec9ac <command_loop_1>, handlers=XIL(0x90), hfun=0x5ebe2e <cmd_error>) at ../../src/eval.c:1598
#16 0x00000000005ec573 in command_loop_2 (handlers=XIL(0x90)) at ../../src/keyboard.c:1163
#17 0x00000000006ca9d1 in internal_catch (tag=XIL(0x12360), func=0x5ec549 <command_loop_2>, arg=XIL(0x90)) at ../../src/eval.c:1277
#18 0x00000000005ec505 in command_loop () at ../../src/keyboard.c:1141
#19 0x00000000005eb8d0 in recursive_edit_1 () at ../../src/keyboard.c:749
#20 0x00000000005ebafc in Frecursive_edit () at ../../src/keyboard.c:832
#21 0x00000000005e7382 in main (argc=3, argv=0x7ffe2d759ff8) at ../../src/emacs.c:2624

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)

so the original assertion violation is gone here.

martin