Subject: bug#73041: closed (Re: bug#75906: 30.0.93; track-changes-tests--random failure)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 03 Feb 2025 20:52:03 +0000

Your bug report

#75906: 30.0.90; track-changes-mode logs warnings (#70541 regression?  not actually fixed?)

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
75906: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75906
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#75906: 30.0.93; track-changes-tests--random failure
From: Stefan Monnier <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Mon, 03 Feb 2025 15:51:24 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

> No objection, please go ahead, and thanks.

Done, thanks, closing,

        Stefan

Subject: 30.0.90; track-changes-mode logs warnings (#70541 regression? not actually fixed?)
From: [email-masked]
To: [email-masked]
Date: Thu, 05 Sep 2024 08:28:53 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

I wish I could describe exactly what happened.  I found
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70541 which sounds
very much like what I'm seeing, but I don't use any input method.

What I can say:

- I use rust-mode (not rust-ts-mode)
- I use eglot (config below)
- I use rust-analyzer 1.80.1 (3f5fd8d 2024-08-06)
- The problem seems to happen deep into a work day, after many
  commits, reverts, etc.

My eglot configuration:

#+begin_src elisp
  (setq
   eglot-extend-to-xref t
   eglot-ignored-server-capabilities
   '(
     :inlayHintProvider
     :documentOnTypeFormattingProvider
     )
   )
#+end_src

Eventually, this pops into *Messages*:

#+begin_quote
cl--assertion-failed: Assertion failed: (or track-changes--before-no (<= track-changes--before-beg (track-changes--state-beg track-changes--state) beg end (track-changes--state-end track-changes--state) track-changes--before-end))
#+end_quote

And this in *Warnings*:

#+begin_quote
⛔ Warning (emacs): Missing/incorrect calls to ‘before/after-change-functions’!!
Details logged to ‘track-changes--error-log’
#+end_quote

Over time, they just keep repeating, although I think killing the
buffer and reopening the file makes it stop.

If I have inspected ‘track-changes--error-log’ correctly, this is
what it contains (looks like some binary, hope it comes through
in some useful fashion or another):

