bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#71012: 30.0.50; tree-sitter crash


From: Yuan Fu
Subject: bug#71012: 30.0.50; tree-sitter crash
Date: Tue, 28 May 2024 22:15:05 -0700


> On May 27, 2024, at 3:10 PM, Yuan Fu <casouri@gmail.com> wrote:
> 
> 
> 
>> On May 17, 2024, at 11:07 PM, Yuan Fu <casouri@gmail.com> wrote:
>> 
>> 
>> 
>>> On May 17, 2024, at 8:29 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>>> 
>>>> From: Helmut Eller <eller.helmut@gmail.com>
>>>> Date: Fri, 17 May 2024 15:39:27 +0200
>>>> 
>>>> The code in the attached file tries to parse src/lisp.h but crashes
>>>> while printing the result:  emacs --batch -l ts-bug.el
>>> 
>>> Yuan, can you help, please?
>>> 
>>> Btw, why do you use treesit-parse-string?  The Emacs integration with
>>> tree-sitter can parse a buffer without making a string from its
>>> contents.
>> 
>> Yep, I’ll look into it.
>> 
>> Yuan
> 
> Just an update, I didn’t forget about this. If I didn’t reply back today, I 
> will in a few days :-)
> 
> Yuan

From what I can gather, the crash seems to be because the temp buffer is 
garbage collected—the inserted lisp.h is a large file, so the temp buffer is 
probably immediately collected, before Emacs tries to print the node in the 
next line. I replaced the insert-file-content with some smaller file and it 
didn’t crash.

But that theory has critical flaws: a) Emacs certainly doesn't collect the temp 
buffer before the with-temp-buffer form returns; b) I can’t crash Emacs in my 
non-debug build by inserting (garbage-collect) in front of the message line in 
the example; c) debug build Emacs still crashes even if I enlarge 
gc-cons-threshold.

Eli, is there anything different regarding temp buffers in debug builds?

Yuan






reply via email to

[Prev in Thread] Current Thread [Next in Thread]