Subject: bug#69561: 30.0.50; Freeze from M-x gnus on macOS

From: Gerd Möllmann <[email-masked]>
Date: Tue, 05 Mar 2024 17:38:14 +0100

Eli Zaretskii <[email-masked]> writes:

>> From: Gerd Möllmann <[email-masked]>
>> Date: Tue, 05 Mar 2024 15:29:51 +0100
>> 
>> Gerd Möllmann <[email-masked]> writes:
>> 
>> Happened again, this time when sending a mail to Alan in debbugs-gnu.
>> 
>> Stepping through wait_reading_process_output one can see that ns_select
>> is called again and again and again without progress.
>
> That probably means the descriptor on which ns_select was supposed to
> wait doesn't become read-ready for some reason.  Can you figure out
> which descriptor is that, and then what happened to the process from
> which we want to read via that descriptor?  Maybe the descriptor mask
> used in ns_select call is wrong, and the bit corresponding to the
> subprocess' descriptor is not set for some reason?

Thanks for taking a look at this with me.

I didn't take a closer look at ns_select etc. in LLDB, sorry. It was a
build with -O2, ... ;-)

> But wait: epg-wait-for-status seems to wait for one or more processes
> to exit.  So what is the status of the process for which it waits?  Is
> it running, or did it perhaps already exit?

I could see gpg running in Activity Monitor.

> And one other thing: what is the version of GnuPG you are using here?
> There's an entry in PROBLEMS about hangs related to some versions of
> GnuPG; could that be your problem here?

PROBLEMS says I have the version with the fix for the hang:

  .../github/igc/src % gpg --version
  gpg (GnuPG) 2.4.4
  libgcrypt 1.10.3
          
The situation is like this, as I see it here:

- Emacs master worked fine a while ago. Alas, I can't say when this
  started because I usually don't use master, but a local version, that
  is dervied from master, but that I don't merge with master frequently.

- I think most freezes I've seen during the last days were with Eglot
  using clangd. They looked very similar to the ones with Gnus, with a
  different Lisp backtrace of course. So, it's probably not gpg.

I'm currently trying to bisect when this problem started. I can't force
the freeze to happen, but I hope that surviving a day or two can be
counted as a good version, when it freezes at leasst once a day with
master. Maybe I can find the culprit that way.

So far, a3d7092114db09fee392ccc8187fde03376f2089 seems to behave well,
which is from CommitDate: Sun Jan 28 00:26:44 2024 -0800