Subject: Re: bug#59832: 30.0.50; [TREESIT] Segfault in treesit_load_language

From: Eli Zaretskii <[email-masked]>
Date: Tue, 06 Dec 2022 14:02:57 +0200

> From: German Pacenza <[email-masked]>
> Cc: [email-masked]
> Date: Mon, 05 Dec 2022 17:47:43 -0300
> 
> 
> The crash happens when compiling with '--without-modules', if I remove
> it emacs doesn't crash.
> 
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> Running that after it crashes shows:
> >> 
> >> (gdb) frame 0
> >> #0  treesit_load_language (language_symbol=<optimized out>, signal_symbol=0x7fffffffd2f8, 
> >>     signal_data=0x7fffffffd300) at treesit.c:565
> >> 565	     char *library_name = SSDATA (XCAR (tail));
> >> (gdb) print XCAR(tail)
> >> No symbol "XCAR" in current context.
> >> (gdb) 
> >
> > That's because your build is without -g3.  Can you rebuild with
> >
> >   CFLAGS='-O2 -g3' ./configure ...
> >
> > ?
> 
> I get the same result.

Strange, it shouldn't have happened.  How is CFLAGS set on src/Makefile?  It
should be something like this:

  CFLAGS = -O2 -g3

Also, please try printing the value of the full list of the candidate
libraries:

  (gdb) source .gdbinit
  (gdb) pp path_candidates

The file .gdbinit is in the src directory of the Emacs source tree, so if
you start GDB not from that directory, you will need to type the full
absolute file name of .gdbinit in the "source" command.