Subject: bug#75459: 31.0.50; scratch-igc: Breakpoint 1, terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ./src/emacs.c:432

From: Pip Cet <[email-masked]>
Date: Thu, 09 Jan 2025 19:27:55 +0000

Gerd Möllmann <[email-masked]> writes:

> Gregor Zattler <[email-masked]> writes:
>
>> Hi Pip,
>> * Pip Cet <[email-masked]> [2025-01-09; 14:47 GMT]:
>>> Gregor, can you run "print specpdl_ptr",
>>> "print *(struct Lisp_String *)0x555557040d50", and "bt full"?
>>
>> (gdb) print specpdl_ptr
>> $4 = (union specbinding *) 0x5555567c1a50
>>
>> (gdb) print *(struct Lisp_String *)0x555557040d50

It's not a string, but the data you printed is... weird.  Usually you
can recognize pointers, or it's all ASCII, but this seems to be very
short ASCII strings betwen data in a totally different format.

>> $5 = {
>>   gc_header = {
>>     v = 144120702814523145,
>>     gcaligned = 9 '\t'
>>   },
>>   u = {
>>     s = {
>>       size = 74027876143398912,
>>       size_byte = 8028901113149262606,
"clo"
>>       intervals = 0xd0e000d0d646573,
"sed"
>>       data = 0x6c64616564080200 <error: Cannot access memory at address 0x6c64616564080200>

"deadl", which appears at the beginning of an Emacs string ("deadline") only in
org-agenda.el.  The string is unlikely to start earlier because the next
byte would be 0x08, an ASCII backspace.  Unlikely.

More likely it's an unaligned string.  I think Emacs string data is
always aligned, except for pure strings.  But on scratch/igc, even pure
strings are aligned to an 8-byte boundary!

"closed" also appears in org-agenda.el, but this string isn't
NUL-terminated: it's a Pascal-style string, with a length byte (0x06)
followed by 6 ASCII characters.  That would match the 8-byte "deadline"
literal.

Possibly a (basic) compression format, probably lz4 or zlib.  I'm
guessing this is a git object, which is stored in zlib format, and that
appears to use length-prefixed string literals like these.

What is it doing in your Emacs data?

>>     },
>>     next = 0x106fff60d010000,
>>     gcaligned = 0 '\000'
>>   }
>> }
>>
>> (gdb) bt full
>> #0  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ./src/emacs.c:432
>> #1 0x00005555555b72db in die (msg=msg@entry=0x5555559d49e0
> "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x5555559d4540
> "eval.c", line=line@entry=118) at ./src/alloc.c:8377
>> #2  0x00005555555bcc21 in backtrace_function (pdl=<optimized out>) at ./src/eval.c:118
>> #3  0x00007fffffff986f in <function called from gdb> ()
>> #4  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ./src/emacs.c:432
>> #5 0x00005555555b72db in die (msg=msg@entry=0x5555559d49e0
> "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x5555559d4540
> "eval.c", line=line@entry=118) at ./src/alloc.c:8377
>> #6  0x00005555555bcc21 in backtrace_function (pdl=<optimized out>) at ./src/eval.c:118
>> #7  0x00007fffffff992f in <function called from gdb> ()
>> #8  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ./src/emacs.c:432
>> #9 0x00005555555b72db in die (msg=msg@entry=0x5555559d49e0
> "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x5555559d4540
> "eval.c", line=line@entry=118) at ./src/alloc.c:8377
>> #10 0x00005555555bcc21 in backtrace_function (pdl=<optimized out>) at ./src/eval.c:118
>> #11 0x00007fffffff99ef in <function called from gdb> ()
>> #12 terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ./src/emacs.c:432
>> #13 0x00005555555b72db in die (msg=msg@entry=0x5555559d49e0
> "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x5555559d4540
> "eval.c", line=line@entry=118) at ./src/alloc.c:8377
>> #14 0x00005555555bcc21 in backtrace_function (pdl=<optimized out>) at ./src/eval.c:118
>> #15 0x00007fffffff9aaf in <function called from gdb> ()
>> #16 terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ./src/emacs.c:432
>> #17 0x00005555555b72db in die (msg=msg@entry=0x5555559d49e0
> "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x5555559d4540
> "eval.c", line=line@entry=118) at ./src/alloc.c:8377
>> #18 0x00005555555bcc21 in backtrace_function (pdl=<optimized out>) at ./src/eval.c:118
>> #19 0x00007fffffff9b6f in <function called from gdb> ()
>> #20 terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ./src/emacs.c:432
>> #21 0x00005555555b72db in die (msg=msg@entry=0x5555559cedde
> "CHAR_TABLE_P (obj)", file=file@entry=0x5555559b0565 "character.h",
> line=line@entry=597) at ./src/alloc.c:8377
>> #22 0x00005555555b6acd in char_table_translate (obj=Python Exception <class 'gdb.error'>: value has been optimized out
>> , ch=32) at ./src/character.h:597
>> #23 0x00005555557d99a0 in re_match_2_internal (bufp=0x5555560fd6a0
> <searchbufs+2912>, bufp@entry=0x5eb92b3c6c43c900, string1=0x0,
> string1@entry=0x555557025101 "\377\377\377\377\377\377\377\001",
> size1=0, string2=0x5555570251b0 "#-*- mode: Org; indent-tabs-mode:
> nil; coding: utf-8-unix -*-\n#+STARTUP: hidestars\n#+STARTUP:
> odd\n;#+STARTUP: overview\n#+STARTUP: showeverything\n#+SEQ_TODO:
> TODO(t) INPROGRESS(i@/@) WAITING(w@/@) VER"..., size2=93674,
> size2@entry=93825020464468, pos=43986, regs=<optimized out>,
> stop=<optimized out>) at ./src/regex-emacs.c:4553
>>         len = 1
>>         corig = 32
>>         c = 32
>>         mcnt = <optimized out>
>>         end1 = 0x0
>>         end2 = 0x55555703bf9a ""
>>         end_match_1 = 0x0
>>         end_match_2 = 0x55555703bf9a ""
>> d = 0x55555702fd82 " :PROPERTIES:\n :ID:
> fd470568-f0eb-48a4-bf04-dada8e83de5f\n :END:\n\n - Mittwoch Goldene
> Zitronen\n - Treffen <2024-12-02 Mo 18:00> in Neukölln, Stuttgarter
> Str. 10 /\n Roseggerstr. 39"...
>>         dend = 0x55555703bf9a ""
>>         dfail = <optimized out>
>>         p = 0x555557040d55 "\005"

