[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#71681: 29.3.50; tree-sitter crash
From: |
Yuan Fu |
Subject: |
bug#71681: 29.3.50; tree-sitter crash |
Date: |
Mon, 1 Jul 2024 00:01:23 -0700 |
> On Jun 30, 2024, at 11:49 PM, Juri Linkov <juri@linkov.net> wrote:
>
>> I reduced the crash to a signal and pushed the fix to emacs-30.
>> Next I’ll make sure the signal is properly handled.
>
> Now with the latest emacs-30 at the commit b2c966f8396
> there is another problem:
>
> 0. emacs -Q
> 1. eval: (setq backtrace-on-redisplay-error t)
> 2. eval: (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode))
> 3. C-x v L
> 4. in the *vc-change-log* buffer move point to the commit b2c966f8396
> 5. type D
>
> Warning (error): Error in a redisplay Lisp hook.
> See buffer *Redisplay-trace*
>
> Error: treesit-node-outdated (#<treesit-node-outdated>)
> treesit--font-lock-fontify-region-1(#<treesit-node-outdated>
> #<treesit-compiled-query> 99654 99975 nil nil)
> treesit-font-lock-fontify-region(99654 99975 nil)
> font-lock-fontify-syntactically-region(99654 99975 nil)
> font-lock-default-fontify-region(99654 99974 nil)
> font-lock-fontify-region(99654 99974)
> font-lock-ensure(99654 99974)
> diff-syntax-fontify-hunk(122 539 t)
> diff-syntax-fontify(122 539)
> diff--font-lock-syntax(539)
> font-lock-fontify-keywords-region(1 539 nil)
> font-lock-default-fontify-region(1 539 nil)
> font-lock-fontify-region(1 539)
> jit-lock--run-functions(1 539)
> jit-lock-fontify-now(1 539)
> jit-lock-function(1)
> vc-diff-finish(#<buffer *vc-diff*> nil nil)
> vc-exec-after(#f(compiled-function () #<bytecode -0xcd6e6e57937525e>))
> log-view-diff-common(1 1 t)
> log-view-diff-changeset(1 1)
> funcall-interactively(log-view-diff-changeset 1 1)
> command-execute(log-view-diff-changeset)
Yes, that’s what meant by “reduced crash to signal”. The crash is fixed, but I
need to fix the font-lock code so it can handle the signal gracefully (or don’t
cause the signal from the first place). It’s not yet clear to me why does
treesit-font-lock-fontify-region end up using an outdated node for query.
Yuan