GNU bug report logs - #79228
30.1.90; native--compile-async sentinel can error if threads are running

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Tue, 12 Aug 2025 21:57:01 UTC

Severity: normal

Found in version 30.1.90

Done: Eli Zaretskii <eliz <at> gnu.org>

Full log


Message #32 received at 79228 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Spencer Baugh <sbaugh <at> janestreet.com>
Cc: acorallo <at> gnu.org, johnw <at> gnu.org, 79228 <at> debbugs.gnu.org
Subject: Re: bug#79228: 30.1.90; native--compile-async sentinel can error if
 threads are running
Date: Mon, 01 Sep 2025 22:07:16 +0300
> From: Spencer Baugh <sbaugh <at> janestreet.com>
> Cc: acorallo <at> gnu.org,  johnw <at> gnu.org,  79228 <at> debbugs.gnu.org
> Date: Mon, 01 Sep 2025 12:03:21 -0400
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> 1. emacs -Q
> >> 2. Run some command which starts a thread
> >> 3. Run some command which starts native compilation
> >> 
> >> Native compilation is done via pending_funcalls.  pending_funcalls can
> >> be run in the non-main thread started by 2.
> >
> > How?
> 
> Because pending_funcalls is run by timer_check_2, which is run by
> timer_check, which is run by wait_reading_process_output, which can be
> run by non-main threads.

So maybe we should run timers only in the main thread?

> >> Thus the native compilation can happen in a non-main thread.
> >
> > So step 3 is not necessary?
> 
> It's necesary because, of course, if nothing causes native compilation
> to happen, native compilation won't happen.

Native compilation can be triggered by loading a Lisp package which
doesn't yet have a .eln file.




This bug report was last modified 4 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.