What happened?
When I open Emacs, at some point soon after a new process is spawned which seems to be asynchronously compiling something to do with lsp
:
/usr/local/bin/emacs --no-comp-spawn -Q --batch --eval (setq w32-disable-abort-dialog t) -l /tmp/emacs-async-comp-lsp-protocol-720UGX.el
This slows down my Emacs session.
I’ve seen other asynchronous compilations happening in the background, but they finish and don’t happen again.
What did you expect to happen?
The compilation should finish and not keep reoccurring. Is this a bug? How can I stop this async compilation?
System information
I built Emacs 29.1 from source with the following flags: $ ./configure --with-native-compilation=aot --with-json
. I have this in my config.el
: (setq package-native-compile t).
Loading data dump...
jman
August 6, 2024, 12:19pm
#5
Hi,
this thread is one year old but I think I am affected by something very similar, see the Github issue I opened recently:
opened 04:06PM - 07 Jul 24 UTC
incomplete
### I confirm that...
- [X] I have searched the [issue tracker](https://githu… b.com/doomemacs/doomemacs/issues), [documentation](https://docs.doomemacs.org), [FAQ](https://docs.doomemacs.org/-/faq), [Discourse](https://discourse.doomemacs.org), and [Google](https://google.com), in case this issue has already been reported/resolved.
- [X] I have read "[How to Debug Issues](https://doomemacs.org/d/how2debug)", and will use it to provide as much information about this issue as possible.
- [X] The issue can be reproduced on the **latest** available commit of Doom.
- [X] The issue can be reproduced on a stable release of Emacs, such as 27, 28, or 29. *(Unstable versions end in .50, .60, or .9x)*
### Expected behavior
When Doom in installed and configured, I expect no more bytecode compilation.
### Current behavior
Everytime I start Doom, the following packages get recompiled:
<details><summary>Full *Async-native-compile-log* buffer</summary>
<p>
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/subr-x.el.gz...
uncompressing subr-x.el.gz...
uncompressing subr-x.el.gz...done
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/pcase.el.gz...
uncompressing pcase.el.gz...
uncompressing pcase.el.gz...done
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/gv.el.gz...
uncompressing gv.el.gz...
uncompressing gv.el.gz...done
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/cl-lib.el.gz...
uncompressing cl-lib.el.gz...
uncompressing cl-lib.el.gz...done
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...done
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/cl-macs.el.gz...
uncompressing cl-macs.el.gz...
uncompressing cl-macs.el.gz...done
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/cl-seq.el.gz...
uncompressing cl-seq.el.gz...
uncompressing cl-seq.el.gz...done
Compiling /usr/share/emacs/29.4/lisp/net/tramp-loaddefs.el.gz...
uncompressing tramp-loaddefs.el.gz...
uncompressing tramp-loaddefs.el.gz...done
Compilation finished.
</p>
</details>
### Steps to reproduce
1. Open Doom
2. go and check the `*Async-native-compile-log*` buffer
### System Information
https://paste.sr.ht/~jman/a50ff018cb6217373b300fc1a0975b862f8ad04f
I have a number of Emacs packages that on every startup get recompiled:
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/subr-x.el.gz...
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/pcase.el.gz...
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/gv.el.gz...
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/cl-lib.el.gz...
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/cl-loaddefs.el.gz...
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/cl-macs.el.gz...
Compiling /usr/share/emacs/29.4/lisp/emacs-lisp/cl-seq.el.gz...
Compiling /usr/share/emacs/29.4/lisp/net/tramp-loaddefs.el.gz...
I am now running Emacs 29.4 and a recent Doom checkout:
$ doom version
GNU Emacs v29.4 nil
Doom core v3.0.0-pre HEAD -> master 21a427c3 2024-07-06 21:18:34 -0400
Doom modules v24.08.0-pre HEAD -> master 21a427c3 2024-07-06 21:18:34 -0400
I don’t have set package-native-compile
(which is nil by default) but Emacs is compiled with --with-native-compilation
.
When looking with top(1)
at what happens during this recompilation I see processes like these:
emacs -no-comp-spawn -Q --eval (setq w32-disable-abort-dialog t) -l ~/.doom/.local/cache/comp/emacs-async-comp-*.el
Are you still experiencing this? I am trying to get to the bottom of it but I still don’t have clear the machinery under the hood and who (Emacs? Doom?) is responsible for this constant bytecode recompilation trigger. Running Emacs vanilla does not trigger the bytecode recompilation.
Thanks for any input.
system
closed
August 21, 2024, 10:14pm
#6
This topic was automatically closed after 360 days. New replies are no longer allowed.