Subject: Re: bug#43882: 27.1; Gnus sometimes crashes emacs 27.1 during nnir search

From: Eric Abrahamsen <[email-masked]>
Date: Wed, 21 Oct 2020 11:23:32 -0700

Mikael Svahnberg <[email-masked]> writes:

> Eric Abrahamsen <2020-10-20 10:01> wrote:
>> Mikael Svahnberg <[email-masked]> writes:
>>
>>> Hi,
>>>
>>> Sadly, a further update.
>>>
>>> I am now on "GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin17.7.0, NS
>>> appkit-1561.61 Version 10.13.6 (Build 17G14033)) of 2020-10-15". This
>>> crashes for other reasons once every other day (I haven't been able to pin
>>> it down well enough to send a bugreport yet), but until just now it has
>>> behaved itself wrt. the NNIR search.
>>>
>>> ... Until now, that is. I again did a search, and emacs gobbled up 100% of
>>> a cpu for 10-odd seconds and then it crashed.
>>>
>>> I have gone back to the default 8MB cache size just to force the issue.
>>>
>>> What version, settings, or flags should I set up to provide as rich a
>>> picture as possible?
>>
>> I think it would be useful to know what kind of search this is: imap?
>> Local notmuch installation? Also, how "big" of a search is it -- how
>> many messages are you expecting to be returned?
>>
>> Other people might have other suggestions...
>
> Hi,
>
> It is indeed an imap/gmail search. I apparently have ~90kMail in there
> (wow, I thought it would be more), but for any given search I expect
> anywhere between 50--500 hits.
>
> I search for one or a couple of words, no ifs, buts, ANDs, or ORs. For
> example:
>
> "george harris montmorency"
> "three men boat"
> "jerome"
>
> Normally during a search, the minibuffer first says
>
> Searching [Gmail]/All Mail...
>
> to which it eventually attaches a "done". After this, I get asked
> how many mails to retrieve if there are more than 200 hits. The crash
> occurs before the "done".

Okay, thanks, that narrows it down. The crash must be happening in
`nnimap-command', in other words in either `nnimap-send-command' or
`nnimap-get-response'.

I expect whatever's going wrong is going wrong in the C-level process
code, and I don't know how to help with that. But I hope this might help
someone else narrow it down. There have been a fair number of changes in
TLS handling, in particular, so who knows.

Eric