Closed tinloaf closed 3 months ago
Did you update to the new company-mode
? Hmm, I'm not really sure where the issue would be.
Btw, have you tried the blahgeek/emacs-lsp-booster? That would probably improve the perf in case you're working with large project.
@kiennq Thanks for the hint with company-mode
. I could have guessed that myself from the backtrace… In fact it looks like this was a regression in company-mode
. I just updated to the latest version and the problem is gone. :)
I'll check out emacs-lsp-booster
nonetheless, thanks for the link!
Thank you for the bug report
lsp-mode
related packages.M-x lsp-start-plain
Bug description
I'm using
emacs-lsp
version20240701.633
(from MELPA) with Clangd18.1.8
. I have a large C++ code base, so it is clear that collecting all completion suggestions might be long-running task. However, I expected this to happen asynchroneously (and it definitely worked that way before), and not block input.For a couple of days now (weeks? I haven't worked on this large project for a while), my Emacs regularly completely freezes for ~5 seconds while it collects completions. Even repeatedly hitting
C-g
does not break out of the freeze.I managed to reproduce the problem in the performance profiler:
The
*lsp-log*
buffer does not contain anything suspicious, no log message is written at all during (resp. immediately after) the freeze. I also tried having a look at the IO-log, but as expected there's just a lot going on there while completions are requested, and I did not see anything suspicious.Steps to reproduce
I'm afraid I cannot share the project this happens with. But I assume that any sufficiently large C++ project should work?
Expected behavior
Loading completions should happen asynchroneously, probably?
Which Language Server did you use?
lsp-clangd
bundled withemacs-lsp
version20240701.633
(from MELPA) with Clangd18.1.8
.OS
Linux
Error callstack
No response
Anything else?
I'm using Emacs version
30.0.50
built from the Emacs repository commit38fe837f83448338b6ce5aaf771811ce6755d00a
, which the Emacs repomaster
from 2024-05-15. Theconfigure
command used is: