lsp-latex icon indicating copy to clipboard operation
lsp-latex copied to clipboard

CPU at 100% - max-lisp-eval-depth

Open tigerjack opened this issue 1 year ago • 0 comments

This bug was first reported here. I use the same template for the bug report, with the addition of package-specific info.

Description :octocat:

Emacs freezes with error "Lisp nesting exceeds ‘max-lisp-eval-depth’", CPU usage goes up to 100%, texlab usage stays at a normal percentage. This only happens when the lsp mode is on.

Reproduction guide :beetle:

With the log file enabled, after opening a single tex file and giving a few fill-paragraph command, emacs became unasable. I obtained a log file of ~50 MiB. I do not understand if the problem is related to the specific content of the file or to the size of the project, but I tried with other big projects and I could not reproduce the issue.

Expected behaviour: :heart: :smile: Fluent experience, low CPU usage.

System Info :computer:

  • texlab version: 5.6 initially (Profiler reports), updated to 5.7 when trying to solve the issue (texlab logs)
  • OS: gnu/linux
  • Emacs: 28.2
  • Spacemacs: 0.999.0
  • Spacemacs branch: develop (rev. 2cb4f092f)
  • Graphic display: nil
  • Running in daemon: t
  • Distribution: spacemacs
  • Editing style: vim
  • Completion: helm
  • Layers:
(html ruby git
      (version-control :variables version-control-diff-side 'left version-control-diff-tool 'diff-hl)
      dap lsp rust emacs-lisp common-lisp
      (c-c++ :variables c-c++-backend 'lsp-ccls c-c++-lsp-enable-semantic-highlight 'rainbow c++-enable-organize-includes-on-save t c-c++-adopt-subprojects t c-c++-enable-clang-support t c-c++-enable-clang-format-on-save t c-c++-enable-rtags-support t c-c++-default-mode-for-headers 'c++-mode)
      (python :variables python-backend 'lsp python-lsp-server 'pyright python-formatter 'black python-pipenv-activate t python-fill-column 79)
      ipython-notebook yaml themes-megapack asciidoc
      (helm :variables helm-enable-auto-resize t)
      (multiple-cursors :variables multiple-cursors-backend 'evil-mc)
      (auto-completion :variables auto-completion-enable-help-tooltip t auto-completion-enable-snippets-in-popup t auto-completion-return-key-behavior 'complete auto-completion-tab-key-behavior 'cycle auto-completion-complete-with-key-sequence-delay 0 auto-completion-enable-sort-by-usage t auto-completion-enable-help-tooltip 'manual auto-completion-enable-snippets-in-popup t auto-completion-private-snippets-directory nil)
      (syntax-checking :variables syntax-checking-enable-by-default nil syntax-checking-enable-tooltips nil)
      (languagetool :variables languagetool-show-error-on-jump t langtool-default-language "en-GB" langtool-java-classpath "/usr/share/languagetool:/usr/share/java/languagetool/*")
      better-defaults markdown ranger
      (org :variables org-projectile-file "TODOs.org" org-enable-roam-support t org-roam-directory "/mnt/internal/SharedData/Documents/org-roam" org-roam-v2-ack t org-roam-v2-ack t org-enable-roam-ui t org-enable-org-brain-support t)
      gtags
      (shell :variables shell-default-height 30 shell-default-position 'bottom shell-default-term-shell "/bin/bash" multi-term-program "/bin/bash")
      (latex :variables latex-enable-auto-fill -1 latex-enable-folding t)
      (bibtex)
      deft
      (spell-checking :variables spell-checking-enable-by-default nil))
  • System configuration features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB

Backtrace :paw_prints:

Debugger entered--Lisp error: (error "Lisp nesting exceeds ‘max-lisp-eval-depth’")
  window-normalize-window(#<window 72 on expres.tex> t)
  unrecord-window-buffer(#<window 72 on expres.tex> #<buffer  *temp*-381604>)
  replace-buffer-in-windows(#<buffer  *temp*-381604>)
  kill-buffer(#<buffer  *temp*-381604>)
  #f(compiled-function () #<bytecode -0x1c8cb86db3d79fa3>)()
  url-generic-parse-url("file:///mnt/internal/LinuxData/vc/papers_reports/2...")
  lsp--uri-to-path-1("file:///mnt/internal/LinuxData/vc/papers_reports/2...")
  lsp--uri-to-path("file:///mnt/internal/LinuxData/vc/papers_reports/2...")
  lsp--on-diagnostics-update-stats(#s(lsp--workspace :ewoc nil :server-capabilities #<hash-table equal 14/14 0x1588ecee7593> :registered-server-capabilities nil :root "/mnt/internal/LinuxData/vc/papers_reports/2021_TQu..." :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name environment-fn workspace) #<bytecode -0x25620c0

Additional info

Profiler

cpu_report.txt mem_report.txt

Texlab logs

texlab.zip Please note that I removed sensitive information from the log, replacing the line containing the content of the tex file with the string EDITED 1300 words.

tigerjack avatar Jun 14 '23 11:06 tigerjack