Subject: bug#49959: 28.0.50; Emacs got quasi freeze

From: martin rudalics <[email-masked]>
Date: Thu, 26 Aug 2021 09:52:54 +0200

> 1. for the emacs with bug
 >
 > Frame size history of #<frame *scratch* - GNU Emacs at linux-egwc 0x1654540>
 > set_window_configuration (4), MS=140x150 IH IV
 >
 > 2. for the emacs without bug
 >
 > Frame size history of #<frame *scratch* - GNU Emacs at linux-egwc 0x25c2540>
 > x_make_frame_visible
 > set_window_configuration (4), MS=140x150 IH IV

One interesting aspect is that apparently in neither case we are
notified that our frame gets hidden when switching desktops.

Please do the following:

- Try again with the latest patch I sent you.

- Send me a diff of your "emacs with bug" and your "emacs without bug".

And, if possible, run the version "without bug" under GDB and post a
backtrace from a position where it produces the "x_make_frame_visible"
line, somewhere around here in xterm.c:

     if (!FRAME_VISIBLE_P (f))
       {
	if (CONSP (frame_size_history))
	  frame_size_history_plain
	    (f, build_string ("x_make_frame_visible"));

	x_wait_for_event (f, MapNotify);
       }

I cannot imagine how Emacs can get there without producing any recorded
events before or after it so it would be very interesting to find out
how it got there in the first place.

Thanks, martin