Subject: bug#59147: 29.0.50; dispnew.c:1456: Emacs fatal error: assertion failed: row >= 0 && row < matrix->nrows

From: Eli Zaretskii <[email-masked]>
Date: Wed, 09 Nov 2022 16:06:00 +0200

> From: Gregor Zattler <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Wed, 09 Nov 2022 14:49:15 +0100
> 
> > What does the below produce:
> >
> >   (gdb) frame 2
> >   (gdb) p matrix->nrows
> 
> (gdb) frame 2
> #2  0x000055555559d310 in matrix_row (matrix=0x55555d44d470, row=8) at dispnew.c:1456
> 1456      eassert (row >= 0 && row < matrix->nrows);
> (gdb) p matrix->nrows
> $1 = 7
> (gdb)

Can you describe what does notmuch-jump do and maybe show its code?

The backtrace seems to indicate that it reads from the minibuffer, but
in that case, does it mean the mini-window was 7-lines high in this
case?

Also, can you describe what you do to trigger this assertion
violation?

> While working I got another (x)backtracei, in another emacs
> daemon, which I guess is related:

It's an exact same problem.