Subject: Re: bug#60220: 29.0.60; macOS 13.1 crash shortly after starting Emacs

From: Aaron Jensen <[email-masked]>
Date: Sat, 14 Jan 2023 11:23:14 -0500

On Thu, Jan 12, 2023 at 6:01 AM Andrea Corallo <[email-masked]> wrote:
>
> Aaron Jensen <[email-masked]> writes:
>
> > On Tue, Jan 10, 2023 at 10:28 AM Andrea Corallo <[email-masked]> wrote:
> >>
> >> Eli Zaretskii <[email-masked]> writes:
> >>
> >> >> From: Andrea Corallo <[email-masked]>
> >> >> Cc: Aaron Jensen <[email-masked]>, [email-masked],
> >> >>         [email-masked], [email-masked]
> >> >> Date: Wed, 04 Jan 2023 15:51:17 +0000
> >> >>
> >> >> Eli Zaretskii <[email-masked]> writes:
> >> >>
> >> >> >> Would it make sense to use block_atimers while loading native lisp? If
> >> >> >> that's a workable thing and you can send me a patch I can try it out.
> >> >> >
> >> >> > Andrea, can you suggest a patch along these lines for Aaron to try?
> >> >> >
> >> >> > Thanks.
> >> >>
> >> >> Hi Eli,
> >> >>
> >> >> sorry I'm traveling with sporadic access to the PC till next week.  If
> >> >> the issue is still present I'll work on it next week.
> >> >
> >> > Thanks in advance.
> >>
> >> Hi all,
> >>
> >> I pushed a change that should block atimers during native code loads,
> >> it's in 'scratch/native-timers-blocked'.
> >>
> >> I haven't tested it deeply but seems to work for me.  If anyone likes to
> >> test it or play with it is there.
> >>
> >> BR
> >>
> >>   Andrea
> >
> > Unfortunately, it still crashes for me with my repro (without
> > restarting, I just opened Emacs and it crashed).
>
> Mhhh :/ , the only advice I have would be to two a printf in
> 'block_atimers' and 'unblock_atimers', just to be 100% that when when we
> crash we did our job of blocking the timers.

Looks like it was blocked at the time of the crash:

...
UNBLOCK
BLOCK
dyld[33354]: Assertion failed: (this->magic == kMagic), function
contains, file Loader.cpp, line 144.

Thanks,

Aaron