Subject: bug#77046: 31.0.50; Emacs sometimes crashes

From: Eli Zaretskii <[email-masked]>
Date: Sat, 22 Mar 2025 13:04:55 +0200

> From: Markus Triska <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Sat, 22 Mar 2025 09:00:27 +0100
> 
> Please see below for the new backtrace, using:
> 
>     $ ./emacs --version
>     GNU Emacs 31.0.50
>     Development version cf7fdd374ac9 on master branch; build date 2025-03-22.
> 
> Thank you and all the best,
> Markus
> 
> #0  0x000055555575e5a2 in internal_equal_1 (o1=0x7ffff47f2fac, o2=o2@entry=0x555555a008e4, equal_kind=equal_kind@entry=EQUAL_PLAIN, depth=depth@entry=0, ht=ht@entry=0x7fffffffc4f8) at fns.c:2836

Line 2836 of fns.c is this:

  static bool
  internal_equal_1 (Lisp_Object o1, Lisp_Object o2, enum equal_kind equal_kind,
		    int depth, Lisp_Object *ht)
  { <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   tail_recurse:
    if (depth > 10)

So the only way I can understand how that line could trigger a crash
is that you have C stack overflow, something that is hard to believe
with just 55 call-stack frames in the backtrace.  IOW, it's a mystery
how and why does this crash in your case.

Maybe Gerd could have some ideas.