Subject: Re: 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: Gerd Möllmann <[email-masked]>
Date: Thu, 09 Jan 2025 17:14:19 +0100

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
> $5 = {
>   gc_header = {
>     v = 144120702814523145,
>     gcaligned = 9 '\t'
>   },
>   u = {
>     s = {
>       size = 74027876143398912,
>       size_byte = 8028901113149262606,
>       intervals = 0xd0e000d0d646573,
>       data = 0x6c64616564080200 <error: Cannot access memory at address 0x6c64616564080200>
>     },
>     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"
>         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_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.