GNU bug report logs - #60237
30.0.50; tree sitter core dumps when I edebug view a node

Previous Next

Package: emacs;

Reported by: Mickey Petersen <mickey <at> masteringemacs.org>

Date: Wed, 21 Dec 2022 12:30:02 UTC

Severity: normal

Found in version 30.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


Message #29 received at 60237 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Yuan Fu <casouri <at> gmail.com>
Cc: mickey <at> masteringemacs.org, 60237 <at> debbugs.gnu.org
Subject: Re: bug#60237: 30.0.50; tree sitter core dumps when I edebug view a 
 node
Date: Sat, 25 Feb 2023 09:55:33 +0200
> From: Yuan Fu <casouri <at> gmail.com>
> Date: Fri, 24 Feb 2023 15:29:15 -0800
> Cc: eliz <at> gnu.org,
>  60237 <at> debbugs.gnu.org
> 
> Maybe it will help us understand the problem better, so here is the
> backtrace for the infinite loop. I’m not sure why treesit_delete_parser
> would trigger gc, as it just calls two tree_sitter functions:
> 
> void
> treesit_delete_parser (struct Lisp_TS_Parser *lisp_parser)
> {
>   ts_tree_delete (lisp_parser->tree);
>   ts_parser_delete (lisp_parser->parser);
> }

According to the backtrace, it's the other way around: Emacs called
some function via funcall, and funcall decided it was a good time to
do a GC.  Then GC called treesit_delete_parser, presumably because
that parser object was no longer in use?




This bug report was last modified 2 years and 70 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.