Subject: Re: bug#51007: 27.2; emacs hangs when using window-toggle-side-windows

From: Eli Zaretskii <[email-masked]>
Date: Sun, 10 Oct 2021 09:20:01 +0300

> From: martin rudalics <[email-masked]>
> Date: Sat, 9 Oct 2021 20:57:52 +0200
> Cc: [email-masked]
> 
> #0  0x00000000005acb54 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at ../../src/emacs.c:400
> #1  0x000000000065acc7 in die (msg=0x786590 "r->glyphs[TEXT_AREA] >= fr->glyphs[TEXT_AREA] && r->glyphs[LAST_AREA] <= fr->glyphs[LAST_AREA]", file=0x78629b "../../src/dispnew.c", line=1899) at ../../src/alloc.c:7478
> #2  0x000000000041cfab in fake_current_matrices (window=XIL(0x2444a2d)) at ../../src/dispnew.c:1898
> #3  0x000000000041ce37 in fake_current_matrices (window=XIL(0x252e995)) at ../../src/dispnew.c:1882
> #4  0x000000000041d7ba in adjust_frame_glyphs_for_frame_redisplay (f=0x24447e8) at ../../src/dispnew.c:2111
> #5  0x000000000041cd11 in adjust_frame_glyphs (f=0x24447e8) at ../../src/dispnew.c:1838
> 
> I'll try to look into what goes wrong here as soon as I understand what
> that assertion really means.

It's a basic sanity check that makes sure the window you are deleting
indeed belongs to the frame you think it does.  Since on TTY frames
the window glyph matrices are actually portions of the frame glyph
matrix, this assertion makes sure the window's glyphs of a row are
completely enclosed in the corresponding frame's glyphs.

What are the actual values of the data in this assertion:

	      eassert (r->glyphs[TEXT_AREA] >= fr->glyphs[TEXT_AREA]
		       && r->glyphs[LAST_AREA] <= fr->glyphs[LAST_AREA]);