[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#72238: 31.0.50; Segfault after treesit_delete_query
From: |
Yuan Fu |
Subject: |
bug#72238: 31.0.50; Segfault after treesit_delete_query |
Date: |
Tue, 23 Jul 2024 09:44:56 -0700 |
> On Jul 22, 2024, at 4:17 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> Cc: Noah Peart <noah.v.peart@gmail.com>, 72238@debbugs.gnu.org
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Sun, 21 Jul 2024 17:01:31 -0700
>>
>>
>>
>>> On Jul 21, 2024, at 3:24 PM, john muhl <jm@pub.pink> wrote:
>>>
>>> Noah Peart <noah.v.peart@gmail.com> writes:
>>>
>>>> After recent build, emacs is crashing frequently when using tree-sitter
>>>> modes.
>>>>
>>>> The following backtrace was generated after opening a few C files,
>>>> enabling c-ts-mode, and moving the cursor around a bit. I dont have
>>>> precise steps for repeatability at this point (sorry!), as it seems to
>>>> occur during garbage collection.
>>>>
>>>> Let me know if there is more useful output I could provide.
>>>
>>> Could you try reverting 1abf3bdd7ed and see if that helps?
>>
>> Hey guys, sorry for the segfault. It’s indeed caused by 1abf3bdd7ed, I just
>> fixed it on master.
>
> Thanks, but I'm confused, since I see a fix both on emacs-30 and on
> master. What exactly did you fix and on which branch(es)? Did the
> problem exist on emacs-30 (it was reported for master)?
Yeah, there’re two bugs: 1) we shouldn’t delete the query object without
checking for NULL, and 2) we shouldn’t delete the cursor object without
checking for NULL. In emacs-30, only query could be NULL, cursor is always
initialized; in emacs-master, due to my recent change, both query and cursor
could be NULL.
So I added checks for both query and cursor in one commit and pushed to master,
and cherry-picked the commit to emacs-30.
Yuan