Subject: Re: bug#56561: 29.0.50; Infloop in try_window

From: Eli Zaretskii <[email-masked]>
Date: Fri, 15 Jul 2022 09:14:10 +0300

> From: Michael Welsh Duggan <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 14 Jul 2022 18:44:43 -0400
> 
> Moving my cursor between frames and either clicking or typing C-p, I
> think.  The emacs was on a remote machine at the time, visible via X11
> over ssh.  This may have slowed X events enough for some corner
> condition to be achieved.

All I see is that Emacs tried to display a tooltip.

> (gdb) p current_thread->m_current_buffer->text->beg
> $15 = (unsigned char *) 0x555557bb75a0 "mouse-2: correct word at point"
> (gdb) p it->current
> $16 = {
>   pos = {
>     charpos = 31,
>     bytepos = 31
>   },
>   overlay_string_index = -1,
>   string_pos = {
>     charpos = -1,
>     bytepos = -1
>   },
>   dpvec_index = -1
> }
> (gdb) p it->w->desired_matrix->nrows
> $17 = 35
> 
> (gdb) p MATRIX_ROW_VPOS(row, it->w->desired_matrix)
> No symbol "MATRIX_ROW_VPOS" in current context.
> (gdb) p row - it->w->desired_matrix->rows
> $18 = 35

Hmm... so the short tooltip text somehow causes us to exceed the
number of glyph rows of the matrix?  Please tell what the commands
below show:

 (gdb) pgrowx it->w->desired_matrix->rows
 (gdb) pgrowx it->w->desired_matrix->rows+1
 (gdb) pgrowx it->w->desired_matrix->rows+2
 (gdb) pgrowx it->w->desired_matrix->rows+3
 ...
 (gdb) pgrowx it->w->desired_matrix->rows+34

That is, I want to see the entire contents of the glyph rows.

Also

 (gdb) p it->last_visible_x
 (gdb) p it->last_visible_y

Thanks.