Subject: Re: bug#33345: 27.0.50; Abort in bidi_cache_iterator_state

From: Eli Zaretskii <[email-masked]>
Date: Sun, 11 Nov 2018 18:03:13 +0200

> From: Stefan Monnier <[email-masked]>
> Date: Sun, 11 Nov 2018 10:03:31 -0500
> 
> I can *currently* reproduce it at will:
> 
>     start `emacs -f gnus`, then enter my IMAP password, then press RET
>     on the first group (INBOX) and *boom*.
> 
> As the backtrace indicates, the crash happens not while running the Gnus
> code that enters the group, displaying the summary of all messages, but
> in the immediately subsequent redisplay.
> 
> If I enter another group, the problem doesn't occur, so I guess it has
> to do with the current content of the summary buffer in my INBOX
> (i.e. probably due to some unusual email message's title).
> 
> The crash happens because of:
> 
>       /* We should never cache on backward scans.  */
>       if (bidi_it->scan_dir == -1)
>         emacs_abort ();
> 
> The content of bidi_it is below, in case it helps,

Thanks, but IME it is nigh impossible to debug these problems without
having the text that causes them.  That's because the real problem is
usually much earlier than where the abort happens, and because bidi
display code is stateful, with some of the state in the cache.

Since this seems to be caused by displaying the group summary, please
try to save the summary to a file and post it.  (To prevent the abort,
turn off bidi-display-reordering before entering the group.)  After
saving the summary to a file, please try visiting the file in
"emacs -Q", which hopefully will reproduce the abort.  If all that
works as I hope, try reducing the file to the minimum that still
reproduces the problem, before posting it.  And pleas post as
compressed archive, to prevent everyone else's Emacs from crashing.