After rebuilding today, enabling the eshell-tramp module and calling sudo is causing a `delete-region` subcall (presumably from within `tramp-wait-for-output`?) to spin within `interval_deletion_adjustment` (or it might be repeatedly calling it?). NOTE: this happens after authentication. To reproduce: 1. `emacs -Q` 2. `M-x eval-expression RET (require 'eshell) RET` 3. `M-x eval-expression RET (add-to-list 'eshell-modules-list 'eshell-tramp)`. 4. `M-x eshell` 5. `sudo /usr/bin/echo` 6. Authenticate, press enter, and watch Emacs lock up and go to 100% CPU usage. I've collected two backtraces: one with native compilation (with-native-comp.txt) and one after re-evaluating (with-eval.txt) the appropriate files (tramp-sh.el, tramp.el) to rule out compilation issues. See attached. In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.18.0) of 2024-06-12 built on Laptop Repository revision: 6893c327e982528fdc93e3a956a4b6830a09ea3f Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101013 System Description: Arch Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --without-m17n-flt --without-selinux --without-pop --without-gconf --enable-link-time-optimization --with-native-compilation=yes --with-xinput2 --with-x-toolkit=no --without-toolkit-scroll-bars --without-xft --without-xaw3d --without-gsettings --with-cairo-xcb --with-sound=no --with-tree-sitter --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -Wl,-z,noexecstack -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: notmuch-bookmarks-mode: t rainbow-mode: t rainbow-delimiters-mode: t ligature-mode: t windmove-mode: t global-atomic-chrome-edit-mode: t i3bar-mode: t ednc-mode: t exwm-xsettings-mode: t exwm-background-mode: t exwm-systemtray-mode: t exwm-randr-mode: t ws-butler-mode: t auto-compile-on-load-mode: t auto-compile-on-save-mode: t auto-compile-mode: t save-place-mode: t savehist-mode: t openwith-mode: t org-super-agenda-mode: t global-org-modern-mode: t goto-address-prog-mode: t eat-eshell-mode: t magit-todos-mode: t global-git-commit-mode: t dired-async-mode: t magit-auto-revert-mode: t server-mode: t recentf-mode: t global-treesit-auto-mode: t yas-global-mode: t yas-minor-mode: t async-bytecomp-package-mode: t sudo-edit-indicator-mode: t global-auto-revert-mode: t vertico-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t isearch-mb-mode: t pixel-scroll-precision-mode: t global-hl-todo-mode: t hl-todo-mode: t all-the-icons-completion-mode: t marginalia-mode: t global-page-break-lines-mode: t page-break-lines-mode: t global-anzu-mode: t anzu-mode: t global-jinx-mode: t evil-goggles-mode: t global-evil-surround-mode: t evil-surround-mode: t global-evil-collection-unimpaired-mode: t evil-collection-unimpaired-mode: t evil-mode: t evil-local-mode: t desktop-environment-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t prettify-symbols-mode: t tab-bar-history-mode: t tab-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t window-divider-mode: t minibuffer-regexp-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch hides /usr/share/emacs/site-lisp/notmuch /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-wash hides /usr/share/emacs/site-lisp/notmuch-wash /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-tree hides /usr/share/emacs/site-lisp/notmuch-tree /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-tag hides /usr/share/emacs/site-lisp/notmuch-tag /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-show hides /usr/share/emacs/site-lisp/notmuch-show /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-query hides /usr/share/emacs/site-lisp/notmuch-query /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-print hides /usr/share/emacs/site-lisp/notmuch-print /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-parser hides /usr/share/emacs/site-lisp/notmuch-parser /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-mua hides /usr/share/emacs/site-lisp/notmuch-mua /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-message hides /usr/share/emacs/site-lisp/notmuch-message /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-maildir-fcc hides /usr/share/emacs/site-lisp/notmuch-maildir-fcc /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-lib hides /usr/share/emacs/site-lisp/notmuch-lib /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-jump hides /usr/share/emacs/site-lisp/notmuch-jump /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-hello hides /usr/share/emacs/site-lisp/notmuch-hello /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-draft hides /usr/share/emacs/site-lisp/notmuch-draft /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-crypto hides /usr/share/emacs/site-lisp/notmuch-crypto /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-compat hides /usr/share/emacs/site-lisp/notmuch-compat /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-company hides /usr/share/emacs/site-lisp/notmuch-company /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/notmuch-address hides /usr/share/emacs/site-lisp/notmuch-address /home/steb/.cache/emacs/elpa/notmuch-20240529.1054/coolj hides /usr/share/emacs/site-lisp/coolj /home/steb/.cache/emacs/elpa/protobuf-mode-20240222.1652/protobuf-mode hides /usr/share/emacs/site-lisp/protobuf-mode /home/steb/.cache/emacs/elpa/transient-20240609.2020/transient hides /usr/share/emacs/30.0.50/lisp/transient /home/steb/.cache/emacs/elpa/modus-themes-20240227.715/theme-loaddefs hides /usr/share/emacs/30.0.50/lisp/theme-loaddefs Features: (shadow sort mail-extr semantic/symref/grep semantic/symref semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw cedet emacsbug consult-xref flymake-cc vc evil-collection-eglot eglot external-completion jsonrpc evil-collection-ert ert ewoc evil-collection-flymake flymake cc-mode cc-fonts cc-guess cc-menus cc-cmds tramp-rclone evil-collection-vterm vterm vterm-module term/xterm xterm eshell-syntax-highlighting em-elecslash em-tramp em-extpipe em-glob em-basic em-alias tramp-cmds tramp-cache time-stamp tramp-sshfs tramp-fuse evil-collection-vc-git vc-git vc-dispatcher evil-collection-consult consult magit-bookmark org-bookmark-heading notmuch-bookmarks evil-collection-bookmark bookmark buffer-move info-colors ffap misearch multi-isearch rainbow-mode rainbow-delimiters ligature mule-util evil-collection-helpful helpful cc-langs trace cl-print evil-collection-edebug edebug evil-collection-debug debug backtrace info-look help-fns radix-tree evil-collection-elisp-refs elisp-refs vertico-repeat app-launcher windmove pinentry evil-collection-atomic-chrome atomic-chrome websocket bindat i3bar ednc filechooser dbus exwm-xsettings xcb-xsettings exwm-background exwm-systemtray xcb-systemtray xcb-xembed exwm-randr xcb-randr exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types xcb-debug cus-start posframe visual-wrap face-remap visual-fill-column evil-org ws-butler oc-basic bibtex ol-man ol-info ol-docview evil-collection-doc-view doc-view jka-compr evil-collection-image image-mode exif auto-compile saveplace tramp-sh savehist openwith org-super-agenda ts ht org-habit org-crypt org-protocol ob-http ob-http-mode org-modern ob-dot ob-latex ob-python evil-collection-python python ob-gnuplot ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar evil-org-agenda org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist org-id org-refile org-element-ast inline avl-tree ob-calc calc-store calc-trail calc-ext evil-collection-calc calc calc-loaddefs calc-macs ob-shell evil-collection-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro evil-collection-xref xref org-src evil-collection-sh-script sh-script smie executable ob-comint org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-compat org-version org-macs evil-collection-notmuch notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser notmuch-wash coolj goto-addr icalendar diary-lib diary-loaddefs evil-collection-calendar cal-menu calendar cal-loaddefs notmuch-tag notmuch-lib notmuch-compat mm-view mml-smime smime dig eshell-prompt-extras em-dirs em-ls em-prompt em-hist em-unix em-pred esh-mode esh-var evil-collection-eat eat evil-collection-term term disp-table ehelp eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-module-loaddefs esh-util evil-collection-forge forge-repos forge-topics forge-tablist hl-line forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth let-alist gnutls forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml bug-reference forge-post evil-collection-markdown-mode markdown-mode edit-indirect evil-collection-outline noutline outline forge-repo forge forge-core forge-db closql emacsql-sqlite-common emacsql emacsql-compiler eieio-base evil-collection-magit-todos magit-todos pcre2el rxt re-builder f s evil-collection-grep grep evil-collection-compile compile evil-collection-magit magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit evil-collection-magit-repos magit-repos magit-apply magit-wip magit-log which-func evil-collection-imenu imenu magit-diff smerge-mode diff diff-mode track-changes easy-mmode git-commit evil-collection-log-edit log-edit message sendmail yank-media puny dired-async dired-aux evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec evil-collection-epa epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor server magit-mode transient magit-git magit-base evil-collection-magit-section magit-section cursor-sensor crm recentf tree-widget treesit-auto yasnippet async-bytecomp async sudo-edit tramp trampver tramp-integration files-x tramp-message tramp-compat shell pcomplete evil-collection-comint comint ansi-osc parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs autorevert filenotify project vertico corfu-popupinfo evil-collection-corfu corfu orderless isearch-mb pixel-scroll cua-base hl-todo all-the-icons-completion all-the-icons all-the-icons-faces all-the-icons-data-material-icons all-the-icons-data-fluentui-system-icons all-the-icons-data-fontawesome-4 all-the-icons-data-weather-icons all-the-icons-data-vscode-codicons all-the-icons-data-octicons all-the-icons-data-mfixx all-the-icons-data-file-icons all-the-icons-data-devopicons all-the-icons-data-alltheicons svg dom xml marginalia page-break-lines anzu modus-vivendi-theme modus-themes jinx evil-goggles pulse color evil-textobj-tree-sitter evil-textobj-tree-sitter-thing-at-point evil-textobj-tree-sitter-core treesit evil-args evil-surround evil-collection-unimpaired evil-collection-tabulated-list evil-collection-tab-bar evil-collection-simple evil-collection-replace evil-collection-process-menu evil-collection-package-menu evil-collection-kmacro evil-collection-info evil-collection-indent evil-collection-help evil-collection-elisp-mode evil-collection-eldoc evil-collection-custom evil-collection-buff-menu evil-collection annalist evil evil-integration evil-maps evil-commands evil-digraphs pcase reveal evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros evil-repeat evil-states evil-core comp-run advice evil-common thingatpt rect evil-vars ring edmacro kmacro general dash mode-local find-func no-littering compat finder-inf notmuch-version info all-the-icons-completion-autoloads all-the-icons-dired-autoloads all-the-icons-ibuffer-autoloads all-the-icons-autoloads app-launcher-autoloads aria2-autoloads atomic-chrome-autoloads auto-compile-autoloads bash-completion-autoloads bluetooth-autoloads buffer-move-autoloads calibre-autoloads cape-autoloads casual-autoloads casual-dired-autoloads casual-info-autoloads clojure-mode-autoloads consult-eglot-autoloads consult-project-extra-autoloads consult-autoloads corfu-autoloads coverage-autoloads csv-mode-autoloads dape-autoloads devdocs-autoloads dired-filter-autoloads dired-hacks-utils-autoloads dired-k-autoloads discomfort-autoloads debase-autoloads disk-usage-autoloads eat-autoloads edit-indirect-autoloads ednc-autoloads eff-autoloads ellama-autoloads ement-autoloads eshell-prompt-extras-autoloads eshell-syntax-highlighting-autoloads eshell-vterm-autoloads evil-anzu-autoloads anzu-autoloads evil-args-autoloads evil-collection-autoloads annalist-autoloads evil-goggles-autoloads evil-nerd-commenter-autoloads evil-org-autoloads evil-surround-autoloads evil-autoloads evil-textobj-tree-sitter-autoloads evm-mode-autoloads expand-region-autoloads exwm-autoloads filechooser-autoloads flymake-ruff-autoloads general-autoloads git-link-autoloads git-modes-autoloads gnuplot-autoloads goto-chg-autoloads graphviz-dot-mode-autoloads helpful-autoloads elisp-refs-autoloads htmlize-autoloads i3bar-autoloads igist-autoloads info-colors-autoloads isearch-mb-autoloads iwindow-autoloads jinx-autoloads journalctl-autoloads kotlin-mode-autoloads ligature-autoloads link-hint-autoloads avy-autoloads llm-autoloads magit-todos-autoloads hl-todo-autoloads f-autoloads marginalia-autoloads mastodon-autoloads microdata-autoloads modus-themes-autoloads named-pipe-autoloads nftables-mode-autoloads no-littering-autoloads notmuch-transient-autoloads nov-autoloads esxml-autoloads kv-autoloads ob-async-autoloads ob-http-autoloads ol-notmuch-autoloads notmuch-autoloads openwith-autoloads orderless-autoloads org-bookmark-heading-autoloads org-download-autoloads async-autoloads org-margin-autoloads org-modern-autoloads org-super-agenda-autoloads orgit-forge-autoloads orgit-autoloads forge-autoloads markdown-mode-autoloads magit-autoloads git-commit-autoloads ghub-autoloads closql-autoloads emacsql-autoloads ox-pandoc-autoloads ht-autoloads package-lint-flymake-autoloads package-lint-autoloads page-break-lines-autoloads password-store-autoloads pcre2el-autoloads pdf-tools-autoloads persist-autoloads pinentry-autoloads pkgbuild-mode-autoloads playerctl-autoloads plz-autoloads posframe-autoloads proced-narrow-autoloads protobuf-mode-autoloads pulseaudio-control-autoloads qrencode-autoloads rainbow-delimiters-autoloads rainbow-mode-autoloads request-autoloads rg-autoloads rmsbolt-autoloads rust-playground-autoloads solidity-mode-autoloads spinner-autoloads ssh-config-mode-autoloads sudo-edit-autoloads svg-lib-autoloads systemctl-autoloads systemd-autoloads tablist-autoloads taxy-magit-section-autoloads taxy-autoloads magit-section-autoloads tmr-autoloads transient-autoloads treepy-autoloads treesit-auto-autoloads ts-autoloads s-autoloads dash-autoloads tzc-autoloads udev-mode-autoloads vala-mode-autoloads cc-styles cc-align cc-engine cc-vars cc-defs vertico-autoloads vimrc-mode-autoloads visual-fill-column-autoloads vterm-autoloads vundo-autoloads wat-ts-mode-autoloads watch-autoloads web-mode-autoloads websocket-autoloads wgrep-autoloads whisper-autoloads with-editor-autoloads wordnut-autoloads ws-butler-autoloads xelb-autoloads yaml-autoloads yasnippet-autoloads comp comp-cstr cl-extra help-mode comp-common warnings rx xdg package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cus-edit pp cus-load icons wid-edit cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting font-render-setting cairo xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 1393955 1049946) (symbols 48 74675 2) (strings 32 379763 68125) (string-bytes 1 12693577) (vectors 16 139684) (vector-slots 8 1625666 443250) (floats 8 715 7279) (intervals 56 21960 9365) (buffers 992 46))