* bug#61942: 28.2; uninterruptible hang in vc-diff buffer
@ 2023-03-03 18:13 Tom Tromey
2024-06-17 1:15 ` Dmitry Gutov
0 siblings, 1 reply; 2+ messages in thread
From: Tom Tromey @ 2023-03-03 18:13 UTC (permalink / raw)
To: 61942
From *vc-outgoing*, I used '=' to see a diff.
The diff in question is pretty large.
Emacs showed this in the echo area:
Finding changes in ....
This was not interruptible -- I tried C-g, C-], and 'kill -USR1'
I don't know exactly what this is doing, but whatever it is should be
interruptible.
Tom
In GNU Emacs 28.2 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.35, cairo version 1.17.6)
of 2022-12-31 built on buildvm-x86-18.iad2.fedoraproject.org
Windowing system distributor 'The X.Org Foundation', version 11.0.12201007
System Description: Fedora Linux 36 (Workstation Edition)
Configured using:
'configure --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --program-prefix=
--disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
--bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
--libexecdir=/usr/libexec --localstatedir=/var
--sharedstatedir=/var/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
--with-rsvg --with-tiff --with-xpm --with-x-toolkit=gtk3 --with-gpm=no
--with-xwidgets --with-modules --with-harfbuzz --with-cairo --with-json
--with-native-compilation build_alias=x86_64-redhat-linux-gnu
host_alias=x86_64-redhat-linux-gnu CC=gcc 'CFLAGS=-DMAIL_USE_LOCKF -O2
-flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches
-pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
LDFLAGS=-Wl,-z,relro
PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS
X11 XDBE XIM XPM XWIDGETS GTK3 ZLIB
Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Git-Log-View
Minor modes in effect:
vc-parent-buffer: *vc-dir*<gcc>
bug-reference-mode: t
erc-list-mode: t
erc-menu-mode: t
erc-autojoin-mode: t
erc-ring-mode: t
erc-pcomplete-mode: t
erc-netsplit-mode: t
erc-spelling-mode: t
erc-truncate-mode: t
shell-dirtrack-mode: t
which-function-mode: t
erc-track-mode: t
erc-track-minor-mode: t
erc-notify-mode: t
erc-notifications-mode: t
erc-match-mode: t
erc-services-mode: t
erc-networks-mode: t
erc-hl-nicks-mode: t
erc-button-mode: t
erc-fill-mode: t
erc-stamp-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
erc-move-to-prompt-mode: t
erc-readonly-mode: t
savehist-mode: t
tooltip-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
column-number-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(shadow emacsbug f90 descr-text reposition asm-mode gnus-draft rust-mode
arc-mode archive-mode js edmacro pcmpl-unix pcmpl-gnu conf-mode
compare-w gnus-icalendar org-capture org-refile icalendar webjump
sh-script smie executable rng-xsd xsd-regexp rng-cmpct rng-nxml
rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util
rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap sgml-mode facemenu
nxml-util nxml-enc xmltok term ehelp nroff-mode cmake-mode rst autoconf
autoconf-mode texinfo texinfo-loaddefs pulse ada-light-mode eglot array
jsonrpc ert flymake-proc flymake vc-annotate cus-edit cus-start url-http
url-gw url-auth python tramp-sh pcase autoload lisp-mnt gud mule-util
debug backtrace kmacro two-column dwarf-mode tabify man tcl make-mode
cl-print shortdoc goto-addr log-edit yaml-mode log-view pcvs-util
find-dired copyright ffap grep find-file ggtags etags fileloop xref
project compile bug-reference cc-mode cc-fonts cc-guess cc-menus cc-cmds
supercite regi bbdb-message mailalias mail-hist term/xterm xterm
smerge-mode diff dabbrev gnus-html help-fns radix-tree url-cache
flow-fill erc-imenu erc-list erc-menu erc-join erc-ring erc-pcomplete
erc-netsplit erc-spelling erc-truncate shr-color mm-archive sort smiley
gnus-cite mail-extr gnus-bcklg gnus-async qp gnus-ml disp-table misearch
multi-isearch vc-mtn vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs org-element avl-tree generator ol-eww eww xdg url-queue
mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search
eieio-opt speedbar ezimage dframe ol-docview doc-view jka-compr
image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src
ob-comint org-pcomplete org-list org-faces org-entities noutline outline
easy-mmode org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic
bibtex ol org-keys oc org-compat org-macs org-loaddefs gnus-topic
nndraft nnmh nnfolder utf-7 bbdb-gnus bbdb-mua bbdb-com crm gnutls
network-stream nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual
gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig nntp
gnus-cache gnus-sum shr kinsoku svg dom gnus-group gnus-undo smtpmail
sendmail gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7
netrc nnoo gnus-spec gnus-int gnus-range message rmc puny rfc822 mml
mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
text-property-search mail-utils mm-util mail-prsvr add-log
display-fill-column-indicator flyspell ispell diminish appt diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs tramp tramp-loaddefs
trampver tramp-integration files-x tramp-compat shell pcomplete
parse-time ls-lisp which-func imenu autorevert filenotify desktop
frameset cus-load git-link erc-track erc-notify
erc-desktop-notifications erc-match erc-services erc-networks
notifications dbus erc-hl-nicks color erc-button erc-fill erc-stamp
wid-edit erc-goodies erc erc-backend iso8601 thingatpt pp format-spec
erc-loaddefs dired-aux dired-x dired dired-loaddefs time-date advice
vc-dir ewoc vc vc-dispatcher flycheck find-func dash cc-styles cc-align
cc-engine cc-vars cc-defs bbdb comp comp-cstr warnings rx cl-extra
help-mode bbdb-site timezone ange-ftp comint ansi-color ring server
savehist finder-inf clang-rename clang-include-fixer let-alist
clang-format xml info package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl
tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd
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 cl-generic
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 simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads
xwidget-internal dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty
make-network-process native-compile emacs)
Memory information:
((conses 16 5826176 675973)
(symbols 48 118086 157)
(strings 32 663988 63985)
(string-bytes 1 24860746)
(vectors 16 247905)
(vector-slots 8 5951617 919156)
(floats 8 621 871)
(intervals 56 1006709 5268)
(buffers 992 1662))
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#61942: 28.2; uninterruptible hang in vc-diff buffer
2023-03-03 18:13 bug#61942: 28.2; uninterruptible hang in vc-diff buffer Tom Tromey
@ 2024-06-17 1:15 ` Dmitry Gutov
0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Gutov @ 2024-06-17 1:15 UTC (permalink / raw)
To: Tom Tromey, 61942, Juri Linkov
Hi!
Late reply here.
On 03/03/2023 20:13, Tom Tromey wrote:
> From*vc-outgoing*, I used '=' to see a diff.
>
> The diff in question is pretty large.
>
> Emacs showed this in the echo area:
>
> Finding changes in ....
>
> This was not interruptible -- I tried C-g, C-], and 'kill -USR1'
>
> I don't know exactly what this is doing, but whatever it is should be
> interruptible.
I've been doing some performance debugging for vc-diff, and the same
thing has happened once when c-ts-mode was associated with *.c files.
That time I also turned off the cache for diff's revision syntax
highlighting and repeated a 'vc-diff' for one revision several times.
Profiling this scenario gets me to
7940 85% - diff--get-revision-properties
7940 85% - let*
5637 61% - if
5637 61% - condition-case
5637 61% - vc-find-revision-no-save
5622 60% - decode-coding-inserted-region
3 0% - set-auto-coding
3 0% - find-auto-coding
3 0% + set-auto-mode-1
12 0% + set-auto-mode
3 0% + vc-call-backend
and if we're talking about tree-sitter based modes, it might be due to
memory usage (or not).
Anyway, if you're seeing this regularly
(setq diff-font-lock-syntax 'hunk-only)
should help as a workaround.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-06-17 1:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-03 18:13 bug#61942: 28.2; uninterruptible hang in vc-diff buffer Tom Tromey
2024-06-17 1:15 ` Dmitry Gutov
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.