From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 61667@debbugs.gnu.org, Dmitry Gutov <dgutov@yandex.ru>
Subject: bug#61667: 29.0.60; Failure to redisplay
Date: Wed, 22 Feb 2023 10:41:20 +0800 [thread overview]
Message-ID: <877cwactgv.fsf@yahoo.com> (raw)
In-Reply-To: <83sfeyswdw.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 21 Feb 2023 20:31:39 +0200")
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Tue, 21 Feb 2023 19:25:28 +0200
>> Cc: luangruo@yahoo.com, 61667@debbugs.gnu.org
>> From: Dmitry Gutov <dgutov@yandex.ru>
>>
>> > I'm not surer I follow: why should a frame resize in this case? You
>> > just visit a file in an existing window of an existing frame, right?
>> > Or is the situation more complicated? If the latter, please tell the
>> > details, they could be relevant.
>>
>> Given how slow the unoptimized build is, I can usually start (and
>> finish) typing the command before Emacs has fully finished processing
>> the init script, including the default face customizations (which result
>> in frame resizing).
>>
>> >> So if I wait for it, and then use 'C-x b' (with Ido's support for
>> >> recentf), then I also can trigger the problem.
>> >
>> > Not following again: wait for what? And what happens when you use
>> > "C-x b"?
>>
>> 'C-x b' followed by the file name from history, followed by RET ->
>> visiting the previously visited file. From recentf.
>>
>> This behavior is driven by the option ido-virtual-buffers. Unlikely
>> affects something.
>>
>> But it allows me to shorten the scenario of visiting a file for the
>> first time after launching Emacs, so that I can trigger the bug faster
>> (over several tries).
>
> So you:
>
> . start Emacs
> . wait for the initial frame to be redrawn after the init files are
> processed
> . visit a file by typing "C-x b" and selecting a file from a list
>
> And then you see an empty window with the frame's title showing the
> file you selected. Is that correct? If so, what do you see on the
> mode line as the buffer name?
>
>> Overall, though, the unoptimized build makes it harder to reproduce:
>> I've only managed that 3 times, so far.
>
> Which likely means this is some kind of timing issue. Which perhaps
> also explains why trace-redisplay stops it from happening: it slows
> down redisplay because it needs to output the traces. So we are
> looking at some X or GTK event that comes in and somehow interrupts or
> prevents redisplay from doing its job, after it evidently started
> (because the frame title is updated at the beginning of a redisplay
> cycle)? Or maybe it's something that prevents us from swapping the
> double-buffering buffers so that the redrawn stuff is actually shown
> on the glass?
>
>> But the echo area is not getting redrawn either: the selection of
>> buffers to switch to is still visible as it was when I pressed RET. Just
>> the title bar changes. The echo area is updated together with the main
>> window showing the buffer.
>
> The echo area is shown in a window, so that seems to be part of not
> updating the windows on display.
Thanks.
Would you please start by instrumenting xterm.c as follows?
diff --git a/src/xterm.c b/src/xterm.c
index 5feaa4aef0f..999ae5d37fb 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7518,6 +7518,10 @@ XTframe_up_to_date (struct frame *f)
FRAME_MOUSE_UPDATE (f);
#ifdef HAVE_XDBE
+ fprintf (stderr, "XTframe_up_to_date: %d, %d\n",
+ buffer_flipping_blocked_p (),
+ FRAME_X_NEED_BUFFER_FLIP (f));
+
if (!buffer_flipping_blocked_p ()
&& FRAME_X_NEED_BUFFER_FLIP (f))
show_back_buffer (f);
@@ -17736,6 +17740,8 @@ x_flush_dirty_back_buffer_on (struct frame *f)
|| !FRAME_X_NEED_BUFFER_FLIP (f))
return;
+ fprintf (stderr, "x_flush_dirty_back_buffer_on: called\n");
+
show_back_buffer (f);
#endif
}
Then, please tell if anything at all is printed when the buffer flipping
fails to happen.
In addition, does this happen on a build without Cairo? One theory is
that an event somehow arrives during redisplay and causes
`x_flush_dirty_back_buffer_on' to be called, and the Cairo code is
missing a call to `x_mark_frame_dirty' somewhere, which causes the next
buffer flip to not take effect.
next prev parent reply other threads:[~2023-02-22 2:41 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-21 2:53 bug#61667: 29.0.60; Failure to redisplay Dmitry Gutov
2023-02-21 7:32 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-21 10:04 ` Dmitry Gutov
2023-02-21 10:19 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-21 10:43 ` Dmitry Gutov
2023-02-21 11:08 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-21 12:58 ` Eli Zaretskii
2023-02-21 15:51 ` Dmitry Gutov
2023-02-21 16:05 ` Eli Zaretskii
2023-02-21 17:25 ` Dmitry Gutov
2023-02-21 18:31 ` Eli Zaretskii
2023-02-21 20:53 ` Dmitry Gutov
2023-02-22 2:41 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2023-02-22 12:17 ` Eli Zaretskii
2023-02-22 16:24 ` Dmitry Gutov
2023-02-22 16:29 ` Gregory Heytings
2023-02-23 0:51 ` Dmitry Gutov
2023-02-23 1:03 ` Gregory Heytings
2023-02-23 13:41 ` Dmitry Gutov
2023-02-23 13:58 ` Gregory Heytings
2023-02-23 16:46 ` Dmitry Gutov
2023-02-23 17:10 ` Eli Zaretskii
2023-02-23 19:12 ` Dmitry Gutov
2023-02-23 19:24 ` Eli Zaretskii
2023-02-23 20:05 ` Dmitry Gutov
2023-02-24 6:48 ` Eli Zaretskii
2023-02-24 11:55 ` Gregory Heytings
2023-02-24 13:12 ` Dmitry Gutov
2023-02-24 13:20 ` Gregory Heytings
2023-02-24 13:29 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-24 13:46 ` Dmitry Gutov
2023-02-24 13:54 ` Gregory Heytings
2023-02-24 14:54 ` Dmitry Gutov
2023-02-24 15:12 ` Gregory Heytings
2023-02-24 22:25 ` Gregory Heytings
2023-02-24 23:34 ` Dmitry Gutov
2023-02-24 23:48 ` Gregory Heytings
2023-02-25 0:37 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-26 0:35 ` Gregory Heytings
2023-02-25 23:34 ` Dmitry Gutov
2023-02-26 0:41 ` Gregory Heytings
2023-02-26 0:56 ` Dmitry Gutov
2023-02-26 1:02 ` Gregory Heytings
2023-02-26 1:36 ` Dmitry Gutov
2023-02-26 1:53 ` Gregory Heytings
2023-02-26 2:00 ` Dmitry Gutov
2023-02-26 2:39 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-26 12:15 ` Dmitry Gutov
2023-02-28 10:24 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-26 6:44 ` Eli Zaretskii
2023-02-26 11:59 ` Dmitry Gutov
2023-02-26 12:13 ` Eli Zaretskii
2023-02-26 12:23 ` Dmitry Gutov
2023-02-26 12:31 ` Eli Zaretskii
2023-02-26 13:21 ` Dmitry Gutov
2023-02-26 13:44 ` Eli Zaretskii
2023-02-26 14:42 ` Dmitry Gutov
2023-02-26 15:00 ` Eli Zaretskii
2023-02-26 15:50 ` Dmitry Gutov
2023-02-26 14:44 ` Gregory Heytings
2023-02-26 15:45 ` Dmitry Gutov
2023-02-26 15:54 ` Gregory Heytings
2023-02-26 17:00 ` Dmitry Gutov
2023-02-26 23:22 ` Dmitry Gutov
2023-02-27 10:30 ` Gregory Heytings
2023-02-27 20:55 ` Dmitry Gutov
2023-02-27 22:41 ` Gregory Heytings
2023-02-27 23:47 ` Dmitry Gutov
2023-02-28 10:31 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-28 17:59 ` Dmitry Gutov
2023-02-28 22:06 ` Dmitry Gutov
2023-03-01 1:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-01 1:25 ` Dmitry Gutov
2023-03-01 4:50 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-01 11:15 ` Dmitry Gutov
2023-03-01 12:10 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-01 12:19 ` Dmitry Gutov
2023-03-01 12:41 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-01 14:33 ` Dmitry Gutov
2023-03-02 0:34 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-02 1:44 ` Dmitry Gutov
2023-03-02 4:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-02 7:11 ` Eli Zaretskii
2023-03-03 14:28 ` Dmitry Gutov
2023-03-04 0:01 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-04 0:22 ` Dmitry Gutov
2023-03-04 12:45 ` Dmitry Gutov
2023-03-12 21:55 ` Dmitry Gutov
2023-03-02 9:21 ` Gregory Heytings
2023-03-02 10:24 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-02 11:30 ` Gregory Heytings
2023-03-02 9:30 ` Gregory Heytings
2023-03-02 10:29 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-02 12:29 ` Dmitry Gutov
2023-03-02 13:39 ` Dmitry Gutov
2023-03-02 15:45 ` Dmitry Gutov
2023-03-03 0:54 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-03 7:29 ` Eli Zaretskii
2023-03-03 13:06 ` Dmitry Gutov
2023-03-03 13:44 ` Dmitry Gutov
2023-03-12 2:27 ` Dmitry Gutov
2023-03-12 2:43 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-12 12:15 ` Dmitry Gutov
2023-03-12 12:19 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-12 21:53 ` Dmitry Gutov
2023-04-16 0:48 ` Dmitry Gutov
2023-04-16 6:01 ` Eli Zaretskii
2023-04-16 12:52 ` Dmitry Gutov
2023-04-16 12:59 ` Eli Zaretskii
2023-04-16 13:08 ` Dmitry Gutov
2023-04-16 16:17 ` Eli Zaretskii
2023-04-16 17:14 ` Dmitry Gutov
2023-04-16 17:26 ` Eli Zaretskii
2023-04-16 17:47 ` Dmitry Gutov
2023-04-16 18:11 ` Dmitry
2023-04-16 19:01 ` Eli Zaretskii
2023-04-16 21:17 ` Dmitry Gutov
2023-04-17 2:27 ` Eli Zaretskii
2023-04-18 0:28 ` Dmitry Gutov
2023-04-18 17:00 ` Eli Zaretskii
2023-04-18 22:31 ` Dmitry Gutov
2023-04-16 16:27 ` Eli Zaretskii
2023-04-16 17:46 ` Dmitry Gutov
2023-04-16 18:50 ` Eli Zaretskii
2023-04-16 22:26 ` Dmitry Gutov
2023-04-17 2:31 ` Eli Zaretskii
2023-04-17 23:07 ` Dmitry Gutov
2023-04-17 23:20 ` Dmitry Gutov
2023-04-18 1:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-18 1:43 ` Dmitry Gutov
2023-04-18 2:12 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-18 7:01 ` Andreas Schwab
2023-04-18 11:05 ` Dmitry Gutov
2023-04-19 1:13 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-19 1:23 ` Dmitry Gutov
2023-04-22 1:55 ` Gabriel
2023-04-22 7:34 ` Eli Zaretskii
2023-04-22 18:37 ` Dmitry Gutov
2023-03-02 13:20 ` Dmitry Gutov
2023-02-26 13:15 ` Gregory Heytings
2023-02-26 13:31 ` Dmitry Gutov
2023-02-26 6:06 ` Eli Zaretskii
2023-02-25 7:57 ` Eli Zaretskii
2023-02-25 13:57 ` Dmitry Gutov
2023-02-24 14:01 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-24 14:14 ` Dmitry Gutov
2023-02-24 15:12 ` Eli Zaretskii
2023-02-24 15:35 ` Dmitry Gutov
2023-02-24 15:51 ` Eli Zaretskii
2023-02-24 15:57 ` Eli Zaretskii
2023-02-24 19:33 ` Dmitry Gutov
2023-02-24 16:15 ` Dmitry Gutov
2023-02-25 5:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-25 13:56 ` Dmitry Gutov
2023-02-26 0:39 ` Dmitry Gutov
2023-02-24 13:46 ` Eli Zaretskii
2023-02-24 14:12 ` Dmitry Gutov
2023-02-24 15:08 ` Eli Zaretskii
2023-02-24 21:03 ` Dmitry Gutov
2023-02-24 21:19 ` Eli Zaretskii
2023-02-24 21:49 ` Dmitry Gutov
2023-02-25 7:12 ` Eli Zaretskii
2023-02-25 7:21 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-25 13:18 ` Dmitry Gutov
2023-02-23 6:27 ` Eli Zaretskii
2023-02-23 9:41 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-23 12:00 ` Dmitry Gutov
2023-02-23 13:13 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-23 14:01 ` Dmitry Gutov
2023-02-24 0:59 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-24 1:09 ` Dmitry Gutov
2023-02-24 7:18 ` Eli Zaretskii
2023-02-24 11:59 ` Gregory Heytings
2023-02-24 12:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-24 12:32 ` Dmitry Gutov
2023-02-24 12:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-24 13:32 ` Dmitry Gutov
2023-02-24 13:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-24 14:29 ` Dmitry Gutov
2023-02-24 13:32 ` Dmitry Gutov
2023-02-22 17:07 ` Eli Zaretskii
2023-02-22 22:36 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-22 23:17 ` Dmitry Gutov
2023-02-23 6:20 ` Eli Zaretskii
2023-02-22 16:33 ` Dmitry Gutov
2023-02-21 12:23 ` Eli Zaretskii
2023-02-21 15:43 ` Dmitry Gutov
2023-02-21 16:16 ` Eli Zaretskii
2023-02-21 17:07 ` Robert Pluim
2023-02-21 17:14 ` Robert Pluim
2023-02-21 20:46 ` Dmitry Gutov
2023-02-21 16:18 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877cwactgv.fsf@yahoo.com \
--to=bug-gnu-emacs@gnu.org \
--cc=61667@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=luangruo@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.