#+begin_quote
(("lib.rs" (buffer-size 5254 5218) ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--signal-textDocument/didChange nil nil) (t eglot--signal-textDocument/didSave nil nil) (t run-hooks ... nil) (t basic-save-buffer ... nil) (t save-buffer ... nil) (t funcall-interactively ... nil) (t call-interactively ... nil) (t command-execute ... nil)) [111 (nil . other-window) 103 (nil . recompile) 121 (nil . undefined) 24 96 (nil . next-error) 1 (nil . move-beginning-of-line) 11 ...]) ("lib.rs" (buffer-size 5256 5254) ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--signal-textDocument/didChange nil nil) (t eglot--signal-textDocument/didSave nil nil) (t run-hooks ... nil) (t basic-save-buffer ... nil) (t save-buffer nil nil) (t #[257 "r\211q\210\300 )\207" [save-buffer] 2 ...] ... nil) (t map-y-or-n-p ... nil) (t save-some-buffers ... nil) (t recompile ... nil) ...) [19 (nil . save-buffer) 24 24 (nil . exchange-point-and-mark) 23 (nil . kill-region) 24 19 (nil . save-buffer) backspace (nil . delete-backward-char) ...]) ("lib.rs" (buffer-size 5278 5256) ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--signal-textDocument/didChange nil nil) (t eglot--signal-textDocument/didSave nil nil) (t run-hooks ... nil) (t basic-save-buffer ... nil) (t save-buffer ... nil) (t funcall-interactively ... nil) (t call-interactively ... nil) (t command-execute ... nil)) [(nil . backward-word) 2 (nil . backward-char) 67108896 (nil . set-mark-command) 134217734 (nil . forward-sexp) 23 (nil . kill-region) 24 19 (nil . save-buffer) ...]) ("lib.rs" (buffer-size 5324 5278) ((t track-changes--recover-from-error ... nil) (t track-changes-fetch ... nil) (t eglot--track-changes-fetch ... nil) (t eglot--track-changes-signal ... nil) (t #[771 "\211^BZ\211^HG^E]	
#+end_quote

I wish I could reliably repeat it.  Given that it occurs after
many hours of work, `emacs -Q` isn't an option.

Thanks!

In GNU Emacs 30.0.90 (build 9, x86_64-pc-linux-gnu, cairo version
 1.18.0) of 2024-09-03 built on dogato
Repository revision: ae2463796f236b8ee2cef3b5e38bffa13abd2233
Repository branch: emacs-30
Windowing system distributor 'The X.Org Foundation', version 11.0.12101012
System Description: openSUSE Tumbleweed

Configured using:
 'configure -C --prefix=/opt/emacs-30.0.90.5.ae2463796f2
 --disable-silent-rules --with-x-toolkit=no --without-gsettings
 --with-native-compilation=no'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2
LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY OLDXMENU PDUMPER PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE
XIM XINPUT2 XPM ZLIB

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix

Major mode: ELisp/d

Minor modes in effect:
  server-mode: t
  editorconfig-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr tabify cus-edit cus-start cus-load
cl-print help-fns radix-tree mh-utils emacsbug conf-mode
smerge-mode whitespace time-stamp perl-mode bug-reference
log-edit mule-util display-line-numbers dired-aux view pulse
color vc-annotate oc-basic org-element org-persist org-id
org-refile org-element-ast inline avl-tree generator ol-eww eww
xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus
nnselect gnus-art mm-uu mml2015 gnus-sum shr pixel-fill kinsoku
url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus
xml gnus-cloud nnimap nnmail browse-url mail-source utf7 nnoo
parse-time gnus-spec gnus-int gnus-range message yank-media
rfc822 mailabbrev gmm-utils mailheader gnus-win gnus nnheader
range wid-edit ol-docview doc-view jka-compr image-mode exif
dired dired-loaddefs ol-bibtex bibtex iso8601 ol-bbdb ol-w3m
ol-doi org-link-doi org org-macro org-pcomplete org-list
org-footnote org-faces org-entities noutline outline org-version
ob-sql ob-emacs-lisp ob-C ob ob-tangle org-src sh-script smie
treesit executable ob-ref ob-lob ob-table ob-exp ob-comint
ob-core ob-eval cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs org-cycle org-table
ol org-fold org-fold-core org-keys oc org-loaddefs cal-menu
calendar cal-loaddefs org-compat org-macs format-spec misearch
multi-isearch add-log cl-extra server shell pcomplete files-x
grep vc-cvs vc-rcs log-view pcvs-util vc-dir vc rust-utils
rust-mode rust-rustfmt rust-playpen rust-compile rust-cargo rx
eglot external-completion jsonrpc xref flymake thingatpt project
compat diff ert pp ewoc debug backtrace help-mode find-func
filenotify warnings compile comint ansi-osc ansi-color ring pcase
vc-git diff-mode track-changes easy-mmode vc-dispatcher url-cache
url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util url-parse
auth-source eieio eieio-core cl-macs icons json map byte-opt gv
bytecomp byte-compile url-vars mh-acros mh-folder which-func
imenu mh-comp sendmail mail-utils mh-scan mh-gnus mml mm-view
mml-smime mml-sec epa derived epg rfc6068 epg-config smime cl-seq
password-cache gnutls puny dig mailcap mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr gnus-util text-property-search time-date subr-x mh-e
mh-buffers mh-loaddefs editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch 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 emacs)

Memory information:
((conses 16 407345 108770) (symbols 48 32008 1) (strings 32 102422 6760)
 (string-bytes 1 2997195) (vectors 16 63439) (vector-slots 8 1388223 211290)
 (floats 8 478 2399) (intervals 56 29367 817) (buffers 992 73))