Subject: bug#79116: 31.0.50; Crash on IGC build

From: Eli Zaretskii <[email-masked]>
Date: Wed, 30 Jul 2025 15:46:45 +0300

> Date: Wed, 30 Jul 2025 12:30:31 +0000
> From: Pip Cet <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> "Eli Zaretskii" <[email-masked]> writes:
> 
> >> Cc: [email-masked]
> >> Date: Tue, 29 Jul 2025 18:18:05 +0000
> >> From:  Pip Cet via "Bug reports for GNU Emacs,
> >>  the Swiss army knife of text editors" <[email-masked]>
> >>
> >> "Sean Devlin" <[email-masked]> writes:
> >>
> >> > Hi folks,
> >> >
> >> > I left Emacs idle overnight, and I found a crash log when I returned in
> >> > the morning. Please see the attached file.
> >> >
> >> > I'm using the IGC branch, and it looks like a related assertion failed.
> >> >
> >> > I have igc-step-interval set to 0.05, but no other configuration related to GC.
> >> >
> >> > I don’t know how to reproduce the error.
> >> >
> >> > Thanks!
> >>
> >> Thanks for the report. I'm afraid we don't have very much to go on: this
> >> assertion in trace.c in MPS failed:
> >>
> >>     AVER(RefSetSub(ScanStateUnfixedSummary(ss), SegSummary(seg))); /* <design/check/#.common> */
> >>
> >> I think that means a memory structure internal to MPS must have been
> >> corrupted; either the ScanState on the stack, or the segment
> >> information.
> >
> > Do you understand how come a non-main thread called MPS in this case?
> 
> Yes, MPS uses a separate thread to handle Mach exceptions on macOS,
> rather than a signal handler.

Are we sure this is that separate thread?  What are the indications of
that?