Subject: Re: bug#70438: Emacs error 6 abort when starting rust-ts-mode

From: Yuan Fu <[email-masked]>
Date: Sat, 20 Apr 2024 01:28:48 -0700

> On Apr 17, 2024, at 9:27 AM, Eli Zaretskii <[email-masked]> wrote:
> 
>> From: Stefan Heitmann <[email-masked]>
>> Date: Wed, 17 Apr 2024 11:41:16 +0000
>> 
>> From: [email-masked] 
>> To: [email-masked]
>> Subject: 29.3; After upgrading Arch - Emacs crashes when starting rust-ts-mode
>> Date: Wed, 17 Apr 2024 13:35:04 +0200
>> Message-ID: <[email-masked]>
>> --text follows this line--
>> 
>> Opening a rust file (*.ts) and doing M-x rust-ts-mode <ENTER> crashes my
>> emacs. When I start emacs using the terminal I get the following when it
>> crashes:
>> 
>> *** stack smashing detected ***: terminated
>> Fatal error 6: Aborted
>> Backtrace:
>> emacs(+0x140096)[0x5cc8dc378096]
>> emacs(+0x20330)[0x5cc8dc258330]
>> emacs(+0x21153)[0x5cc8dc259153]
>> emacs(+0x29ad8d)[0x5cc8dc4d2d8d]
>> /usr/lib/libc.so.6(+0x3c770)[0x736916235770]
>> /usr/lib/libc.so.6(+0x8d32c)[0x73691628632c]
>> /usr/lib/libc.so.6(gsignal+0x18)[0x7369162356c8]
>> /usr/lib/libc.so.6(abort+0xd7)[0x73691621d4b8]
>> /usr/lib/libc.so.6(+0x25395)[0x73691621e395]
>> /usr/lib/libc.so.6(+0x11473b)[0x73691630d73b]
>> /usr/lib/libc.so.6(+0x115a56)[0x73691630ea56]
>> emacs(+0x24a063)[0x5cc8dc482063]
>> /usr/lib/emacs/29.3/native-lisp/29.3-4b59e32f/treesit-37439c61-97df641d.eln
>> (F747265657369742d666f6e742d6c6f636b2d666f6e746966792d726567696f6e_treesit_font_lock_fontify_region_0+0x1f2)[0x7369068e6832]
>> 
> 
> Yuan, can you please look into this?  It seems the latest versions of
> tree-sitter made some incompatible ABI change (without changing the
> shared-library version, I guess? not nice!), so can we have some
> workaround for this?

I think tree-sitter people are working to fix this [1]. I don’t think we can do much here, AFAICT tree-site changed ABI without bumping ABI version, and Arch and Gentoo are serving old Emacs build this new tree-sitter so, which is incompatible and crashed Emacs. We can’t really do anything to the Emacs build on people’s machines (though, who knows, maybe you CAN cask spells and flip bits).

[1] https://github.com/tree-sitter/tree-sitter/issues/3296

Yuan