Subject: Re: bug#70059: 30.0.50; c-ts-mode crashes emacs

From: Eli Zaretskii <[email-masked]>
Date: Fri, 29 Mar 2024 08:39:13 +0300

> Date: Thu, 28 Mar 2024 21:36:54 +0100
> From:  Felix via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> 
> I can reproduce it like this:
> run 'emacs -Q'
> open a C source file.
> M-x c-ts-mode
> wait a few seconds, and emacs crashes.

Doesn't happen here, but see below.

> In GNU Emacs 30.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version
>  3.24.41, cairo version 1.18.0) of 2024-03-28
> Repository revision: de9e913f9e2a1e01e5d091a553e98d75404a2246
> Repository branch: makepkg
                     ^^^^^^^
What is this branch?  I don't see such a branch in the Emacs Git
repository; did I miss something?  If this is your local branch, does
it have any local changes which could affect this issue?

> System Description: Arch Linux
> 
> Configured using:
>  'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
>  --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
>  --with-modules --without-m17n-flt --without-gconf --enable-autodepend
>  --enable-link-time-optimization --with-native-compilation=yes
>  --with-xinput2 --with-pgtk --without-xaw3d --with-cairo-xcb
>  --with-sound=no --with-xwidgets --with-tree-sitter --without-gpm
>  --without-compress-install
>  '--program-transform-name=s/\([ec]tags\)/\1.emacs/'
>  'CFLAGS=-march=native -mtune=generic -O3 -pipe -fno-plt -fexceptions
>  -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
>  -fstack-clash-protection -fcf-protection'
>  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
> 
> Configured features:
> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
> LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
> PDUMPER PGTK PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
> TREE_SITTER WEBP XIM XWIDGETS GTK3 ZLIB

I see your build is with native-compilation; mine is without.  The
backtrace you posted:

> #11 0x000062534cfba688 in shut_down_emacs ()
> #12 0x000062534cfba3ba in terminate_due_to_signal ()
> #13 0x000062534cff5be4 in handle_sigsegv ()
> #14 0x0000723f608fd770 in <signal handler called> () at /usr/lib/libc.so.6
> #15 0x000062534d063429 in process_mark_stack ()
> #16 0x000062534d1649f1 in traverse_intervals_noorder ()
> #17 0x000062534d063e5e in process_mark_stack ()
> #18 0x000062534d063ceb in process_mark_stack ()
> #19 0x000062534d063ceb in process_mark_stack ()
> #20 0x000062534d064fab in mark_char_table ()
> #21 0x000062534d0650f6 in mark_char_table ()
> #22 0x000062534d063c0c in process_mark_stack ()
> #23 0x000062534d063ceb in process_mark_stack ()
> #24 0x000062534d063ceb in process_mark_stack ()
> #25 0x000062534d063ceb in process_mark_stack ()
> #26 0x000062534d0663be in garbage_collect ()
> #27 0x000062534d11e30b in exec_byte_code ()
> #28 0x000062534d0a5406 in Ffuncall ()
> #29 0x000062534d0a58df in Fapply ()
> #30 0x000062534d137961 in read_process_output_call ()
> #31 0x000062534d0ae619 in internal_condition_case_1 ()
> #32 0x000062534d137820 in exec_sentinel ()
> #33 0x000062534d135d2f in status_notify ()
> #34 0x000062534d13b00c in wait_reading_process_output ()

indicates that Emacs crashed after some sub-process exited, the
process sentinel was called, and that caused us to run some Lips and
perform GC.  Any idea what that subprocess was? could it be the async
native-compilation of some Lisp file?  Can you try building without
native-compilation and see if the problem happens there as well?

Also, do you see c-ts-mode's .eln file in your eln-cache directory?

Andrea, can you try reproducing this?