That's a pointer into the zlib (?) data, but at a different offset from
the last one, which was 0x555557040d54

>>         pend = 0x555557040d8f " \377\003\376\377\377\207\376\377\377\a\001"
>>         translate = XIL(0x7fffe0b702f5)
>>         multibyte = false
>>         target_multibyte = true
>>         fail_stack = {
>>           stack = <optimized out>,
>>           size = <optimized out>,
>>           avail = 3,
>>           frame = 3
>>         }
>>         num_regs = 2
>>         regstart = <optimized out>
>>         regend = 0x7fffffff9c40
>>         best_regs_set = false
>>         best_regstart = 0x7fffffff9c48
>>         best_regend = 0x7fffffff9c50
>>         match_end = 0x0
>>         nchars = 0
>>         retval = -1
>>         sa_avail = 6398840

sa_avail should never exceed 16K, but maybe it's uninitialized at this
point.

>>         sa_count = {
>>           bytes = 1440
>>         }
>>         re_nsub = <optimized out>
>> #24 0x00005555557de57d in re_match_2 (bufp=0x5eb92b3c6c43c900,
> string1=0x555557025101 "\377\377\377\377\377\377\377\001",
> size1=<optimized out>, string2=<optimized out>, size2=93825020464468,
> pos=<optimized out>, regs=<optimized out>, stop=<optimized out>) at
> ./src/regex-emacs.c:4056
>> #25 0x00005555557c9f73 in looking_at_1 (string=Python Exception <class 'gdb.error'>: value has been optimized out
>> , posix=<optimized out>, modify_data=<optimized out>) at ./src/search.c:323
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> p1 = 0x5555570251b0 "#-*- mode: Org; indent-tabs-mode: nil; coding:
> utf-8-unix -*-\n#+STARTUP: hidestars\n#+STARTUP: odd\n;#+STARTUP:
> overview\n#+STARTUP: showeverything\n#+SEQ_TODO: TODO(t)
> INPROGRESS(i@/@) WAITING(w@/@) VER"...
>>         p2 = <optimized out>
>>         s1 = <optimized out>
>>         s2 = <optimized out>
>>         i = <optimized out>
>>         modify_match_data = <optimized out>
>>         cache_entry = 0x5555560fd680 <searchbufs+2880>
>> #26 0x00007fffde1bc131 in
> F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_38 () at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-element-1d23d6e0-0b03f1c0.eln
>> #27 0x000055555581b7c7 in funcall_subr (subr=0x7fffe63117f0, numargs=4, args=<optimized out>) at ./src/eval.c:3173
>>         argbuf = {XIL(0x7fffe5607a2b), XIL(0), XIL(0x7fffffffb170), XIL(0x55555581153c), XIL(0x520), XIL(0), XIL(0), XIL(0x55555581cf4d)}
>>         a = <optimized out>
>>         maxargs = 4
>> #28 0x0000555555817e73 in Ffuncall (nargs=5, args=0x7fffffffb268) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #29 0x00007fffde1eea0e in
> F6f72672d656c656d656e742d2d70617273652d746f_org_element__parse_to_0 ()
> at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-element-1d23d6e0-0b03f1c0.eln
>> #30 0x000055555581b7e3 in funcall_subr (subr=0x7fffe6413978, numargs=1, args=<optimized out>) at ./src/eval.c:3171
>> argbuf = {make_fixnum(44173), XIL(0), XIL(0), XIL(0x7fffe2e46fc8),
> XIL(0x7fffe2e46fcb), XIL(0x55555611d1c0), XIL(0x7fffde263ea8),
> XIL(0x55555581cf4d)}
>>         a = <optimized out>
>>         maxargs = 3
>> #31 0x0000555555817e73 in Ffuncall (nargs=2, args=0x7fffffffb480) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #32 0x00007fffde1fe45e in
> F6f72672d656c656d656e742d2d63616368652d7665726966792d656c656d656e74_org_element__cache_verify_element_0
> () at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-element-1d23d6e0-0b03f1c0.eln
>> #33 0x000055555581b810 in funcall_subr (subr=0x7fffe95e36d8, numargs=1, args=<optimized out>) at ./src/eval.c:3167
>>         argbuf = {XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0x7ffff29fcd40), XIL(0x55555611d1c0), XIL(0x55555581cf4d)}
>>         a = <optimized out>
>>         maxargs = 1
>> #34 0x0000555555817e73 in Ffuncall (nargs=2, args=0x7fffffffbbd0) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #35 0x00007fffde218a4e in
> F6f72672d656c656d656e742d61742d706f696e74_org_element_at_point_0 () at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-element-1d23d6e0-0b03f1c0.eln
>> #36 0x000055555581b7ff in funcall_subr (subr=0x7fffe6414738, numargs=0, args=<optimized out>) at ./src/eval.c:3169
>>         argbuf = {XIL(0), XIL(0), XIL(0x7fffe8c1e6b8), XIL(0x7fffe5606b85), XIL(0x7fffe8c1e6bd), XIL(0x4), XIL(0x7fffffffbcc0), XIL(0x55555581cf4d)}
>>         a = <optimized out>
>>         maxargs = 2
>> #37 0x0000555555817e73 in Ffuncall (nargs=1, args=0x7fffffffbd58) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #38 0x00007fffdf123c64 in
> F6f72672d696e2d7372632d626c6f636b2d70_org_in_src_block_p_0 () at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-30013b5a-16ff07f1.eln
>> #39 0x000055555581b7ff in funcall_subr (subr=0x7fffe9cec0b0, numargs=2, args=<optimized out>) at ./src/eval.c:3169
>> argbuf = {XIL(0x360), XIL(0), XIL(0), XIL(0x5555559d4f50),
> XIL(0x7fffffffbec0), make_fixnum(23456248887582), XIL(0x7fffffffbed0),
> XIL(0x55555581cf4d)}
>>         a = <optimized out>
>>         maxargs = 2
>> #40 0x0000555555817e73 in Ffuncall (nargs=3, args=0x7fffffffbf80) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #41 0x00007fffde296717 in
> F6f72672d6167656e64612d736b6970_org_agenda_skip_0 () at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-agenda-c62ea9fb-0f9a50be.eln
>> #42 0x000055555581b810 in funcall_subr (subr=0x7fffe9d601e0, numargs=0, args=<optimized out>) at ./src/eval.c:3167
>>         argbuf = {XIL(0), XIL(0), XIL(0x38), XIL(0), XIL(0x7fffffffc110), XIL(0x5555557f9350), XIL(0), XIL(0x55555581cf4d)}
>>         a = <optimized out>
>>         maxargs = 1
>> #43 0x0000555555817e73 in Ffuncall (nargs=1, args=0x7fffffffc208) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #44 0x00007fffde2bb076 in
> F6f72672d6167656e64612d6765742d626c6f636b73_org_agenda_get_blocks_0 ()
> at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-agenda-c62ea9fb-0f9a50be.eln
>> #45 0x0000555555817e73 in Ffuncall (nargs=1, args=0x7fffffffc3c0) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #46 0x00007fffde2a52cc in
> F6f72672d6167656e64612d6765742d6461792d656e7472696573_org_agenda_get_day_entries_0
> () at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-agenda-c62ea9fb-0f9a50be.eln
>> #47 0x0000555555817e73 in Ffuncall (nargs=nargs@entry=7, args=0x7fffffffc530) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #48 0x0000555555818220 in Fapply (nargs=<optimized out>, args=0x7fffffffc6f8) at ./src/eval.c:2771
>>         i = <optimized out>
>>         funcall_nargs = 7
>>         funcall_args = <optimized out>
>>         spread_arg = XIL(0)
>>         fun = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>>         sa_avail = <optimized out>
>>         sa_count = {
>>           bytes = 512
>>         }
>>         numargs = <optimized out>
>>         retval = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #49 0x0000555555817e73 in Ffuncall (nargs=5, args=0x7fffffffc6f0) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #50 0x00007fffde29911e in
> F6f72672d6167656e64612d6c697374_org_agenda_list_0 () at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-agenda-c62ea9fb-0f9a50be.eln
>> #51 0x000055555581c583 in eval_sub (form=Python Exception <class 'gdb.error'>: value has been optimized out
>> ) at ./src/eval.c:2614
>>         i = 4
>>         maxargs = 4
>>         args_left = XIL(0)
>>         numargs = 2
>>         original_fun = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>>         original_args = XIL(0x7fffe4e097b3)
>>         fun = XIL(0x7fffe6470da5)
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>>         funcar = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>>         argvals = {make_fixnum(0), XIL(0x7fffe4e097cc), XIL(0), XIL(0), XIL(0x555556150320), XIL(0x7fffffffc8a0), XIL(0x80), make_fixnum(23456249081022)}
>> #52 0x000055555581c6d9 in Fprogn (body=XIL(0x7fffe4e2036b)) at ./src/eval.c:443
>>         val = XIL(0)
>> #53 0x000055555581cadd in funcall_lambda (fun=make_fixnum(1), nargs=<optimized out>, arg_vector=<optimized out>) at ./src/eval.c:3356
>>         syms_left = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>>         lexenv = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>>         i = <optimized out>
>>         optional = <optimized out>
>>         rest = <optimized out>
>>         previous_rest = <optimized out>
>> #54 0x0000555555817e73 in Ffuncall (nargs=nargs@entry=1, args=args@entry=0x7fffffffcab8) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #55 0x00005555558127d7 in Ffuncall_interactively (nargs=1, args=0x7fffffffcab8) at ./src/callint.c:250
>> #56 0x0000555555817e73 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffcab0) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #57 0x0000555555818478 in Fapply (nargs=nargs@entry=3, args=args@entry=0x7fffffffcab0) at ./src/eval.c:2724
>>         i = <optimized out>
>>         funcall_nargs = <optimized out>
>>         funcall_args = 0x0
>>         spread_arg = XIL(0)
>>         fun = XIL(0xae58)
>>         sa_avail = 16384
>>         sa_count = {
>>           bytes = 192
>>         }
>>         numargs = <optimized out>
>>         retval = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #58 0x000055555581428c in Fcall_interactively (function=Python Exception <class 'gdb.error'>: value has been optimized out
>> , record_flag=XIL(0), keys=XIL(0x7fffe137c8c5)) at ./src/callint.c:342
>>         funval = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>>         events = <optimized out>
>>         speccount = {
>>           bytes = 160
>>         }
>>         arg_from_tty = false
>>         key_count = 2
>>         record_then_fail = false
>>         save_this_command = XIL(0x2aaa8ecfbc50)
>>         save_this_original_command = XIL(0x2aaa8ecfbc50)
>>         save_real_this_command = XIL(0x2aaa8ecfbc50)
>>         save_last_command = XIL(0)
>>         prefix_arg = XIL(0)
>>         enable = XIL(0)
>>         up_event = XIL(0)
>>         form = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>>         specs = XIL(0)
>>         sa_avail = <optimized out>
>>         sa_count = {
>>           bytes = <optimized out>
>>         }
>>         string_len = <optimized out>
>>         string = <optimized out>
>>         string_end = <optimized out>
>>         next_event = <optimized out>
>>         nargs = <optimized out>
>>         args = <optimized out>
>>         visargs = <optimized out>
>>         varies = <optimized out>
>>         tem = <optimized out>
>> #59 0x00007ffff27ee8f5 in
> F636f6d6d616e642d65786563757465_command_execute_0 () at
> /home/grfz/src/emacs-igc/src/../native-lisp/31.0.50-b708ad23/preloaded/simple-fab5b0cf-f25e9023.eln
>> #60 0x000055555581b7c7 in funcall_subr (subr=0x7fffe139d428, numargs=1, args=<optimized out>) at ./src/eval.c:3173
>>         argbuf = {XIL(0x2aaa8ecfbc50), XIL(0), XIL(0), XIL(0), XIL(0x7fffffffcc90), XIL(0x555555817e73), XIL(0x7ffff287dce0), XIL(0x55555581cf4d)}
>>         a = <optimized out>
>>         maxargs = 4
>> #61 0x0000555555817e73 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffcd60) at ./src/eval.c:3099
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #62 0x000055555577666c in command_loop_1 () at ./src/keyboard.c:1556
>>         cmd = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> keybuf = {XIL(0x2aaa8c649708), make_fixnum(106), make_fixnum(106),
> make_fixnum(97), XIL(0x7fffe1e302e4), XIL(0x7fffe11e2f64),
> XIL(0x7fffe11e2f64), XIL(0x16c00), XIL(0x38), XIL(0x7fffe0ab759d),
> XIL(0x7fffe0ab759d), XIL(0x7fffffffceb0), XIL(0), XIL(0), XIL(0),
> make_fixnum(23456248787193), make_fixnum(0), XIL(0x5555557ff930),
> XIL(0), XIL(0x5555557ff588), XIL(0), XIL(0x5eb92b3c6c43c900), XIL(0),
> XIL(0x60), XIL(0x7fffe582e41b), XIL(0), XIL(0x5555559d4f50),
> XIL(0x7fffe0c6bec5), XIL(0x7fffffffced0), XIL(0x555555817b23)}
>>         i = <optimized out>
>>         last_pt = 1
>>         prev_modiff = 1
>>         prev_buffer = 0x7fffe0c6bec0
>> #63 0x0000555555815d26 in internal_condition_case
> (bfun=bfun@entry=0x5555557760b0 <command_loop_1>,
> handlers=handlers@entry=XIL(0xa8), hfun=hfun@entry=0x55555575a510
> <cmd_error>) at ./src/eval.c:1618
>>         val = XIL(0x4c)
>>         c = 0x7fffe1e5de70
>> #64 0x0000555555758e1e in command_loop_2 (handlers=handlers@entry=XIL(0xa8)) at ./src/keyboard.c:1174
>> #65 0x0000555555815aaf in internal_catch
> (tag=tag@entry=XIL(0x15460), func=func@entry=0x555555758df0
> <command_loop_2>, arg=Python Exception <class 'gdb.error'>: value has
> been optimized out
>> , arg@entry=XIL(0xa8)) at ./src/eval.c:1297
>>         val = XIL(0x4c)
>>         c = 0x7fffe1e37138
>> #66 0x0000555555758db9 in command_loop () at ./src/lisp.h:1240
>> #67 0x0000555555765535 in recursive_edit_1 () at ./src/keyboard.c:760
>>         val = Python Exception <class 'gdb.error'>: value has been optimized out
>>
>> #68 0x00005555557658d5 in Frecursive_edit () at ./src/keyboard.c:843
>> #69 0x00005555555cffe5 in main (argc=5, argv=<optimized out>) at ./src/emacs.c:2646
>>         stack_bottom_variable = 0x7ffff3e92c60
>>         old_argc = <optimized out>
>>         no_loadup = <optimized out>
>>         junk = 0x0
>>         dname_arg = 0x7fffffffd7a8 "EMACS-MPS=yes"
>>         ch_to_dir = 0x0
>>         original_pwd = <optimized out>
>>         dump_mode = <optimized out>
>>         skip_args = 1
>>         temacs = 0x0
>>         attempt_load_pdump = <optimized out>
>>         only_version = <optimized out>
>>         rlim = {
>>           rlim_cur = 10022912,
>>           rlim_max = 18446744073709551615
>>         }
>>         lc_all = <optimized out>
>>         sockfd = <optimized out>
>>         module_assertions = <optimized out>
>>
>> Lisp Backtrace:
>>
>> eval.c:118: Emacs fatal error: assertion failed: pdl->kind == SPECPDL_BACKTRACE
>>
>> Breakpoint 1, terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ./src/emacs.c:432
>> 432     {
>> The program being debugged stopped while in a function called from GDB.
>> Evaluation of the expression containing the function
>> (backtrace_function) will be abandoned.
>> When the function is done executing, GDB will silently stop.
>>
>>
>>
>> HTH, Gregor
>
> I'm wondering what should have been the specpdl entry. This one?
>
> #26 0x00007fffde1bc131 in
> F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_38 () at
> /home/grfz/.config/emacs/eln-cache/31.0.50-b708ad23/org-element-1d23d6e0-0b03f1c0.eln
>
> The rest, I think, is die -> backtrace -> assert -> die -> backtrace -> assert ... until it
> stops. Weird.

I think that's the new stackframes gdb created after the crash, trying to
print xbacktrace repeatedly.  The real crash starts at #20.

Can you try "p $rsp"?

Pip