Package: emacs;
Reported by: George P <georgepanagopo <at> gmail.com>
Date: Thu, 15 May 2025 18:46:01 UTC
Severity: normal
Found in version 30.1
To reply to this bug, email your comments to 78444 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Thu, 15 May 2025 18:46:02 GMT) Full text and rfc822 format available.George P <georgepanagopo <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Thu, 15 May 2025 18:46:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 30.1; Crash in GC (vector_marked_p) Date: Thu, 15 May 2025 14:45:09 -0400
[Message part 1 (text/plain, inline)]
Hi, I am experiencing crashes during GC, and I have no idea what causes these crashes or how to reproduce them consistently. I have posted another crash without debugging symbols in https://lists.gnu.org/archive/html/emacs-devel/2024-11/msg00724.html. This time, I was running emacs in gdb, the trace is below. Seems to be related to bug#38936. (gdb) bt full #0 vector_marked_p (v=v <at> entry=0x4000000023000008) at alloc.c:4273 No locals. #1 0x00000000005892bc in process_mark_stack (base_sp=base_sp <at> entry=2188) at alloc.c:7276 ptr = 0x4000000023000008 pvectype = <optimized out> obj = 0x400000002300000d po = <optimized out> #2 0x000000000058906a in mark_objects (objs=objs <at> entry=0x15554f39bcb0, n=n <at> entry=76) at alloc.c:7511 sp = 2188 #3 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x15554f39bca8) at alloc.c:6890 ptr = 0x15554f39bca8 size = 76 #4 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x15554f39bca8) at alloc.c:6953 No locals. #5 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=2187) at alloc.c:7298 ptr = 0x15554f39bca8 pvectype = PVEC_BUFFER obj = 0x15554f39bcad po = <optimized out> #6 0x000000000058906a in mark_objects (objs=objs <at> entry=0x1734d00, n=n <at> entry=25) at alloc.c:7511 sp = 2187 #7 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x1734cf8) at alloc.c:6890 ptr = 0x1734cf8 size = 25 #8 0x000000000058a304 in mark_window (ptr=ptr <at> entry=0x1734cf8) at alloc.c:7071 w = 0x1734cf8 #9 0x0000000000589322 in process_mark_stack (base_sp=base_sp <at> entry=2186) at alloc.c:7306 ptr = 0x1734cf8 pvectype = PVEC_WINDOW obj = 0x1734cfd po = <optimized out> #10 0x000000000058906a in mark_objects (objs=objs <at> entry=0x1c327080, n=n <at> entry=25) at alloc.c:7511 sp = 2186 #11 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x1c327078) at alloc.c:6890 ptr = 0x1c327078 size = 25 #12 0x000000000058a304 in mark_window (ptr=ptr <at> entry=0x1c327078) at alloc.c:7071 w = 0x1c327078 #13 0x0000000000589322 in process_mark_stack (base_sp=base_sp <at> entry=2185) at alloc.c:7306 ptr = 0x1c327078 pvectype = PVEC_WINDOW obj = 0x1c32707d po = <optimized out> #14 0x000000000058906a in mark_objects (objs=objs <at> entry=0x13cea08, n=n <at> entry=29) at alloc.c:7511 sp = 2185 #15 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x13cea00) at alloc.c:6890 ptr = 0x13cea00 size = 29 #16 0x0000000000589162 in mark_frame (ptr=ptr <at> entry=0x13cea00) at alloc.c:7036 f = 0x13cea00 tem = <optimized out> #17 0x0000000000589315 in process_mark_stack (base_sp=base_sp <at> entry=2184) at alloc.c:7302 ptr = 0x13cea00 pvectype = PVEC_FRAME obj = 0x13cea05 po = <optimized out> #18 0x000000000058906a in mark_objects (objs=objs <at> entry=0x23abe050, n=n <at> entry=25) at alloc.c:7511 sp = 2184 #19 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x23abe048) at alloc.c:6890 ptr = 0x23abe048 size = 25 #20 0x000000000058a304 in mark_window (ptr=ptr <at> entry=0x23abe048) at alloc.c:7071 w = 0x23abe048 #21 0x0000000000589322 in process_mark_stack (base_sp=base_sp <at> entry=2136) at alloc.c:7306 ptr = 0x23abe048 pvectype = PVEC_WINDOW obj = 0x23abe04d po = <optimized out> #22 0x000000000058906a in mark_objects (objs=objs <at> entry=0x84327c0, n=n <at> entry=76) at alloc.c:7511 sp = 2136 #23 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x84327b8) at alloc.c:6890 ptr = 0x84327b8 size = 76 #24 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x84327b8) at alloc.c:6953 No locals. #25 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=2019) at alloc.c:7298 ptr = 0x84327b8 pvectype = PVEC_BUFFER obj = 0x84327bd po = <optimized out> #26 0x0000000000589620 in mark_object (obj=<optimized out>) at alloc.c:7503 sp = 2019 #27 0x000000000058a413 in mark_overlay (ov=ov <at> entry=0x471d0288) at alloc.c:6932 No locals. #28 0x00000000005893b2 in process_mark_stack (base_sp=base_sp <at> entry=2017) at alloc.c:7354 ptr = 0x471d0288 pvectype = PVEC_OVERLAY obj = 0x471d028d po = <optimized out> #29 0x000000000058906a in mark_objects (objs=objs <at> entry=0x42f2ee08, n=n <at> entry=76) at alloc.c:7511 sp = 2017 #30 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x42f2ee00) at alloc.c:6890 ptr = 0x42f2ee00 size = 76 #31 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x42f2ee00) at alloc.c:6953 No locals. #32 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=1966) at alloc.c:7298 ptr = 0x42f2ee00 pvectype = PVEC_BUFFER obj = 0x42f2ee05 po = <optimized out> #33 0x000000000058906a in mark_objects (objs=objs <at> entry=0x2844128, n=n <at> entry=76) at alloc.c:7511 sp = 1966 #34 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x2844120) at alloc.c:6890 ptr = 0x2844120 size = 76 #35 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x2844120) at alloc.c:6953 No locals. #36 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=1894) at alloc.c:7298 ptr = 0x2844120 pvectype = PVEC_BUFFER obj = 0x2844125 po = <optimized out> #37 0x0000000000589620 in mark_object (obj=obj <at> entry=0x597cfe3) at alloc.c:7503 sp = 1894 #38 0x000000000058a391 in mark_char_table (ptr=ptr <at> entry=0x8124ae8, pvectype=pvectype <at> entry=PVEC_SUB_CHAR_TABLE) at alloc.c:6919 val = 0x597cfe3 size = 129 i = 4 idx = 1 #39 0x000000000058a3ee in mark_char_table (ptr=ptr <at> entry=0x8accab0, pvectype=<optimized out>) at alloc.c:6916 val = 0x8124aed size = 68 i = 3 idx = <optimized out> #40 0x0000000000589398 in process_mark_stack (base_sp=base_sp <at> entry=1814) at alloc.c:7340 ptr = 0x8accab0 pvectype = PVEC_CHAR_TABLE obj = 0x8accab5 po = <optimized out> #41 0x000000000058906a in mark_objects (objs=objs <at> entry=0x1eed6950, n=n <at> entry=76) at alloc.c:7511 sp = 1814 #42 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x1eed6948) at alloc.c:6890 ptr = 0x1eed6948 size = 76 #43 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x1eed6948) at alloc.c:6953 No locals. #44 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=1804) at alloc.c:7298 ptr = 0x1eed6948 pvectype = PVEC_BUFFER obj = 0x1eed694d po = <optimized out> #45 0x000000000058906a in mark_objects (objs=objs <at> entry=0x424fb788, n=n <at> entry=76) at alloc.c:7511 sp = 1804 #46 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x424fb780) at alloc.c:6890 ptr = 0x424fb780 size = 76 #47 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x424fb780) at alloc.c:6953 No locals. #48 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=1768) at alloc.c:7298 ptr = 0x424fb780 pvectype = PVEC_BUFFER obj = 0x424fb785 po = <optimized out> #49 0x000000000058906a in mark_objects (objs=objs <at> entry=0x155524004988, n=n <at> entry=76) at alloc.c:7511 sp = 1768 #50 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x155524004980) at alloc.c:6890 ptr = 0x155524004980 size = 76 #51 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x155524004980) at alloc.c:6953 No locals. #52 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=1316) at alloc.c:7298 ptr = 0x155524004980 pvectype = PVEC_BUFFER obj = 0x155524004985 po = <optimized out> #53 0x0000000000589620 in mark_object (obj=<optimized out>) at alloc.c:7503 sp = 1316 #54 0x000000000058a429 in mark_interval_tree_1 (i=0x59fa5400, dummy=<optimized out>) at alloc.c:1529 No locals. #55 0x00000000006099c6 in traverse_intervals_noorder (tree=tree <at> entry=0x59fa5400, function=function <at> entry=0x58a417 <mark_interval_tree_1>, arg=arg <at> entry=0x0) at intervals.c:243 No locals. #56 0x00000000005855d7 in mark_interval_tree (i=0x59fa5400) at alloc.c:1538 No locals. #57 0x00000000005892ab in process_mark_stack (base_sp=base_sp <at> entry=1314) at alloc.c:7263 ptr = 0x47849400 obj = 0x47849404 po = <optimized out> #58 0x000000000058906a in mark_objects (objs=objs <at> entry=0x85f4c48, n=n <at> entry=76) at alloc.c:7511 sp = 1314 #59 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x85f4c40) at alloc.c:6890 ptr = 0x85f4c40 size = 76 #60 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x85f4c40) at alloc.c:6953 No locals. #61 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=1310) at alloc.c:7298 ptr = 0x85f4c40 pvectype = PVEC_BUFFER obj = 0x85f4c45 po = <optimized out> #62 0x000000000058906a in mark_objects (objs=objs <at> entry=0x3423018, n=n <at> entry=76) at alloc.c:7511 sp = 1310 #63 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x3423010) at alloc.c:6890 ptr = 0x3423010 size = 76 #64 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x3423010) at alloc.c:6953 No locals. #65 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=668) at alloc.c:7298 ptr = 0x3423010 pvectype = PVEC_BUFFER obj = 0x3423015 po = <optimized out> #66 0x0000000000589620 in mark_object (obj=<optimized out>) at alloc.c:7503 sp = 668 #67 0x000000000058a429 in mark_interval_tree_1 (i=0x3f52298, dummy=<optimized out>) at alloc.c:1529 No locals. #68 0x00000000006099c6 in traverse_intervals_noorder (tree=0x3f52298, tree <at> entry=0x3f52260, function=function <at> entry=0x58a417 <mark_interval_tree_1>, arg=arg <at> entry=0x0) at intervals.c:243 No locals. #69 0x00000000005855d7 in mark_interval_tree (i=0x3f52260) at alloc.c:1538 No locals. #70 0x00000000005892ab in process_mark_stack (base_sp=base_sp <at> entry=253) at alloc.c:7263 ptr = 0x43ec9d0 obj = 0x43ec9d4 po = <optimized out> #71 0x0000000000589620 in mark_object (obj=<optimized out>) at alloc.c:7503 sp = 253 #72 0x000000000058a429 in mark_interval_tree_1 (i=0x3ccecb40, dummy=<optimized out>) at alloc.c:1529 No locals. #73 0x00000000006099c6 in traverse_intervals_noorder (tree=tree <at> entry=0x3ccecb40, function=function <at> entry=0x58a417 <mark_interval_tree_1>, arg=arg <at> entry=0x0) at intervals.c:243 No locals. #74 0x00000000005855d7 in mark_interval_tree (i=0x3ccecb40) at alloc.c:1538 No locals. #75 0x00000000005892ab in process_mark_stack (base_sp=base_sp <at> entry=247) at alloc.c:7263 ptr = 0x38263280 obj = 0x38263284 po = <optimized out> #76 0x000000000058906a in mark_objects (objs=objs <at> entry=0x2c4eb428, n=n <at> entry=76) at alloc.c:7511 sp = 247 #77 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x2c4eb420) at alloc.c:6890 ptr = 0x2c4eb420 size = 76 #78 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x2c4eb420) at alloc.c:6953 No locals. #79 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=243) at alloc.c:7298 ptr = 0x2c4eb420 pvectype = PVEC_BUFFER obj = 0x2c4eb425 po = <optimized out> #80 0x000000000058906a in mark_objects (objs=objs <at> entry=0x5ef36fb8, n=n <at> entry=76) at alloc.c:7511 sp = 243 #81 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x5ef36fb0) at alloc.c:6890 ptr = 0x5ef36fb0 size = 76 #82 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x5ef36fb0) at alloc.c:6953 No locals. #83 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=239) at alloc.c:7298 ptr = 0x5ef36fb0 pvectype = PVEC_BUFFER obj = 0x5ef36fb5 po = <optimized out> #84 0x000000000058906a in mark_objects (objs=objs <at> entry=0xf405e8, n=n <at> entry=76) at alloc.c:7511 sp = 239 #85 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0xf405e0) at alloc.c:6890 ptr = 0xf405e0 size = 76 #86 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0xf405e0) at alloc.c:6953 No locals. #87 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=235) at alloc.c:7298 ptr = 0xf405e0 pvectype = PVEC_BUFFER obj = 0xf405e5 po = <optimized out> #88 0x000000000058906a in mark_objects (objs=objs <at> entry=0x8708ec0, n=n <at> entry=76) at alloc.c:7511 sp = 235 #89 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x8708eb8) at alloc.c:6890 ptr = 0x8708eb8 size = 76 #90 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x8708eb8) at alloc.c:6953 No locals. #91 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=230) at alloc.c:7298 ptr = 0x8708eb8 pvectype = PVEC_BUFFER obj = 0x8708ebd po = <optimized out> #92 0x000000000058906a in mark_objects (objs=objs <at> entry=0x1d5e6260, n=n <at> entry=76) at alloc.c:7511 sp = 230 #93 0x00000000005890a2 in mark_vectorlike (header=header <at> entry=0x1d5e6258) at alloc.c:6890 ptr = 0x1d5e6258 size = 76 #94 0x000000000058a131 in mark_buffer (buffer=buffer <at> entry=0x1d5e6258) at alloc.c:6953 No locals. #95 0x0000000000589308 in process_mark_stack (base_sp=base_sp <at> entry=0) at alloc.c:7298 ptr = 0x1d5e6258 pvectype = PVEC_BUFFER obj = 0x1d5e625d po = <optimized out> #96 0x0000000000589620 in mark_object (obj=<optimized out>) at alloc.c:7503 sp = 0 #97 0x00000000005897e1 in mark_object_root_visitor (root_ptr=<optimized out>, type=<optimized out>, data=<optimized out>) at alloc.c:6396 No locals. #98 0x0000000000583992 in visit_vectorlike_root (visitor=..., ptr=0xcebba0 <buffer_defaults>, type=type <at> entry=GC_ROOT_BUFFER_LOCAL_DEFAULT) at alloc.c:6348 size = 76 i = 1 #99 0x00000000005839bd in visit_buffer_root (visitor=..., buffer=<optimized out>, type=type <at> entry=GC_ROOT_BUFFER_LOCAL_DEFAULT) at alloc.c:6362 No locals. #100 0x0000000000588fb9 in visit_static_gc_roots (visitor=...) at alloc.c:6374 No locals. #101 0x0000000000589a8a in garbage_collect () at alloc.c:6598 tail = <optimized out> buffer = <optimized out> stack_top_variable = 0 '\000' message_p = false count = <optimized out> start = <optimized out> tot_before = 18446744073709551615 visitor = <optimized out> #102 0x0000000000589e54 in Fgarbage_collect () at alloc.c:6762 count = <optimized out> gcst = {total_conses = 25252544, total_free_conses = 544, total_symbols = 1779108229, total_free_symbols = 0, total_strings = 0, total_free_strings = 5934425, total_string_bytes = 11, total_vectors = 45840, total_vector_slots = 1477306595, total_free_vector_slots = 492724829, total_floats = 0, total_free_floats = 0, total_intervals = 0, total_free_intervals = 106650, total_buffers = 14970, total_hash_table_bytes = 5799327} total = {0x68260e9e, 0x59d82, 0x3a7a, 0x6059cc <make_lisp_time+127>, 0x68260e9e, 0x0, 0xc7de00 <Scurrent_time>, 0x0, 0x0} #103 0x00000000005aa3d3 in funcall_subr (subr=subr <at> entry=0xc6fee0 <Sgarbage_collect>, numargs=numargs <at> entry=0, args=args <at> entry=0x7fffffffd190) at eval.c:3159 argbuf = {0x5c659f13, 0x5ac1d9 <apply_lambda+76>, 0x2, 0x200, 0x389ef8d, 0x220, 0x2, 0x9a821eca03d5ad00} a = <optimized out> maxargs = 0 fun = <optimized out> #104 0x00000000005abdab in funcall_general (fun=0xc6fee5 <Sgarbage_collect+5>, numargs=numargs <at> entry=0, args=args <at> entry=0x7fffffffd190) at /build/source/src/lisp.h:2243 original_fun = 0x15554e36a1b0 <text_data_fdoc_blob+11280> #105 0x00000000005a903e in Ffuncall (nargs=1, args=0x7fffffffd188) at eval.c:3093 count = {bytes = 384} val = <optimized out> #106 0x000015553995b5ea in F67636d682d69646c652d676172626167652d636f6c6c656374_gcmh_idle_garbage_collect_0 () from /u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8/gcmh-f09b0fce-70d70e65.eln No symbol table info available. #107 0x00000000005aa3d3 in funcall_subr (subr=subr <at> entry=0x285c188, numargs=numargs <at> entry=0, args=args <at> entry=0x7fffffffd4b8) at eval.c:3159 argbuf = {0x580de943, 0x1d5e625d, 0x2, 0x5a770f <do_one_unbind+319>, 0x1815260, 0x1c0, 0x6a0b0985, 0x0} a = <optimized out> maxargs = 0 fun = <optimized out> #108 0x00000000005abdab in funcall_general (fun=0x285c18d, numargs=numargs <at> entry=0, args=args <at> entry=0x7fffffffd4b8) at /build/source/src/lisp.h:2243 original_fun = 0x1b0c9f0 #109 0x00000000005a903e in Ffuncall (nargs=nargs <at> entry=1, args=args <at> entry=0x7fffffffd4b0) at eval.c:3093 count = {bytes = 352} val = <optimized out> #110 0x00000000005a9314 in Fapply (nargs=2, args=0x7fffffffd4b0) at eval.c:2718 i = <optimized out> funcall_nargs = <optimized out> funcall_args = 0x0 spread_arg = 0x0 fun = 0x1b0c9f0 sa_avail = 16384 sa_count = <optimized out> numargs = <optimized out> retval = <optimized out> #111 0x00000000005aa4cd in funcall_subr (subr=subr <at> entry=0xc75b20 <Sapply>, numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffffd4b0) at eval.c:3184 maxargs = -2 fun = <optimized out> #112 0x00000000005abdab in funcall_general (fun=0xc75b25 <Sapply+5>, numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffffd4b0) at /build/source/src/lisp.h:2243 original_fun = 0x3e10 #113 0x00000000005a903e in Ffuncall (nargs=3, args=0x7fffffffd4a8) at eval.c:3093 count = {bytes = 320} val = <optimized out> #114 0x000015554e2e9ff8 in F74696d65722d6576656e742d68616e646c6572_timer_event_handler_0 () from /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/timer-3ee7cfd9-ae4e9eed.eln No symbol table info available. #115 0x00000000005aa3de in funcall_subr (subr=subr <at> entry=0x15554f4aaf10, numargs=numargs <at> entry=1, args=args <at> entry=0x7fffffffd688) at eval.c:3161 argbuf = {0x12099370, 0x59778c <store_symval_forwarding+196>, 0xffffffe2, 0x1, 0xceb360 <mpz>, 0xceb360 <mpz>, 0x1, 0x9a821eca03d5ad00} a = <optimized out> maxargs = 1 fun = <optimized out> #116 0x00000000005abdab in funcall_general (fun=0x15554f4aaf15, numargs=numargs <at> entry=1, args=args <at> entry=0x7fffffffd688) at /build/source/src/lisp.h:2243 original_fun = 0x11fd0 #117 0x00000000005a903e in Ffuncall (nargs=nargs <at> entry=2, args=args <at> entry=0x7fffffffd680) at eval.c:3093 count = {bytes = 224} val = <optimized out> #118 0x000000000052de9e in timer_check_2 (timers=<optimized out>, timers <at> entry=0x580de363, idle_timers=<optimized out>, idle_timers <at> entry=0x580de303) at keyboard.c:4800 count = <optimized out> old_deactivate_mark = 0x0 idle_timer_ripe = <optimized out> timer = 0x309f10b5 timer_time = {tv_sec = 1747324574, tv_nsec = 495326952} timer_difference = <optimized out> idle_timer_difference = <optimized out> ripe = <optimized out> idle_timer = <optimized out> idle_timer_time = {tv_sec = 60, tv_nsec = 0} difference = <optimized out> timer_ripe = true nexttime = <optimized out> now = <optimized out> idleness_now = <optimized out> chosen_timer = 0x309f10b5 #119 0x0000000000535b11 in timer_check () at keyboard.c:4866 nexttime = <optimized out> timers = 0x580de363 idle_timers = 0x580de303 tem = 0x0 #120 0x00000000005f82a4 in wait_reading_process_output (time_limit=time_limit <at> entry=0, nsecs=nsecs <at> entry=0, read_kbd=read_kbd <at> entry=-1, do_display=do_display <at> entry=true, wait_for_cell=wait_for_cell <at> entry=0x0, wait_proc=wait_proc <at> entry=0x0, just_wait_proc=0) at process.c:5434 old_timers_run = 422754 process_skipped = false wrapped = <optimized out> channel_start = <optimized out> child_fd = <optimized out> last_read_channel = 175 channel = <optimized out> nfds = <optimized out> Available = {fds_bits = {0 <repeats 16 times>}} Writeok = {fds_bits = {0 <repeats 16 times>}} check_write = <optimized out> check_delay = <optimized out> no_avail = <optimized out> xerrno = 11 proc = <optimized out> timeout = {tv_sec = 100000, tv_nsec = 0} end_time = <optimized out> timer_delay = <optimized out> got_output_end_time = <optimized out> MINIMUM = MINIMUM TIMEOUT = TIMEOUT FOREVER = FOREVER wait = FOREVER got_some_output = 4 prev_wait_proc_nbytes_read = 0 retry_for_async = false count = <optimized out> now = <optimized out> #121 0x00000000005366d9 in kbd_buffer_get_event (kbp=kbp <at> entry=0x7fffffffdb18, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb, end_time=end_time <at> entry=0x0) at keyboard.c:4094 do_display = true obj = <optimized out> str = <optimized out> had_pending_selection_requests = false had_pending_conversion_events = false #122 0x00000000005370d4 in read_event_from_main_queue (end_time=end_time <at> entry=0x0, local_getcjmp=local_getcjmp <at> entry=0x7fffffffde40, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb) at keyboard.c:2330 c = 0x0 save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} kb = 0x6037b30 count = <optimized out> #123 0x000000000053724a in read_decoded_event_from_main_queue (end_time=end_time <at> entry=0x0, local_getcjmp=local_getcjmp <at> entry=0x7fffffffde40, prev_event=prev_event <at> entry=0x0, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb) at keyboard.c:2393 nextevt = <optimized out> frame = <optimized out> terminal = <optimized out> events = {0x0, 0xffffffffffffffff, 0x0, 0x2be307e5, 0x0, 0x68260e9a, 0x3b5aa512, 0x0, 0x68260e9b, 0x4c79d6a, 0x0, 0xbebc200, 0x481ec5e3, 0x9a821eca03d5ad00, 0x481ec763, 0x9a821eca03d5ad00} n = 0 #124 0x0000000000538668 in read_char (commandflag=1, map=map <at> entry=0x1e9da373, prev_event=0x0, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb, end_time=end_time <at> entry=0x0) at keyboard.c:3015 c = 0x0 local_getcjmp = {{__jmpbuf = {1, 7706832815941375015, 0, 20769285, 0, 13113857, -7706832817081920473, 7706832398608520231}, __mask_was_saved = 0, __saved_mask = {__val = {2, 0, 492724829, 508090, 5928719, 25252128, 5857403, 0, 68463280, 98959984, 5864240, 111478304, 5510427, 0, 4787692120, 0}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = true orig_kboard = 0x6037b30 jmpcount = <optimized out> #125 0x0000000000539789 in read_key_sequence (keybuf=keybuf <at> entry=0x7fffffffe1f0, prompt=prompt <at> entry=0x0, dont_downcase_last=dont_downcase_last <at> entry=false, can_return_switch_frame=can_return_switch_frame <at> entry=true, fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=prevent_redisplay <at> entry=false, disable_text_conversion_p=false) at keyboard.c:10743 interrupted_kboard = 0x6037b30 interrupted_frame = 0x13cea00 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> count = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 0x1e9da373 first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = {parent = 0x1420f53, map = 0x1420f53, start = 0, end = 0} keytran = {parent = 0x15554f49541b, map = 0x15554f49541b, start = 0, end = 0} indec = {parent = 0x1420f63, map = 0x1420f63, start = 0, end = 0} shift_translated = false delayed_switch_frame = 0x0 original_uppercase = 0x1f02c original_uppercase_position = -1 disabled_conversion = false starting_buffer = 0x1d5e6258 fake_prefixed_keys = 0x0 first_event = 0x0 second_event = <optimized out> #126 0x000000000053ac06 in command_loop_1 () at keyboard.c:1429 cmd = <optimized out> keybuf = {0xff00, 0x8708ebd, 0xfa2, 0x5982d3 <set_default_internal+530>, 0x7fffffffe270, 0x2, 0x30, 0x8708ebd, 0x0, 0x5a770f <do_one_unbind+319>, 0x7fffffffe2c0, 0x60, 0x0, 0x0, 0x0, 0x5a8d59 <unbind_to+105>, 0xb, 0x111c0, 0x30, 0x8708ebd, 0x7bc0, 0x9a821eca03d5ad00, 0xcf32a0 <globals>, 0x96c4d73, 0x60, 0x52f4c6 <cmd_error+363>, 0x0, 0x9a821eca03d5ad00, 0x60, 0x15554ed90d83} i = <optimized out> last_pt = <optimized out> prev_modiff = 19073 prev_buffer = 0x1d5e6258 #127 0x00000000005a7e25 in internal_condition_case (bfun=bfun <at> entry=0x53a9ce <command_loop_1>, handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x52f35b <cmd_error>) at eval.c:1613 val = <optimized out> c = 0xe0fab0 #128 0x00000000005292ae in command_loop_2 (handlers=handlers <at> entry=0x90) at keyboard.c:1168 val = <optimized out> #129 0x00000000005a7d42 in internal_catch (tag=tag <at> entry=0x122d0, func=func <at> entry=0x529294 <command_loop_2>, arg=arg <at> entry=0x90) at eval.c:1292 val = <optimized out> c = 0xea0d90 #130 0x000000000052926b in command_loop () at keyboard.c:1146 No locals. #131 0x000000000052eec4 in recursive_edit_1 () at keyboard.c:754 count = <optimized out> val = <optimized out> #132 0x000000000052f25c in Frecursive_edit () at keyboard.c:837 count = <optimized out> buffer = <optimized out> #133 0x0000000000528660 in main (argc=<optimized out>, argv=0x7fffffffe5b8) at emacs.c:2635 stack_bottom_variable = 0x155553f0c318 <_gnutls_lib_state> old_argc = <optimized out> dump_file = 0x0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 dump_mode = <optimized out> skip_args = 1 temacs = 0x0 attempt_load_pdump = <optimized out> only_version = false rlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615} lc_all = <optimized out> sockfd = -1 module_assertions = <optimized out> In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.18.2, Xaw3d scroll bars) Windowing system distributor 'The Cygwin/X Project', version 11.0.12000000 System Description: Red Hat Enterprise Linux 8.10 (Ootpa) Configured using: 'configure --prefix=/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1 --disable-build-details --with-modules --with-x-toolkit=lucid --with-cairo --without-xft --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --with-xinput2 --without-xwidgets --with-dbus --with-selinux' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LC_CTYPE: C.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Python Minor modes in effect: winum-mode: t lsp-diagnostics-mode: t lsp-modeline-workspace-status-mode: t lsp-modeline-diagnostics-mode: t lsp-modeline-code-actions-mode: t dap-tooltip-mode: t dap-ui-many-windows-mode: t dap-ui-controls-mode: t dap-ui-mode: t lsp-ui-mode: t lsp-ui-doc-mode: t lsp-ui-sideline-mode: t dap-auto-configure-mode: t dap-mode: t treemacs-filewatch-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t lsp-completion-mode: t pdf-occur-global-minor-mode: t TeX-PDF-mode: t TeX-source-correlate-mode: t tree-sitter-hl-mode: t global-ts-fold-mode: t ts-fold-mode: t tree-sitter-mode: t pipenv-mode: t code-cells-mode: t whitespace-mode: t diff-hl-flydiff-mode: t which-key-mode: t better-jumper-mode: t better-jumper-local-mode: t corfu-history-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t vertico-multiform-mode: t vertico-mode: t nerd-icons-completion-mode: t marginalia-mode: t save-place-mode: t global-so-long-mode: t global-diff-hl-mode: t diff-hl-mode: t gcmh-mode: t winner-mode: t undo-fu-session-global-mode: t undo-fu-session-mode: t undo-fu-mode: t flycheck-popup-tip-mode: t global-flycheck-mode: t flycheck-mode: t ws-butler-global-mode: t ws-butler-mode: t editorconfig-mode: t delete-selection-mode: t centaur-tabs-mode: t persp-mode: t global-hl-line-mode: t hl-line-mode: t global-git-commit-mode: t server-mode: t yas-global-mode: t yas-minor-mode: t savehist-mode: t recentf-mode: t doom-modeline-mode: t eros-mode: t vi-tilde-fringe-mode: t highlight-numbers-mode: t display-line-numbers-mode: t hl-todo-mode: t flyspell-lazy-mode: t flyspell-mode: t dtrt-indent-mode: t pixel-scroll-precision-mode: t lsp-managed-mode: t lsp-mode: t smartparens-global-mode: t smartparens-mode: t projectile-mode: t +lsp-optimization-mode: t +popup-mode: t general-override-mode: t apheleia-global-mode: t apheleia-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t window-divider-mode: t minibuffer-regexp-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t global-visual-line-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /codemill/panagopo/doomemacs/.local/straight/build-30.1/straight/straight hides /codemill/panagopo/doomemacs/.local/straight/repos/straight.el/straight /codemill/panagopo/doomemacs/.local/straight/build-30.1/straight/straight-x hides /codemill/panagopo/doomemacs/.local/straight/repos/straight.el/straight-x /codemill/panagopo/doomemacs/.local/straight/build-30.1/straight/straight-ert-print-hack hides /codemill/panagopo/doomemacs/.local/straight/repos/straight.el/straight-ert-print-hack /codemill/panagopo/doomemacs/.local/straight/build-30.1/which-key/which-key hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/which-key /codemill/panagopo/doomemacs/.local/straight/build-30.1/transient/transient hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/transient /codemill/panagopo/doomemacs/.local/straight/build-30.1/jsonrpc/jsonrpc hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/jsonrpc /codemill/panagopo/doomemacs/.local/straight/repos/straight.el/indent hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/indent /codemill/panagopo/doomemacs/.local/straight/build-30.1/editorconfig/editorconfig hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/editorconfig /codemill/panagopo/doomemacs/.local/straight/build-30.1/editorconfig/editorconfig-tools hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/editorconfig-tools /codemill/panagopo/doomemacs/.local/straight/build-30.1/editorconfig/editorconfig-fnmatch hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/editorconfig-fnmatch /codemill/panagopo/doomemacs/.local/straight/build-30.1/editorconfig/editorconfig-core hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/editorconfig-core /codemill/panagopo/doomemacs/.local/straight/build-30.1/editorconfig/editorconfig-core-handle hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/editorconfig-core-handle /codemill/panagopo/doomemacs/.local/straight/build-30.1/editorconfig/editorconfig-conf-mode hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/editorconfig-conf-mode /codemill/panagopo/doomemacs/.local/straight/build-30.1/bind-key/bind-key hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/bind-key /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package-lint hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package-lint /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package-jump hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package-jump /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package-ensure hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package-ensure /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package-ensure-system-package hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package-ensure-system-package /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package-diminish hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package-diminish /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package-delight hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package-delight /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package-core hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package-core /codemill/panagopo/doomemacs/.local/straight/build-30.1/use-package/use-package-bind-key hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/use-package/use-package-bind-key /codemill/panagopo/doomemacs/.local/straight/build-30.1/xref/xref hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/progmodes/xref /codemill/panagopo/doomemacs/.local/straight/build-30.1/project/project hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/progmodes/project /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-texinfo hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-texinfo /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-publish hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-publish /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-org hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-org /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-odt hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-odt /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-md hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-md /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-man hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-man /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-latex hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-latex /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-koma-letter hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-koma-letter /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-icalendar hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-icalendar /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-html hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-html /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-beamer hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-beamer /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ox-ascii hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ox-ascii /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-version hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-version /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-timer hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-timer /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-tempo hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-tempo /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-table hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-table /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-src hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-src /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-refile hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-refile /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-protocol hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-protocol /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-plot hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-plot /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-persist hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-persist /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-pcomplete hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-pcomplete /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-num hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-num /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-mouse hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-mouse /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-mobile hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-mobile /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-macs hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-macs /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-macro hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-macro /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-loaddefs hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-loaddefs /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-list hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-list /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-lint hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-lint /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-keys hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-keys /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-inlinetask hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-inlinetask /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-indent hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-indent /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-id hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-id /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-habit hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-habit /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-goto hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-goto /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-footnote hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-footnote /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-fold hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-fold /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-fold-core hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-fold-core /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-feed hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-feed /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-faces hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-faces /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-entities hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-entities /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-element hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-element /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-element-ast hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-element-ast /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-duration hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-duration /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-datetree hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-datetree /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-cycle hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-cycle /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-ctags hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-ctags /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-crypt hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-crypt /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-compat hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-compat /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-colview hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-colview /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-clock hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-clock /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-capture hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-capture /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-attach hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-attach /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-attach-git hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-attach-git /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-archive hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-archive /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/org-agenda hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/org-agenda /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-w3m hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-w3m /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-rmail hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-rmail /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-mhe hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-mhe /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-man hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-man /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-irc hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-irc /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-info hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-info /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-gnus hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-gnus /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-eww hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-eww /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-eshell hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-eshell /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-doi hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-doi /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-docview hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-docview /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-bibtex hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-bibtex /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ol-bbdb hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ol-bbdb /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/oc hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/oc /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/oc-natbib hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/oc-natbib /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/oc-csl hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/oc-csl /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/oc-bibtex hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/oc-bibtex /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/oc-biblatex hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/oc-biblatex /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/oc-basic hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/oc-basic /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-tangle hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-tangle /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-table hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-table /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-sqlite hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-sqlite /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-sql hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-sql /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-shell hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-shell /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-sed hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-sed /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-screen hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-screen /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-scheme hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-scheme /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-sass hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-sass /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-ruby hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-ruby /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-ref hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-ref /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-python hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-python /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-processing hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-processing /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-plantuml hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-plantuml /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-perl hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-perl /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-org hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-org /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-octave hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-octave /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-ocaml hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-ocaml /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-maxima hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-maxima /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-matlab hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-matlab /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-makefile hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-makefile /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-lua hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-lua /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-lob hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-lob /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-lisp hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-lisp /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-lilypond hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-lilypond /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-latex hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-latex /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-julia hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-julia /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-js hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-js /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-java hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-java /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-haskell hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-haskell /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-groovy hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-groovy /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-gnuplot hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-gnuplot /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-fortran hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-fortran /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-forth hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-forth /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-exp hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-exp /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-eval hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-eval /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-eshell hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-eshell /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-emacs-lisp hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-emacs-lisp /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-dot hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-dot /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-ditaa hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-ditaa /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-css hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-css /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-core hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-core /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-comint hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-comint /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-clojure hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-clojure /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-calc hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-calc /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-awk hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-awk /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-R hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-R /codemill/panagopo/doomemacs/.local/straight/build-30.1/org/ob-C hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/org/ob-C /codemill/panagopo/doomemacs/.local/straight/build-30.1/seq/seq hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/emacs-lisp/seq /codemill/panagopo/doomemacs/.local/straight/build-30.1/eldoc/eldoc hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/emacs-lisp/eldoc /codemill/panagopo/doomemacs/.local/straight/build-30.1/compat/compat hides /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/emacs-lisp/compat Features: (shadow sort mail-extr emacsbug jupyter-python jupyter-org-client jupyter-zmq-channel-ioloop jupyter-zmq-channel jupyter-channel jupyter-channel-ioloop jupyter-ioloop zmq-core zmq jupyter-kernel-process repeat consult-flycheck consult help-fns radix-tree winum lsp-diagnostics lsp-modeline lsp-icons dap-mouse dap-ui gdb-mi gud bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils lsp-lens lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util view lsp-zig lsp-yang lsp-yaml lsp-xml lsp-wgsl lsp-volar lsp-vimscript lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typespec lsp-typeprof lsp-ttcn3 lsp-ts-query lsp-trunk lsp-toml lsp-tilt lsp-tex lsp-svelte lsp-steep lsp-sqls lsp-sql lsp-sorbet lsp-solidity lsp-solargraph lsp-semgrep lsp-rust lsp-ruff lsp-ruby-syntax-tree lsp-ruby-lsp lsp-rubocop lsp-roslyn lsp-roc lsp-rf lsp-remark lsp-racket lsp-r lsp-qml lsp-pylsp lsp-pyls lsp-pwsh lsp-purescript lsp-postgres lsp-pls lsp-php lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml find-file lsp-nushell lsp-nix lsp-nim lsp-nginx lsp-nextflow lsp-move lsp-mojo lsp-mint lsp-meson lsp-mdx lsp-matlab lsp-marksman lsp-markdown lsp-magik lsp-fennel lsp-lua lsp-lisp lsp-kubernetes-helm lsp-kotlin lsp-json lsp-jq lsp-javascript dap-java dap-mode dap-tasks dap-launch posframe dap-overlays lsp-java request lsp-idris lsp-haxe lsp-hack lsp-groovy lsp-graphql lsp-golangci-lint lsp-glsl lsp-gleam lsp-gdscript lsp-fsharp lsp-futhark lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elm lsp-elixir lsp-earthly lsp-dockerfile lsp-docker lsp-dhall lsp-d lsp-cypher lsp-cucumber lsp-copilot lsp-css lsp-c3 lsp-csharp lsp-crystal lsp-credo lsp-cobol lsp-cmake lsp-clojure treemacs-magit treemacs-nerd-icons lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs-persp treemacs-projectile treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator treemacs-faces treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros lsp-clangd lsp-bufls lsp-go lsp-completion lsp-beancount lsp-bash lsp-awk lsp-autotools lsp-astro lsp-asm lsp-ansible lsp-angular lsp-ada lsp-semantic-tokens lsp-actionscript ccls ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight ccls-common macrostep-c cmacexp macrostep toc-org org-eldoc org-appear org-modern org-indent pdf-sync pdf-annot facemenu pdf-outline pdf-links pdf-history pdf-occur tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch pdf-misc pdf-tools saveplace-pdf-view pdf-view pdf-cache pdf-info tq pdf-util pdf-macs image-mode exif vc-hg vc-svn nose cl smartparens-c cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs gptel-magit gptel gptel-openai emacsql-sqlite-builtin flycheck-cython cython-mode writegood-mode cdlatex adaptive-wrap reftex-dcr reftex-auc reftex reftex-loaddefs reftex-vars preview tex-mode font-latex latexenc smartparens-latex latex latex-flymake tex-ispell tex-style tex dbus texmathp auctex perl-mode fish-mode ahk-mode conf-mode yaml-mode jka-compr tree-sitter-langs tree-sitter-langs-build tree-sitter-hl ts-fold ts-fold-summary ts-fold-parsers ts-fold-util mule-util tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get dired-aux tsc-obsolete pipenv code-cells smartparens-python pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-module-loaddefs esh-util python hide-mode-line vterm magit-bookmark bookmark term ehelp vterm-module term/xterm xterm vc-git auto-minor-mode disp-table whitespace highlight-quoted rainbow-delimiters diff-hl-flydiff vertico-sort vertico-directory vertico-repeat which-key better-jumper corfu-history corfu-popupinfo corfu vertico-multiform vertico orderless nerd-icons-completion marginalia saveplace tramp-sh jupyter-tramp tramp-cache time-stamp tramp trampver tramp-integration files-x tramp-message tramp-compat tramp-loaddefs so-long diff-hl log-view vc-dir vc vc-dispatcher gcmh winner undo-fu-session undo-fu flycheck-popup-tip popup flymake flycheck-package package-lint finder finder-inf lisp-mnt flycheck ws-butler editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch delsel centaur-tabs centaur-tabs-interactive centaur-tabs-functions centaur-tabs-elements powerline powerline-separators powerline-themes doom-themes-ext-org doom-moonlight-theme doom-themes doom-themes-base nav-flash pulse cus-edit cus-start cus-load persp-mode org-capture org-agenda org-element org-persist xdg org-id org-element-ast avl-tree generator org-refile oc-csl citeproc citeproc-itemgetters parsebib citeproc-cite citeproc-biblatex citeproc-bibtex ol-bibtex citeproc-subbibs citeproc-sort citeproc-name citeproc-formatters citeproc-proc citeproc-disamb citeproc-itemdata citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date citeproc-number smartparens-rst rst citeproc-context citeproc-prange citeproc-style citeproc-locale citeproc-term citeproc-rt citeproc-lib citeproc-s queue bibtex smartparens-org org ob-emacs-lisp org-table org-loaddefs ob ob-tangle ol ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie treesit executable org-keys oc-biblatex oc ob-comint ob-core org-cycle org-fold ob-eval org-pcomplete org-list org-footnote org-fold-core org-entities org-faces org-version org-compat org-macs find-func cal-menu calendar cal-loaddefs code-review code-review-actions code-review-comment code-review-section code-review-bitbucket code-review-faces emojify apropos tar-mode arc-mode archive-mode code-review-gitlab code-review-utils forge-repos forge-tablist hl-line forge-topics forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github forge-forgejo forge-notify forge-revnote forge-pullreq forge-issue forge-discussion forge-topic yaml eieio-custom bug-reference forge-post forge-repo forge forge-core forge-db code-review-parse-hunk code-review-github code-review-db uuidgen calc-misc calc-ext calc calc-loaddefs rect calc-macs a code-review-interfaces deferred ghub-graphql treepy gsexp ghub gnutls closql emacsql-sqlite emacsql emacsql-compiler magit-autoloads magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff diff-mode track-changes magit-core magit-autorevert autorevert magit-margin magit-transient package url-handlers git-commit log-edit message sendmail yank-media dired dired-loaddefs rfc822 mml mml-sec epa gnus-util mm-decode mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-process magit-mode transient edmacro kmacro benchmark magit-git magit-base magit-section format-spec cursor-sensor crm llama with-editor shell pcomplete server yasnippet elisp-mode savehist recentf doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon eros vi-tilde-fringe highlight-numbers parent-mode display-line-numbers hl-todo compat flyspell-lazy flyspell ispell dtrt-indent pixel-scroll cua-base lsp-pyright lsp-mode lsp-protocol xref tree-widget wid-edit spinner network-stream smartparens-config smartparens-markdown smartparens-text smartparens advice loadhist markdown-mode edit-indirect color noutline outline lv inline imenu ht filenotify f s ewoc epg rfc6068 epg-config dash descyter jupyter jupyter-server jupyter-server-kernel jupyter-rest-api url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm jupyter-repl face-remap jupyter-widget-client websocket bindat simple-httpd pp jupyter-client jupyter-kernel jupyter-kernelspec jupyter-env jupyter-monads jupyter-messages parse-time iso8601 time-date hmac-def jupyter-mime shr pixel-fill kinsoku url-file puny svg xml dom browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source password-cache url-vars mailcap jupyter-base json map eieio-base eieio eieio-core projectile project byte-opt grep compile text-property-search comint ansi-osc ansi-color ring ibuffer-vc ibuf-ext ibuffer ibuffer-loaddefs thingatpt let-alist ibuf-macs derived doom-editor doom-projects doom-ui doom-keybinds use-package-core general info tex-site comp comp-cstr cl-extra help-mode warnings icons comp-run bytecomp byte-compile comp-common rx :system easy-mmode doom-start doom doom-lib cl-seq cl-macs cl-loaddefs cl-lib doom-compat gv harfbuzz jansson dynamic-modules pcase subr-x rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 2279550 658655) (symbols 48 111071 4) (strings 32 398461 46513) (string-bytes 1 19465306) (vectors 16 171027) (vector-slots 8 2650262 375408) (floats 8 5795 4985) (intervals 56 87342 4720) (buffers 992 365))
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 16 May 2025 06:48:02 GMT) Full text and rfc822 format available.Message #8 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: George P <georgepanagopo <at> gmail.com> Cc: 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 16 May 2025 09:47:13 +0300
> From: George P <georgepanagopo <at> gmail.com> > Date: Thu, 15 May 2025 14:45:09 -0400 > > I am experiencing crashes during GC, and I have no idea what causes these crashes or how to reproduce > them consistently. Can you describe what you were doing at the time of the crash? > I have posted another crash without debugging symbols in > https://lists.gnu.org/archive/html/emacs-devel/2024-11/msg00724.html. This time, I was running emacs in > gdb, the trace is below. Seems to be related to bug#38936. I'm not sure this is related to bug#38936: that one seemed to be fixed, and there's no process_mark_stack in the backtrace there. But maybe this is indeed the same problem. > (gdb) bt full > #0 vector_marked_p (v=v <at> entry=0x4000000023000008) at alloc.c:4273 Please show the details of 'v'. Like this: (gdb) frame 0 (gdb) p v (gdb) p/x v->header Also, you've elided the part where GDB says what fatal signal was delivered. I'm guessing it was SIGSEGV, but please show that part of what GDB displayed when it kicked in. Please keep the crashed session inside GDB in case we want you to look around and report more data. > #105 0x00000000005a903e in Ffuncall (nargs=1, args=0x7fffffffd188) at eval.c:3093 > count = {bytes = 384} > val = <optimized out> > #106 0x000015553995b5ea in > F67636d682d69646c652d676172626167652d636f6c6c656374_gcmh_idle_garbage_collect_0 () from > /u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8/gcmh-f09b0fce-70d70e65.eln > No symbol table info available. > #107 0x00000000005aa3d3 in funcall_subr (subr=subr <at> entry=0x285c188, numargs=numargs <at> entry=0, > args=args <at> entry=0x7fffffffd4b8) at eval.c:3159 > argbuf = {0x580de943, 0x1d5e625d, 0x2, 0x5a770f <do_one_unbind+319>, 0x1815260, 0x1c0, > 0x6a0b0985, 0x0} > a = <optimized out> > maxargs = 0 > fun = <optimized out> > #108 0x00000000005abdab in funcall_general (fun=0x285c18d, numargs=numargs <at> entry=0, > args=args <at> entry=0x7fffffffd4b8) at /build/source/src/lisp.h:2243 > original_fun = 0x1b0c9f0 > #109 0x00000000005a903e in Ffuncall (nargs=nargs <at> entry=1, args=args <at> entry=0x7fffffffd4b0) at > eval.c:3093 > count = {bytes = 352} > val = <optimized out> > #110 0x00000000005a9314 in Fapply (nargs=2, args=0x7fffffffd4b0) at eval.c:2718 > i = <optimized out> > funcall_nargs = <optimized out> > funcall_args = 0x0 > spread_arg = 0x0 > fun = 0x1b0c9f0 > sa_avail = 16384 > sa_count = <optimized out> > numargs = <optimized out> > retval = <optimized out> > #111 0x00000000005aa4cd in funcall_subr (subr=subr <at> entry=0xc75b20 <Sapply>, > numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffffd4b0) at eval.c:3184 > maxargs = -2 > fun = <optimized out> > #112 0x00000000005abdab in funcall_general (fun=0xc75b25 <Sapply+5>, numargs=numargs <at> entry=2, > args=args <at> entry=0x7fffffffd4b0) at /build/source/src/lisp.h:2243 > original_fun = 0x3e10 > #113 0x00000000005a903e in Ffuncall (nargs=3, args=0x7fffffffd4a8) at eval.c:3093 > count = {bytes = 320} > val = <optimized out> > #114 0x000015554e2e9ff8 in F74696d65722d6576656e742d68616e646c6572_timer_event_handler_0 () > from > /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/timer-3ee7cfd9-ae4e9eed.eln > > No symbol table info available. > #115 0x00000000005aa3de in funcall_subr (subr=subr <at> entry=0x15554f4aaf10, > numargs=numargs <at> entry=1, args=args <at> entry=0x7fffffffd688) at eval.c:3161 > argbuf = {0x12099370, 0x59778c <store_symval_forwarding+196>, 0xffffffe2, 0x1, 0xceb360 <mpz>, > 0xceb360 <mpz>, 0x1, 0x9a821eca03d5ad00} > a = <optimized out> > maxargs = 1 > fun = <optimized out> > #116 0x00000000005abdab in funcall_general (fun=0x15554f4aaf15, numargs=numargs <at> entry=1, > args=args <at> entry=0x7fffffffd688) at /build/source/src/lisp.h:2243 > original_fun = 0x11fd0 > #117 0x00000000005a903e in Ffuncall (nargs=nargs <at> entry=2, args=args <at> entry=0x7fffffffd680) at > eval.c:3093 > count = {bytes = 224} > val = <optimized out> > #118 0x000000000052de9e in timer_check_2 (timers=<optimized out>, timers <at> entry=0x580de363, > idle_timers=<optimized out>, idle_timers <at> entry=0x580de303) at keyboard.c:4800 This part seems to indicate you run something called gcmh-idle-garbage-collect, which triggers GC from a timer function? If so, please describe what you do with this and show the relevant code. In general, please describe anything related to GC and timers that you customized in your sessions, as that could be relevant to the nature and the reasons of this bug. Also, what is the memory footprint of the crashed Emacs process? > In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo > version 1.18.2, Xaw3d scroll bars) > Windowing system distributor 'The Cygwin/X Project', version 11.0.12000000 > System Description: Red Hat Enterprise Linux 8.10 (Ootpa) Does this mean you run Emacs on a Red Hat system via the Cygwin X implementation that runs on Windows? Anything else that is "unusual" in your sessions? Please don't save us any such details, as they might be relevant, or provide important clues as to where to look for the causes. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 16 May 2025 10:43:02 GMT) Full text and rfc822 format available.Message #11 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 16 May 2025 10:41:51 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > Hi, > > I am experiencing crashes during GC, and I have no idea what causes > these crashes or how to reproduce them consistently. If you can reproduce it at all, we probably need a live gdb session or (slightly worse) a core dump to debug this further, because not all information is in the backtrace. > I have posted another > crash without debugging symbols in https://lists.gnu.org/archive/html/emacs-devel/2024-11/msg00724.html. This time, I was running emacs in gdb, the > trace is below. Seems to be related to bug#38936. Are you capturing coredumps ("gcore" in gdb after the crash; it's best to do this even if you keep the gdb session alive) or keeping the gdb sessions alive? That would help provide further information which might allow us to track this down. In particular, last_marked and last_marked_index would be very interesting. > (gdb) bt full > #0 vector_marked_p (v=v <at> entry=0x4000000023000008) at alloc.c:4273 > No locals. > #1 0x00000000005892bc in process_mark_stack (base_sp=base_sp <at> entry=2188) at alloc.c:7276 > ptr = 0x4000000023000008 > pvectype = <optimized out> > obj = 0x400000002300000d That's a pseudovector header (for a font spec), but we've mistaken it for a Lisp object. The most likely reason is that a vector was freed and partly re-used for this pseudovector, but it was still reachable somehow, and we tried accessing it again after it was freed. We need to look at last_marked, to find out which of the 76 slots in a buffer object contained (directly or indirectly) this stale object, and then try to figure out how it got there. > Configured using: > 'configure > --prefix=/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1 > --disable-build-details --with-modules --with-x-toolkit=lucid > --with-cairo --without-xft --with-compress-install > --with-toolkit-scroll-bars --with-native-compilation > --without-imagemagick --with-mailutils --without-small-ja-dic > --with-tree-sitter --with-xinput2 --without-xwidgets --with-dbus > --with-selinux' I've looked a little at unusual code which would be enabled by this configuration, but apart from this strangeness in x_default_scroll_bar_color_parameter, I couldn't find anything: AUTO_STRING (foreground, "foreground"); AUTO_STRING (background, "foreground"); I suspect no one's using X resources to set the background color of scroll bars... Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 16 May 2025 17:47:02 GMT) Full text and rfc822 format available.Message #14 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com>, Eli Zaretskii <eliz <at> gnu.org> Cc: 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 16 May 2025 13:45:36 -0400
[Message part 1 (text/plain, inline)]
> > Can you describe what you were doing at the time of the crash? I was not doing anything in particular (editing a latex file with LaTeX/PS mode). These crashes have happened to me at very random times. The only thing that I have been suspecting could be causing this is viewing org-mode buffers that have special fontification. I have https://github.com/awth13/org-appear and https://github.com/minad/org-modern installed, and previously I had https://github.com/integral-dw/org-superstar-mode. I had just viewed an org file before the crash. Please show the details of 'v'. Like this: > > (gdb) frame 0 > (gdb) p v > (gdb) p/x v->header > > Also, you've elided the part where GDB says what fatal signal was > delivered. I'm guessing it was SIGSEGV, but please show that part of > what GDB displayed when it kicked in. > > Please keep the crashed session inside GDB in case we want you to look > around and report more data. > Unfortunately, I don't have the program running (because I foolishly thought I could continue from the crash). I do have the core however, here is what you both asked for: Program terminated with signal SIGSEGV, Segmentation fault. #0 vector_marked_p (v=v <at> entry=0x4000000023000008) at alloc.c:4273 warning: 4273 alloc.c: No such file or directory [Current thread is 1 (LWP 691035)] warning: File "/nix/store/ji2c308n46lfvpi9jpr3ma8rqq42wx3p-glib-2.82.4/lib/ libgobject-2.0.so.0.8200.4-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". warning: File "/nix/store/ji2c308n46lfvpi9jpr3ma8rqq42wx3p-glib-2.82.4/lib/ libglib-2.0.so.0.8200.4-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". warning: File "/nix/store/8ryr50ic059w32djkygs1g1kxdpj7dgx-isl-0.20/lib/ libisl.so.19.1.0-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". warning: File "/nix/store/fjyh571wr8ifsw1h6j2nx22fmjj91b6y-gcc-14-20241116-lib/lib/libstdc++. so.6.0.33-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". (gdb) frame 0 #0 vector_marked_p (v=v <at> entry=0x4000000023000008) at alloc.c:4273 4273 in alloc.c (gdb) p v $1 = (const struct Lisp_Vector *) 0x4000000023000008 (gdb) p/x v->header Cannot access memory at address 0x4000000023000008 (gdb) set print elements 0 (gdb) p last_marked $2 = {0x15554ea7b163, 0x1f3eb0, 0x15554ea7b153, 0x15554ea7b113, 0x10710, 0x15554ea7b103, 0xe344f4, 0x2237643, 0x10da0, 0x2237633, 0x15554de36280, 0xc64485 <Sselected_window+5>, 0x15554de5d268, 0x13ff3ad, 0x2, 0x1d373234, 0x46ddbcd, 0x15554de5d450, 0x15554df5c948, 0x60, 0x0, 0x15554ec524dd, 0x15554eb23723, 0x0, 0x15554eb24c65, 0x0, 0x0, 0xa, 0x10710, 0x15554df5c8b8, 0x60, 0x0, 0x0, 0x0, 0x3e10, 0x15554e014d50, 0x60, 0x0, 0x15554ed0a8e5, 0x15554eb2b183, 0x0, 0x15554eb73b0d, 0x0, 0x0, 0x16, 0x7842613, 0x1d54f9e4, 0x31d4a, 0x9839b1d, 0x1818f8b3, 0x9540, 0x1818f873, 0x1818f893, 0x3d80, 0x1818f883, 0x30, 0x1818f853, 0x30, 0x0, 0x1ce4e9ad, 0x1be0b704, 0x18505ee3, 0x18505f03, 0xdc20, 0xa, 0x18505eb3, 0x18505ec3, 0xdb90, 0x2, 0x18505e43, 0x18505e93, 0x96c0, 0x18505e83, 0x3a, 0x18505e73, 0xa, 0x18505e53, 0x6, 0x4d533dd, 0x20ccaced, 0x1818fc43, 0x9540, 0x1818fc33, 0x0, 0x1818fc13, 0xe460, 0x0, 0x1ce4e9ad, 0x0, 0x0, 0x30, 0x20ccad45, 0x179dfc73, 0x9540, 0x179dfc63, 0x0, 0x179dfc03, 0x179dfc53, 0x15554de617c0, 0x179dfc13, 0x1bb24600, 0x60, 0x18502db3, 0x95a0, 0x18502dc3, 0x18502f33, 0x0, 0x18502f43, 0x466b42d, 0x406, 0x1d49ebc4, 0x46cfcd5, 0x15554e0bd5c8 <F756e6971756966792d726174696f6e616c697a65_uniquify_rationalize_0+744>, 0x60, 0x1475f63, 0x95a0, 0x1475f53, 0x2242473, 0x248c664, 0x2242433, 0x1475f03, 0x4290, 0x1475ef3, 0x103f8b4, 0x1475ee3, 0x103f8d4, 0x1475ed3, 0x0, 0x1475ec3, 0x0, 0x1475f43, 0x0, 0x1475f33, 0x15554edb315b, 0x4290, 0x15554edb316b, 0x15554eb8d5fc, 0x15554edb317b, 0x15554edb318c, 0x15554eb2c6b3, 0x24b5b4d, 0x0, 0x0, 0x245d955, 0x0, 0x0, 0x15554e0bd578 <F756e6971756966792d726174696f6e616c697a65_uniquify_rationalize_0+664>, 0x60, 0x2242523, 0x15554de31ee0, 0x2242513, 0x24b5c25, 0x15554de31ee0, 0x15554e0bd578 <F756e6971756966792d726174696f6e616c697a65_uniquify_rationalize_0+664>, 0x2242b13, 0x2242ad3, 0x2242753, 0x15554dfd07e8, 0x127db30, 0x2242b23, 0x15554ece9985, 0x15554de35860, 0x15554dff3f28, 0x15554ece9985, 0x15554ece9abb, 0x10140, 0x15554ece9acb, 0x30, 0x0, 0x192, 0x15554ece9a15, 0x606, 0x15554ece9a6c, 0x15554ece9a45, 0x15554de35288, 0x15554ece9a5b, 0x15554dfd0818, 0x16, 0x15554eb2b3a4, 0x15554ece99b5, 0x606, 0x15554ece99f4, 0x15554ece99e5, 0x7b60, 0x12, 0x15554eb2b2d4, 0x2242ac3, 0x15554eb2b275, 0x22429d3, 0x2242993, 0x2, 0x222be93, 0x15554f00ebbd, 0x2242983, 0x15554eb2b275, 0x2220813, 0x251724d, 0x15554de323b8, 0x22207c3, 0x1ee26a3, 0x15554e3190c8 <top_level_run+728>, 0x1ee26b3, 0xa49d00 <pure+3488800>, 0x60, 0x226e9d3, 0x15554de5a568, 0x226e9c3, 0x1f73c54, 0x226ea63, 0x15554de5ec50, 0x226ea53, 0x226ea83, 0x1eea8c3, 0x15554e26ab80 <F7363726f6c6c2d6261722d746f6f6c6b69742d7363726f6c6c_scroll_bar_toolkit_scroll_0+1136>, 0x60, 0x42c7a73, 0x13e60, 0x42c7a63, 0x42c7a53, 0x15554def15c8, 0x42c7a43, 0xc197c0 <pure+5388000>, 0x42c7a33, 0x36df2c0, 0x60, 0x0, 0x43f78f5, 0x42caeb3, 0x0, 0x4384d5d, 0x0, 0x0, 0x42c7a93, 0x15554dea8fb0, 0x42c7a83, 0x43d4c94, 0x0, 0x1eea8d3, 0x15554de48168, 0x1eea8e3, 0x1f73cf4, 0x1eea8f3, 0x1f73d14, 0x226ea73, 0x1eea873, 0x1253d0, 0x1eea883, 0x15554de48168, 0x1eea893, 0x1f73cb4, 0x1eea8a3, 0x1f73cd4, 0x226ea43, 0x1eea7f3, 0x1253d0, 0x1eea813, 0x15554de48168, 0x1eea823, 0x1f73c74, 0x1eea833, 0x1f73c94, 0x226eba3, 0x15554de30d68, 0x226eb93, 0x226eb83, 0x226eb73, 0xb0eba0 <pure+4295360>, 0x15554dfc0740, 0x60, 0x1f652493, 0x15554de32c08, 0x1f6524a3, 0x124f290, 0x60, 0x0, 0x538cb05, 0x1f67b0c3, 0x9540, 0x1f67b093, 0x1f67b0b3, 0x30, 0x1f67b0a3, 0x30, 0x1f67b083, 0x30, 0x0, 0x1baba95d, 0x20bef7e4, 0x1f67e3e3, 0x1f67e3f3, 0xdc20, 0xa, 0x1f67e3c3, 0x1f67e3d3, 0xdb90, 0x2, 0x1f67e1d3, 0x1f67e3b3, 0x96c0, 0x1f67e3a3, 0x3a, 0x1f67e393, 0xa, 0x1f67e1e3, 0x6, 0x979f79d, 0x9492115, 0x1f67b4f3, 0x9540, 0x1f67b353, 0x1f67b393, 0x30, 0x1f67b383, 0x30, 0x1f67b373, 0x3d80, 0x1f67b363, 0x30, 0x1f67b343, 0x30, 0x0, 0x1baba95d, 0x0, 0x0, 0x30, 0x949216d, 0x1f67b323, 0x9540, 0x1f67b2e3, 0x1f67b313, 0x30, 0x1f67b303, 0x30, 0x1f67b2f3, 0x30, 0x1f67b2d3, 0x30, 0x0, 0x1baba95d, 0x0, 0x0, 0x30, 0x94921c5, 0x1f67b163, 0x9540, 0x1f67b153, 0x0, 0x1f67b0f3, 0xe460, 0x0, 0x1baba95d, 0x0, 0x0, 0x30, 0x949221d, 0x1f67b2b3, 0x9540, 0x1f67b2a3, 0x0, 0x1f67b263, 0x1f67b293, 0xafe0, 0x1f67b283, 0xa2, 0x1f67b273, 0xa2, 0x0, 0x1baba95d, 0x0, 0x0, 0x30, 0x9492275, 0x1f67b243, 0x9540, 0x1f67b233, 0x0, 0x1f67b203, 0x1f67b223, 0x15554de617c0, 0x1f67b213, 0x15554df1a3a0, 0x60, 0x1f641ba3, 0x95a0, 0x1f641bb3, 0x1f641bc3, 0x8ae5574, 0x1f641bd3, 0x15554ec0ff33, 0x4290, 0x15554ec0ff43, 0x15554ec0ff84, 0x15554ec0ff53, 0x15554ec0ff64, 0x15554eb2c6b3, 0x38294cd, 0x1f6463e3, 0x9540, 0x1f6463a3, 0x1f6463d3, 0x30, 0x1f6463c3, 0x3d50, 0x1f6463b3, 0x30, 0x1f646393, 0x30, 0x0, 0x98e7985, 0x8f680f4, 0x1f647ac3, 0x1f647ad3, 0xdc20, 0xa, 0x1f647aa3, 0x1f647ab3, 0xdb90, 0x2, 0x1f647a53, 0x1f647a93, 0x96c0, 0x1f647a83, 0x3a, 0x1f647a73, 0xa, 0x1f647a63, 0x6, 0x98e79dd, 0x98f1d0d, 0x0, 0x400000002300000d, 0x0, 0x27f62ad, 0x0, 0x0, 0x60, 0x2235443, 0x10da0, 0x2235433, 0x30, 0xc6d2a5 <Sactive_minibuffer_window+5>, 0x15554defbf98, 0x60, 0x15554ea7b0c3, 0x15554de5dc98, 0x15554ea7b0b3, 0xe33ed5, 0x606, 0xe34c84, 0xe33eb5, 0x15554de78758, 0x15554defbf98, 0xe33e85, 0x606, 0xe35054, 0xe33e6d, 0x10710, 0x60, 0x15554f053c7b, 0x7da0, 0x15554f053c8b, 0x11850, 0x60, 0x15554f4abdeb, 0x7da0, 0x15554f4abdfb, 0x11850, 0x15554f4abe0b, 0x7e00, 0x15554f4abe1b, 0x15554f4abeab, 0x11850, 0x15554f4abe2b, 0x7dd0, 0x15554f4abe3b, 0x15554f4abe8b, 0x11850, 0x15554f4abe9b, 0x2, 0x15554f4abe4b, 0xd530, 0x15554f4abe5b, 0x15554f4abe6b, 0x15554f4abe7b, 0x2, 0x11850, 0x0, 0x15554f053c9b, 0x7e00, 0x15554f053cab, 0x15554f053d3b, 0x10710, 0x15554f053cbb, 0x7dd0, 0x15554f053ccb, 0x15554f053d1b, 0x10710, 0x15554f053d2b, 0x2, 0x15554f053cdb, 0xd530, 0x15554f053ceb, 0x15554f053cfb, 0x15554f053d0b, 0x2, 0x10710, 0xc643c5 <Sselect_window+5>, 0x3de0, 0x1a, 0xe35074, 0x1e, 0xe35094} (gdb) p last_marked_index $3 = 431 This part seems to indicate you run something called > gcmh-idle-garbage-collect, which triggers GC from a timer function? > If so, please describe what you do with this and show the relevant > code. > > In general, please describe anything related to GC and timers that you > customized in your sessions, as that could be relevant to the nature > and the reasons of this bug. > > Yes, I am using gcmh ( https://github.com/emacsmirror/gcmh/blob/master/gcmh.el). I have these parameters for it: (setq gcmh-idle-delay 'auto ; default is 15s gcmh-auto-idle-delay-factor 10 gcmh-high-cons-threshold (* 64 1024 1024)) ; 64mb I don't think that there is anything else GC related that I am using. Also, what is the memory footprint of the crashed Emacs process? > Hard for me to say. I restored my session and this is the memory-report for that session. I would assume that the crashed session is 2-3 times larger: Estimated Emacs Memory Usage 133 MiB Overall Object Memory Usage 83 MiB Total Buffer Memory Usage 40 MiB Reserved (But Unused) Object Memory 34 MiB Memory Used By Global Variables 13 MiB Memory Used By Symbol Plists 2.6 KiB Total Image Cache Size Object Storage 49 MiB Conses 42 MiB Strings 25 MiB Vectors 11 MiB Intervals 5.2 MiB Symbols 359 KiB Buffer-Objects 54 KiB Floats Largest Buffers 7.1 MiB REPL-useq 5.6 MiB alloc.c 4.4 MiB fish_history 3.3 MiB *code-conversion-work* 2.1 MiB vat.pdf 2 MiB VTerm ~/scratch 1.9 MiB ta.py 1.9 MiB loom.pdf 1.6 MiB REPL-9_useq<2> 1.6 MiB REPL-9_useq 1.6 MiB specification.py 1.5 MiB loom-oos.pdf 1.4 MiB REPL-jpeq 1.2 MiB uf.py 1.2 MiB xterm.c 1.2 MiB *Messages* 1.1 MiB REPL-peeq 1.1 MiB fc-monitor.py 865 KiB vat.tex 843 KiB VTerm /v/l/s/coredump Largest Variables 3 MiB kill-ring 3 MiB kill-ring-yank-pointer 2.4 MiB undo-equiv-table 2.2 MiB package-lint-symbol-info 2.2 MiB load-history 2.2 MiB lsp--session 1.8 MiB lsp-modeline--diagnostics-wks->strings 813 KiB nerd-icons/mdicon-alist 709 KiB easy-menu-converted-items-table 707 KiB persp-buffer-props-hash 653 KiB *persp-hash* 652 KiB info-lookup-cache 625 KiB treemacs--themes 547 KiB treemacs--scope-storage 513 KiB face--new-frame-defaults 436 KiB centaur-tabs-display-hash 402 KiB file-notify-descriptors 389 KiB minor-mode-map-alist 388 KiB yank-menu 374 KiB centaur-tabs--buffers Does this mean you run Emacs on a Red Hat system via the Cygwin X > implementation that runs on Windows? Correct. Anything else that is "unusual" in your sessions? Please don't save > us any such details, as they might be relevant, or provide important > clues as to where to look for the causes. > I am using doomemacs (https://github.com/doomemacs/doomemacs) so my configuration is very large and mostly not written by me. I don't think there is anything particularly unusual with it though. In particular, last_marked and last_marked_index would be very > interesting. I have included that in the gdb trace above. Please, let me know if there is anything else I can dig out from the core. Thanks! George On Fri, May 16, 2025 at 6:41 AM Pip Cet <pipcet <at> protonmail.com> wrote: > "George P" <georgepanagopo <at> gmail.com> writes: > > Hi, > > > > I am experiencing crashes during GC, and I have no idea what causes > > these crashes or how to reproduce them consistently. > > If you can reproduce it at all, we probably need a live gdb session or > (slightly worse) a core dump to debug this further, because not all > information is in the backtrace. > > > I have posted another > > crash without debugging symbols in > https://lists.gnu.org/archive/html/emacs-devel/2024-11/msg00724.html. > This time, I was running emacs in gdb, the > > trace is below. Seems to be related to bug#38936. > > Are you capturing coredumps ("gcore" in gdb after the crash; it's best > to do this even if you keep the gdb session alive) or keeping the gdb > sessions alive? That would help provide further information which might > allow us to track this down. > > In particular, last_marked and last_marked_index would be very > interesting. > > > (gdb) bt full > > #0 vector_marked_p (v=v <at> entry=0x4000000023000008) at alloc.c:4273 > > > No locals. > > #1 0x00000000005892bc in process_mark_stack (base_sp=base_sp <at> entry=2188) > at alloc.c:7276 > > ptr = 0x4000000023000008 > > pvectype = <optimized out> > > obj = 0x400000002300000d > > That's a pseudovector header (for a font spec), but we've mistaken it > for a Lisp object. The most likely reason is that a vector was freed > and partly re-used for this pseudovector, but it was still reachable > somehow, and we tried accessing it again after it was freed. > > We need to look at last_marked, to find out which of the 76 slots in a > buffer object contained (directly or indirectly) this stale object, and > then try to figure out how it got there. > > > Configured using: > > 'configure > > --prefix=/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1 > > --disable-build-details --with-modules --with-x-toolkit=lucid > > --with-cairo --without-xft --with-compress-install > > --with-toolkit-scroll-bars --with-native-compilation > > --without-imagemagick --with-mailutils --without-small-ja-dic > > --with-tree-sitter --with-xinput2 --without-xwidgets --with-dbus > > --with-selinux' > > I've looked a little at unusual code which would be enabled by this > configuration, but apart from this strangeness in > x_default_scroll_bar_color_parameter, I couldn't find anything: > > AUTO_STRING (foreground, "foreground"); > AUTO_STRING (background, "foreground"); > > I suspect no one's using X resources to set the background color of > scroll bars... > > Pip > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 16 May 2025 18:37:04 GMT) Full text and rfc822 format available.Message #17 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 16 May 2025 18:36:21 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > Can you describe what you were doing at the time of the crash? > > I was not doing anything in particular (editing a latex file with LaTeX/PS mode). These crashes have happened to me at very random times. The only > thing that I have been suspecting could be causing this is viewing org-mode buffers that have special fontification. I have > https://github.com/awth13/org-appear and https://github.com/minad/org-modern installed, and previously I had > https://github.com/integral-dw/org-superstar-mode. I had just viewed an org file before the crash. I suspect it's an X problem, but that may be totally wrong. It may well be related to fonts rather than the xterm.c code. > Unfortunately, I don't have the program running (because I foolishly thought I could continue from the crash). I do have the core however, here is what > you both asked for: Thank you! Unfortunately, the buffer object itself is not contained within the 512 last_marked elements. Can you also produce the output of x/77gx 0x15554f39bca8 so we can see which of the buffer elements we got to? > 0x1f646393, 0x30, 0x0, 0x98e7985, 0x8f680f4, 0x1f647ac3, 0x1f647ad3, 0xdc20, 0xa, 0x1f647aa3, 0x1f647ab3, 0xdb90, 0x2, 0x1f647a53, > 0x1f647a93, 0x96c0, 0x1f647a83, 0x3a, 0x1f647a73, 0xa, 0x1f647a63, 0x6, 0x98e79dd, 0x98f1d0d, 0x0, 0x400000002300000d, 0x0, 0x27f62ad, 0x0, That's "gccjit", 14, 2, 1, interspersed with some cons cells, then two vectors or pseudovectors, Qnil, and the bogus object. So we probably dumped a compiled unit's data, then returned to the vectors or pseudovectors, which would be interesting. Can you provide the output of: p *XVECTOR(0x98e79dd) x/32gx $.contents p *XVECTOR(0x98f1d0d) x/32gx $.contents > Also, what is the memory footprint of the crashed Emacs process? > > Hard for me to say. I restored my session and this is the memory-report for that session. I would assume that the crashed session is 2-3 times larger: The size of the core file might provide a good ballpark number. "objdump -h /path/to/core" may reveal even more about how much memory was in use. > Does this mean you run Emacs on a Red Hat system via the Cygwin X > implementation that runs on Windows? > > Correct. Can you say more about that? Are you running using a remote X server, or some kind of tunnel setup, or is this some sort of WSL or VM setup? It's relevant because remote X sessions have very different timing characteristics, and different code for determining mouse positions is in use. Can you also include the output of p *terminal_list->display_info and as much of the output of p *terminal_list->display_info.x as you're comfortable with (x_id_name might be something you would want to redact), as well as p Vx_use_fast_mouse_position Background: I have a vague hunch that commit ced135ebdbfb0eea719ce165a454e7ff0b681e88 is part of the problem. This replaced the staticpro'd global variable last_mouse_scroll_bar by an element of dpyinfo (with the same name) which does not appear to be protected from GC. (The same is true of the last_mouse_frame, last_mouse_glyph_frame, last_mouse_motion_frame, x_pending_autoraise_frame elements of dpyinfo, and a few others... I don't understand why these aren't GC-protected, and there is no comment clearly explaining they shouldn't be, so we could try adding protection to them and seeing whether that fixes the crashes). Thank you, and sorry for requesting so much information! Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 16 May 2025 19:26:02 GMT) Full text and rfc822 format available.Message #20 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 16 May 2025 15:25:20 -0400
[Message part 1 (text/plain, inline)]
No worries, happy to provide as much info as I can. Unfortunately, gdb shows XVECTOR as not defined, and I am not sure what the right code to run for my platform should be. (gdb) p *XVECTOR(0x98e79dd) No symbol "XVECTOR" in current context. (gdb) x/77gx 0x15554f39bca8 0x15554f39bca8: 0x400000000d02f04c 0x000015554f39c08c 0x15554f39bcb8: 0x0000000000000000 0x0000000000000000 0x15554f39bcc8: 0x0000000000ee7cc4 0x0000000000000000 0x15554f39bcd8: 0x0000000000000002 0x0000000000000000 0x15554f39bce8: 0x0000000000000000 0x000015554f39c13d 0x15554f39bcf8: 0x00000000217994b3 0x000000000000d1d0 0x15554f39bd08: 0x0000000021799a93 0x000015554f00256c 0x15554f39bd18: 0x00000000056eaea3 0x0000000000000000 0x15554f39bd28: 0x0000000002268813 0x000015554efee21b 0x15554f39bd38: 0x000015554ef7e9fd 0x000015554efedf45 0x15554f39bd48: 0x000015554ee4ea15 0x0000000000000012 0x15554f39bd58: 0x0000000000000142 0x0000000000000002 0x15554f39bd68: 0x0000000000000000 0x000015554ee1d095 0x15554f39bd78: 0x000015554ee0c815 0x000015554ee2db55 0x15554f39bd88: 0x000015554ee1d2d5 0x0000000000000000 0x15554f39bd98: 0x0000000000000030 0x0000000000000030 0x15554f39bda8: 0x000000000000c0c0 0x000000000000c0c0 0x15554f39bdb8: 0x0000000000000000 0x0000000000000000 0x15554f39bdc8: 0x0000000000000000 0x0000000000000030 0x15554f39bdd8: 0x0000000000000000 0x0000000000000000 0x15554f39bde8: 0x0000000000000000 0x0000000000000000 0x15554f39bdf8: 0x0000000000000030 0x0000000000013710 0x15554f39be08: 0x0000000000000000 0x0000000000000030 0x15554f39be18: 0x0000000000000030 0x0000000000000000 0x15554f39be28: 0x0000000000000000 0x0000000000000000 0x15554f39be38: 0x0000000000000000 0x0000000000000000 0x15554f39be48: 0x0000000000000000 0x0000000000000030 0x15554f39be58: 0x0000000000000000 0x0000000000000856 0x15554f39be68: 0x0000000000000002 0x0000000000000002 0x15554f39be78: 0x0000000000000000 0x0000000000000000 0x15554f39be88: 0x0000000000000030 0x0000000000000000 0x15554f39be98: 0x0000000000000000 0x0000000000000030 0x15554f39bea8: 0x0000000000000030 0x0000000000000000 0x15554f39beb8: 0x0000000000000000 0x0000000021799c83 0x15554f39bec8: 0x000015554ed34bc3 0x00000000025ef753 0x15554f39bed8: 0x0000000000000000 0x0000000000000000 0x15554f39bee8: 0x0000000000000030 0x0000000000000000 0x15554f39bef8: 0x0000000000000000 0x0000000000000000 0x15554f39bf08: 0x0000000000000000 (gdb) p terminal_list->display_info $1 = {tty = 0x7f3ed10, x = 0x7f3ed10, w32 = 0x7f3ed10, ns = 0x7f3ed10, pgtk = 0x7f3ed10, haiku = 0x7f3ed10, android = 0x7f3ed10} (gdb) p *terminal_list->display_info.x $2 = {next = 0x0, terminal = 0x1405888, display = 0x37c7c70, connection = 13, name_list_element = 0x1420f43, reference_count = 3, untrusted = false, screen = 0x4ddf5f0, resx = 144, resy = 144, visual = 0x91f9660, visual_info = {visual = 0x91f9660, visualid = 33, screen = 0, depth = 24, class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}, pict_format = 0x5c86b68, cmap = 32, n_planes = 24, grabbed = 0, icon_bitmap_id = 1, root_window = 789, client_leader_window = 0, vertical_scroll_bar_cursor = 2097154, horizontal_scroll_bar_cursor = 2097155, invisible_cursor = 2097160, fixes_pointer_blanking = false, rdb = 0x97e9ab0, smallest_char_width = 1, smallest_font_height = 2, scratch_cursor_gc = 0x69687d0, mouse_highlight = {mouse_face_beg_row = -1, mouse_face_beg_col = -1, mouse_face_beg_x = 448, mouse_face_end_row = -1, mouse_face_end_col = -1, mouse_face_end_x = 0, mouse_face_window = 0x0, mouse_face_face_id = 72, mouse_face_overlay = 0x0, mouse_face_mouse_frame = 0x13cea00, mouse_face_mouse_x = 308, mouse_face_mouse_y = 1144, mouse_face_past_end = false, mouse_face_defer = false, mouse_face_hidden = false}, x_id = 1, x_id_name = REDACTED, n_fonts = 74, bitmaps = 0x632aac0, bitmaps_size = 10, bitmaps_last = 1, meta_mod_mask = 8, shift_lock_mask = 0, alt_mod_mask = 0, super_mod_mask = 64, hyper_mod_mask = 0, Xatom_wm_protocols = 233, Xatom_wm_take_focus = 236, Xatom_wm_save_yourself = 333, Xatom_wm_delete_window = 234, Xatom_wm_change_state = 238, Xatom_wm_state = 247, Xatom_wm_configure_denied = 334, Xatom_wm_window_moved = 335, Xatom_wm_client_leader = 336, Xatom_wm_transient_for = 68, Xatom_editres = 337, Xatom_CLIPBOARD = 323, Xatom_TIMESTAMP = 338, Xatom_TEXT = 339, Xatom_DELETE = 340, Xatom_COMPOUND_TEXT = 325, Xatom_UTF8_STRING = 239, Xatom_MULTIPLE = 341, Xatom_INCR = 327, Xatom_EMACS_TMP = 342, Xatom_TARGETS = 326, Xatom_NULL = 344, Xatom_ATOM = 4, Xatom_ATOM_PAIR = 345, Xatom_CLIPBOARD_MANAGER = 346, Xatom_EMACS_SERVER_TIME_PROP = 343, Xatom_PIXEL_SIZE = 97, Xatom_AVERAGE_WIDTH = 102, Xatom_MULE_BASELINE_OFFSET = 349, Xatom_MULE_RELATIVE_COMPOSE = 350, Xatom_MULE_DEFAULT_ASCENT = 351, Xatom_DONE = 352, Xatom_PAGE = 353, Xatom_Scrollbar = 354, Xatom_Horizontal_Scrollbar = 355, Xatom_XEMBED = 356, Xatom_XEMBED_INFO = 347, Xatom_NET_WM_CM_Sn = 322, Xatom_MOTIF_WM_HINTS = 243, Xatom_MOTIF_DRAG_WINDOW = 386, Xatom_MOTIF_DRAG_TARGETS = 387, Xatom_MOTIF_DRAG_AND_DROP_MESSAGE = 388, Xatom_MOTIF_DRAG_INITIATOR_INFO = 389, Xatom_MOTIF_DRAG_RECEIVER_INFO = 390, Xatom_EMACS_DRAG_ATOM = 348, Xatom_XmTRANSFER_SUCCESS = 391, Xatom_XmTRANSFER_FAILURE = 392, Xatom_DndProtocol = 393, Xatom_DND_PROTOCOL = 394, Xatom_text_plain_charset_utf_8 = 395, Xatom_LENGTH = 396, Xatom_FILE_NAME = 397, Xatom_CHARACTER_POSITION = 398, Xatom_LINE_NUMBER = 399, Xatom_COLUMN_NUMBER = 400, Xatom_OWNER_OS = 401, Xatom_HOST_NAME = 402, Xatom_USER = 403, Xatom_CLASS = 404, Xatom_NAME = 405, Xatom_SAVE_TARGETS = 406, x_focus_frame = 0x13cea00, x_focus_event_frame = 0x13cea00, highlight_frame = 0x13cea00, x_pending_autoraise_frame = 0x0, last_mouse_frame = 0x13cea00, last_mouse_glyph_frame = 0x0, last_mouse_motion_frame = 0x13cea00, last_mouse_scroll_bar = 0x0, last_user_time = 2180587218, last_mouse_motion_x = 308, last_mouse_motion_y = 1144, last_mouse_glyph = {x = 297, y = 1129, width = 12, height = 24}, last_mouse_movement_time = 2180362343, last_mouse_movement_time_send_event = false, gray = 2097156, xim = 0x0, xim_styles = 0x0, xim_callback_data = 0x1526290, preferred_xim_style = 0, xim_coding = 0x0, use_xim = true, color_names = 0x40db850, color_names_length = 0x6c54640, color_names_size = 256, color_cells = 0x0, ncolor_cells = 0, red_bits = 8, blue_bits = 8, green_bits = 8, alpha_bits = 0, red_offset = 16, blue_offset = 0, green_offset = 8, alpha_offset = 0, alpha_mask = 0, wm_type = X_WMTYPE_UNKNOWN, x_dnd_atoms = 0x78d1b90, x_dnd_atoms_size = 16, x_dnd_atoms_length = 7, motif_drag_atom = 0, motif_drag_atom_name = '\000' <repeats 32 times>, motif_drag_atom_time = 0, motif_drag_atom_owner = 0x0, motif_drag_window = 0, Xatom_net_supported = 248, Xatom_net_supporting_wm_check = 256, net_supported_atoms = 0x0, nr_net_supported_atoms = 0, net_supported_window = 0, Xatom_net_window_type = 245, Xatom_net_window_type_tooltip = 293, Xatom_net_active_window = 254, Xatom_net_wm_state = 241, Xatom_net_wm_state_fullscreen = 306, Xatom_net_wm_state_maximized_horz = 301, Xatom_net_wm_state_maximized_vert = 300, Xatom_net_wm_state_sticky = 299, Xatom_net_wm_state_above = 307, Xatom_net_wm_state_below = 308, Xatom_net_wm_state_hidden = 305, Xatom_net_wm_state_skip_taskbar = 303, Xatom_net_wm_state_shaded = 302, Xatom_net_frame_extents = 277, Xatom_net_current_desktop = 242, Xatom_net_workarea = 255, Xatom_net_wm_opaque_region = 364, Xatom_net_wm_ping = 278, Xatom_net_wm_sync_request = 279, Xatom_net_wm_sync_request_counter = 280, Xatom_net_wm_sync_fences = 358, Xatom_net_wm_frame_drawn = 360, Xatom_net_wm_frame_timings = 361, Xatom_net_wm_user_time = 275, Xatom_net_wm_user_time_window = 276, Xatom_net_client_list_stacking = 250, Xatom_net_wm_pid = 273, Xatom_net_wm_bypass_compositor = 359, Xatom_xsettings_sel = 407, Xatom_xsettings_prop = 363, Xatom_xsettings_mgr = 283, xsettings_window = 0, Xatom_net_wm_name = 235, Xatom_net_wm_icon_name = 266, Xatom_net_wm_window_opacity = 357, Xatom_SM_CLIENT_ID = 362, Xatom_XdndAware = 366, Xatom_XdndSelection = 367, Xatom_XdndTypeList = 368, Xatom_XdndActionCopy = 369, Xatom_XdndActionMove = 370, Xatom_XdndActionLink = 371, Xatom_XdndActionAsk = 372, Xatom_XdndActionPrivate = 373, Xatom_XdndActionList = 374, Xatom_XdndActionDescription = 375, Xatom_XdndProxy = 376, Xatom_XdndEnter = 377, Xatom_XdndPosition = 378, Xatom_XdndStatus = 379, Xatom_XdndLeave = 380, Xatom_XdndDrop = 381, Xatom_XdndFinished = 382, Xatom_XdndDirectSave0 = 383, Xatom_XdndActionDirectSave = 384, Xatom_text_plain = 385, Xatom_Meta = 135, Xatom_Super = 136, Xatom_Hyper = 137, Xatom_ShiftLock = 365, Xatom_Alt = 126, modmap = 0x0, ext_codes = 0x1526378, xcb_connection = 0x8321690, xcb_visual = 0x8f2d4d4, supports_xdbe = true, supports_xi2 = true, xi2_version = 3, xi2_opcode = 131, num_devices = 6, devices = 0x419d830, pending_keystroke_time = 0, pending_keystroke_source = 0, client_pointer_device = -1, supports_xkb = true, xkb_event_type = 84, xkb_desc = 0x6053aa0, xrender_supported_p = true, xrender_major = 0, xrender_minor = 11, xfixes_supported_p = true, xfixes_major = 5, xfixes_minor = 0, xfixes_event_base = 85, xsync_supported_p = true, xsync_major = 3, xsync_minor = 1, xshape_supported_p = true, xshape_major = 1, xshape_minor = 1, xshape_event_base = 64, xshape_error_base = 0, protected_windows = 0x5684f70, n_protected_windows = 0, protected_windows_max = 256, screen_width = 10811, screen_height = 3563, screen_mm_width = 0, screen_mm_height = 0, failable_requests = {{start = 127683431, end = 127683431, selection_serial = 0}, {start = 127683437, end = 127683437, selection_serial = 0}, {start = 126335699, end = 126335699, selection_serial = 0}, {start = 126335704, end = 126335704, selection_serial = 0}, {start = 45081149, end = 45081149, selection_serial = 0}, {start = 45081155, end = 45081155, selection_serial = 0}, {start = 0, end = 0, selection_serial = 0} <repeats 122 times>}, next_failable_request = 0x7f3f4a0, monitored_selections = 0x15262b0, selection_tracking_window = 2097162, n_monitored_selections = 1, pending_dnd_time = 0, server_time_monotonic_p = false, server_time_offset = 1703287940194, quit_keysym = 0, quit_keysym_time = 0} (gdb) p Vx_use_fast_mouse_position $3 = (Lisp_Object) 0x0 (gdb) The size of the core file might provide a good ballpark number. > "objdump -h /path/to/core" may reveal even more about how much memory > was in use. The output of obdjump is very large: > objdump -h core.emacs.25439.669e118996bc4380b12acba32b3b7be4.691035.1747332087000000 | wc -l 13285 > du -h core.emacs.25439.669e118996bc4380b12acba32b3b7be4.691035.1747332087000000 4.7G core.emacs.25439.669e118996bc4380b12acba32b3b7be4.691035.1747332087000000 Can you say more about that? Are you running using a remote X server, > or some kind of tunnel setup, or is this some sort of WSL or VM setup? > It's relevant because remote X sessions have very different timing > characteristics, and different code for determining mouse positions is > in use. > This is not WSL or VM. I use PUTTY on Windows 10 to connect to a remote Linux host (which is running the emacs daemon), and then I open the emacs frame (emacsclient) with X forwarding using Cygwin/X. Thanks! George On Fri, May 16, 2025 at 2:36 PM Pip Cet <pipcet <at> protonmail.com> wrote: > "George P" <georgepanagopo <at> gmail.com> writes: > > > Can you describe what you were doing at the time of the crash? > > > > I was not doing anything in particular (editing a latex file with > LaTeX/PS mode). These crashes have happened to me at very random times. The > only > > thing that I have been suspecting could be causing this is viewing > org-mode buffers that have special fontification. I have > > https://github.com/awth13/org-appear and > https://github.com/minad/org-modern installed, and previously I had > > https://github.com/integral-dw/org-superstar-mode. I had just viewed an > org file before the crash. > > I suspect it's an X problem, but that may be totally wrong. It may well > be related to fonts rather than the xterm.c code. > > > Unfortunately, I don't have the program running (because I foolishly > thought I could continue from the crash). I do have the core however, here > is what > > you both asked for: > > Thank you! Unfortunately, the buffer object itself is not contained > within the 512 last_marked elements. Can you also produce the output of > > x/77gx 0x15554f39bca8 > > so we can see which of the buffer elements we got to? > > > 0x1f646393, 0x30, 0x0, 0x98e7985, 0x8f680f4, 0x1f647ac3, 0x1f647ad3, > 0xdc20, 0xa, 0x1f647aa3, 0x1f647ab3, 0xdb90, 0x2, 0x1f647a53, > > 0x1f647a93, 0x96c0, 0x1f647a83, 0x3a, 0x1f647a73, 0xa, 0x1f647a63, 0x6, > 0x98e79dd, 0x98f1d0d, 0x0, 0x400000002300000d, 0x0, 0x27f62ad, 0x0, > > That's "gccjit", 14, 2, 1, interspersed with some cons cells, then two > vectors or pseudovectors, Qnil, and the bogus object. So we probably > dumped a compiled unit's data, then returned to the vectors or > pseudovectors, which would be interesting. > > Can you provide the output of: > > p *XVECTOR(0x98e79dd) > x/32gx $.contents > p *XVECTOR(0x98f1d0d) > x/32gx $.contents > > > Also, what is the memory footprint of the crashed Emacs process? > > > > Hard for me to say. I restored my session and this is the memory-report > for that session. I would assume that the crashed session is 2-3 times > larger: > > The size of the core file might provide a good ballpark number. > "objdump -h /path/to/core" may reveal even more about how much memory > was in use. > > > Does this mean you run Emacs on a Red Hat system via the Cygwin X > > implementation that runs on Windows? > > > > Correct. > > Can you say more about that? Are you running using a remote X server, > or some kind of tunnel setup, or is this some sort of WSL or VM setup? > It's relevant because remote X sessions have very different timing > characteristics, and different code for determining mouse positions is > in use. > > Can you also include the output of > > p *terminal_list->display_info > > and as much of the output of > > p *terminal_list->display_info.x > > as you're comfortable with (x_id_name might be something you would want > to redact), as well as > > p Vx_use_fast_mouse_position > > Background: I have a vague hunch that commit > ced135ebdbfb0eea719ce165a454e7ff0b681e88 is part of the problem. This > replaced the staticpro'd global variable last_mouse_scroll_bar by an > element of dpyinfo (with the same name) which does not appear to be > protected from GC. (The same is true of the last_mouse_frame, > last_mouse_glyph_frame, last_mouse_motion_frame, > x_pending_autoraise_frame elements of dpyinfo, and a few others... I > don't understand why these aren't GC-protected, and there is no comment > clearly explaining they shouldn't be, so we could try adding protection > to them and seeing whether that fixes the crashes). > > Thank you, and sorry for requesting so much information! > > Pip > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sat, 17 May 2025 08:54:01 GMT) Full text and rfc822 format available.Message #23 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sat, 17 May 2025 08:52:51 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > No worries, happy to provide as much info as I can. Unfortunately, gdb shows XVECTOR as not defined, and I am not sure what the right code to run > for my platform should be. > > (gdb) p *XVECTOR(0x98e79dd) > No symbol "XVECTOR" in current context. Can you try this (subtracting 5 from the tagged pointer to get the base pointer, then printing its memory region): x/32gx 0x98e79d8 x/32gx 0x98f1d08 > (gdb) x/77gx 0x15554f39bca8 Unfortunately, I don't see any overlap between that and the last_marked entries. Might have worked with an even larger LAST_MARKED_SIZE. > (gdb) p terminal_list->display_info > $1 = {tty = 0x7f3ed10, x = 0x7f3ed10, w32 = 0x7f3ed10, ns = 0x7f3ed10, pgtk = 0x7f3ed10, haiku = 0x7f3ed10, android = 0x7f3ed10} > (gdb) p *terminal_list->display_info.x > Xatom_LINE_NUMBER = 399, Xatom_COLUMN_NUMBER = 400, Xatom_OWNER_OS = 401, Xatom_HOST_NAME = 402, Xatom_USER = 403, > Xatom_CLASS = 404, Xatom_NAME = 405, Xatom_SAVE_TARGETS = 406, x_focus_frame = 0x13cea00, x_focus_event_frame = 0x13cea00, > highlight_frame = 0x13cea00, x_pending_autoraise_frame = 0x0, last_mouse_frame = 0x13cea00, last_mouse_glyph_frame = 0x0, > last_mouse_motion_frame = 0x13cea00, > last_mouse_scroll_bar = 0x0, last_user_time = 2180587218, last_mouse_motion_x = 308, last_mouse_motion_y = 1144, last_mouse_glyph = {x = No dangling pointers here, as far as I can see. > Can you say more about that? Are you running using a remote X server, > or some kind of tunnel setup, or is this some sort of WSL or VM setup? > It's relevant because remote X sessions have very different timing > characteristics, and different code for determining mouse positions is > in use. > > This is not WSL or VM. I use PUTTY on Windows 10 to connect to a remote Linux host (which is running the emacs daemon), and then I open the > emacs frame (emacsclient) with X forwarding using Cygwin/X. Thank you, that makes sense! Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sat, 17 May 2025 17:21:01 GMT) Full text and rfc822 format available.Message #26 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sat, 17 May 2025 13:20:33 -0400
[Message part 1 (text/plain, inline)]
> > Can you try this (subtracting 5 from the tagged pointer to get the base > pointer, then printing its memory region): > > x/32gx 0x98e79d8 > x/32gx 0x98f1d08 > (gdb) x/32gx 0x98e79d8 0x98e79d8: 0xc00000000e008000 0x0000000020e10970 0x98e79e8: 0x0000000003aa20d0 0x0000000003aa1ac0 0x98e79f8: 0x00000000006e9960 0x000000002265f480 0x98e7a08: 0x0000001a0000001a 0x0000400700000060 0x98e7a18: 0x0000000000000000 0x400000000e008000 0x98e7a28: 0x000000001bfdbe90 0x0000000020e10b80 0x98e7a38: 0x000000001bfdb880 0x00000000006e98e0 0x98e7a48: 0x000000001fd792e0 0x0000001a0000001a 0x98e7a58: 0x0000400700000060 0x0000000000000000 0x98e7a68: 0x400000001f000005 0x0000000000000606 0x98e7a78: 0x0000000008ae5654 0x000000001b78fe2d 0x98e7a88: 0x0000000000000012 0x0000000008ae5674 0x98e7a98: 0x400000001f000005 0x0000000000000606 0x98e7aa8: 0x0000000008ae5694 0x000000001c32b8dd 0x98e7ab8: 0x000000000000000e 0x0000000008ae5674 0x98e7ac8: 0x000000000000000e 0x000015554de5d450 (gdb) x/32gx 0x98f1d08 0x98f1d08: 0x8000000000000002 0x0000000000000000 0x98f1d18: 0x400000002300000d 0x0000000000000000 0x98f1d28: 0x0000000003eaec10 0x00000000019e1500 0x98f1d38: 0x0000000000000000 0x000000000000b640 0x98f1d48: 0x0000000000000000 0x0000000000019082 0x98f1d58: 0x0000000000019102 0x000000000000004e 0x98f1d68: 0x0000000000000000 0x0000000000000192 0x98f1d78: 0x0000000000000002 0x0000000000000000 0x98f1d88: 0x400000002300000d 0x0000000000000000 0x98f1d98: 0x0000000003eaec10 0x00000000019e1500 0x98f1da8: 0x0000000000000000 0x000000000000b640 0x98f1db8: 0x0000000000000000 0x0000000000019082 0x98f1dc8: 0x0000000000019102 0x000000000000004e 0x98f1dd8: 0x0000000000000000 0x0000000000000192 0x98f1de8: 0x0000000000000002 0x0000000000000000 0x98f1df8: 0x400000002300000d 0x0000000000000000 (gdb) Let me know if you need anything further! Thanks! George On Sat, May 17, 2025 at 4:52 AM Pip Cet <pipcet <at> protonmail.com> wrote: > "George P" <georgepanagopo <at> gmail.com> writes: > > > No worries, happy to provide as much info as I can. Unfortunately, gdb > shows XVECTOR as not defined, and I am not sure what the right code to run > > for my platform should be. > > > > (gdb) p *XVECTOR(0x98e79dd) > > No symbol "XVECTOR" in current context. > > Can you try this (subtracting 5 from the tagged pointer to get the base > pointer, then printing its memory region): > > x/32gx 0x98e79d8 > x/32gx 0x98f1d08 > > > (gdb) x/77gx 0x15554f39bca8 > > Unfortunately, I don't see any overlap between that and the last_marked > entries. Might have worked with an even larger LAST_MARKED_SIZE. > > > (gdb) p terminal_list->display_info > > $1 = {tty = 0x7f3ed10, x = 0x7f3ed10, w32 = 0x7f3ed10, ns = 0x7f3ed10, > pgtk = 0x7f3ed10, haiku = 0x7f3ed10, android = 0x7f3ed10} > > (gdb) p *terminal_list->display_info.x > > Xatom_LINE_NUMBER = 399, Xatom_COLUMN_NUMBER = 400, Xatom_OWNER_OS = > 401, Xatom_HOST_NAME = 402, Xatom_USER = 403, > > Xatom_CLASS = 404, Xatom_NAME = 405, Xatom_SAVE_TARGETS = 406, > x_focus_frame = 0x13cea00, x_focus_event_frame = 0x13cea00, > > highlight_frame = 0x13cea00, x_pending_autoraise_frame = 0x0, > last_mouse_frame = 0x13cea00, last_mouse_glyph_frame = 0x0, > > last_mouse_motion_frame = 0x13cea00, > > last_mouse_scroll_bar = 0x0, last_user_time = 2180587218, > last_mouse_motion_x = 308, last_mouse_motion_y = 1144, last_mouse_glyph = > {x = > > No dangling pointers here, as far as I can see. > > > Can you say more about that? Are you running using a remote X server, > > or some kind of tunnel setup, or is this some sort of WSL or VM setup? > > It's relevant because remote X sessions have very different timing > > characteristics, and different code for determining mouse positions is > > in use. > > > > This is not WSL or VM. I use PUTTY on Windows 10 to connect to a remote > Linux host (which is running the emacs daemon), and then I open the > > emacs frame (emacsclient) with X forwarding using Cygwin/X. > > Thank you, that makes sense! > > Pip > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sat, 17 May 2025 21:18:02 GMT) Full text and rfc822 format available.Message #29 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sat, 17 May 2025 21:17:20 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > Can you try this (subtracting 5 from the tagged pointer to get the base > pointer, then printing its memory region): > > x/32gx 0x98e79d8 > x/32gx 0x98f1d08 > > (gdb) x/32gx 0x98e79d8 > 0x98e79d8: 0xc00000000e008000 0x0000000020e10970 > 0x98e79e8: 0x0000000003aa20d0 0x0000000003aa1ac0 > 0x98e79f8: 0x00000000006e9960 0x000000002265f480 > 0x98e7a08: 0x0000001a0000001a 0x0000400700000060 > 0x98e7a18: 0x0000000000000000 0x400000000e008000 > 0x98e7a28: 0x000000001bfdbe90 0x0000000020e10b80 > 0x98e7a38: 0x000000001bfdb880 0x00000000006e98e0 > 0x98e7a48: 0x000000001fd792e0 0x0000001a0000001a > 0x98e7a58: 0x0000400700000060 0x0000000000000000 > 0x98e7a68: 0x400000001f000005 0x0000000000000606 > 0x98e7a78: 0x0000000008ae5654 0x000000001b78fe2d > 0x98e7a88: 0x0000000000000012 0x0000000008ae5674 > 0x98e7a98: 0x400000001f000005 0x0000000000000606 > 0x98e7aa8: 0x0000000008ae5694 0x000000001c32b8dd > 0x98e7ab8: 0x000000000000000e 0x0000000008ae5674 > 0x98e7ac8: 0x000000000000000e 0x000015554de5d450 This tells us the stale pointer was most likely found in a hash table, with 26 elements. Can you please run x/64gx 0x3aa1ac0 so we can be sure of this? Unfortunately, most likely, all that is going to tell us the basic types of the keys and values in the hash table, and we're then going to have to investigate the surviving keys and values to get a clue as to what the hash table might have been. Unless someone can think of a better way? Thanks again! Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sun, 18 May 2025 15:13:02 GMT) Full text and rfc822 format available.Message #32 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sun, 18 May 2025 11:12:43 -0400
[Message part 1 (text/plain, inline)]
> > Can you please run x/64gx 0x3aa1ac0 so we can be sure > of this? > Sure: (gdb) x/64gx 0x3aa1ac0 0x3aa1ac0: 0x00000000098f1d0d 0x0000000000000030 0x3aa1ad0: 0x00000000098f1d65 0x0000000000000030 0x3aa1ae0: 0x00000000098f1dbd 0x0000000000000030 0x3aa1af0: 0x00000000098f1e15 0x0000000000000030 0x3aa1b00: 0x00000000098f1e6d 0x0000000000000030 0x3aa1b10: 0x00000000098f1ec5 0x0000000000000030 0x3aa1b20: 0x00000000098f1f1d 0x0000000000000030 0x3aa1b30: 0x00000000098f1f75 0x0000000000000030 0x3aa1b40: 0x00000000098f1fcd 0x0000000000000030 0x3aa1b50: 0x00000000098f2025 0x0000000000000030 0x3aa1b60: 0x00000000098f207d 0x0000000000000030 0x3aa1b70: 0x00000000098f20d5 0x0000000000000030 0x3aa1b80: 0x00000000098f212d 0x0000000000000030 0x3aa1b90: 0x00000000098f2185 0x0000000000000030 0x3aa1ba0: 0x00000000098f21dd 0x0000000000000030 0x3aa1bb0: 0x00000000098f2235 0x0000000000000030 0x3aa1bc0: 0x00000000098f228d 0x0000000000000030 0x3aa1bd0: 0x00000000098f22e5 0x0000000000000030 0x3aa1be0: 0x00000000098f233d 0x0000000000000030 0x3aa1bf0: 0x00000000098f2395 0x0000000000000030 0x3aa1c00: 0x00000000098f23ed 0x0000000000000030 0x3aa1c10: 0x00000000098f2445 0x0000000000000030 0x3aa1c20: 0x00000000098f249d 0x0000000000000030 0x3aa1c30: 0x00000000098f24f5 0x0000000000000030 0x3aa1c40: 0x00000000098f254d 0x0000000000000030 0x3aa1c50: 0x00000000098f25a5 0x0000000000000030 0x3aa1c60: 0x0000000000000007 0x0000000000000007 0x3aa1c70: 0x0000000000000007 0x0000000000000007 0x3aa1c80: 0x0000000000000007 0x0000000000000007 0x3aa1c90: 0x0000000000000007 0x0000000000000007 0x3aa1ca0: 0x0000000000000007 0x0000000000000007 0x3aa1cb0: 0x0000000000000007 0x0000000000000007 (gdb) Keep them coming! Are you still suspecting X? Thanks! George On Sat, May 17, 2025 at 5:17 PM Pip Cet <pipcet <at> protonmail.com> wrote: > "George P" <georgepanagopo <at> gmail.com> writes: > > > Can you try this (subtracting 5 from the tagged pointer to get the base > > pointer, then printing its memory region): > > > > x/32gx 0x98e79d8 > > x/32gx 0x98f1d08 > > > > (gdb) x/32gx 0x98e79d8 > > 0x98e79d8: 0xc00000000e008000 0x0000000020e10970 > > 0x98e79e8: 0x0000000003aa20d0 0x0000000003aa1ac0 > > 0x98e79f8: 0x00000000006e9960 0x000000002265f480 > > 0x98e7a08: 0x0000001a0000001a 0x0000400700000060 > > 0x98e7a18: 0x0000000000000000 0x400000000e008000 > > 0x98e7a28: 0x000000001bfdbe90 0x0000000020e10b80 > > 0x98e7a38: 0x000000001bfdb880 0x00000000006e98e0 > > 0x98e7a48: 0x000000001fd792e0 0x0000001a0000001a > > 0x98e7a58: 0x0000400700000060 0x0000000000000000 > > 0x98e7a68: 0x400000001f000005 0x0000000000000606 > > 0x98e7a78: 0x0000000008ae5654 0x000000001b78fe2d > > 0x98e7a88: 0x0000000000000012 0x0000000008ae5674 > > 0x98e7a98: 0x400000001f000005 0x0000000000000606 > > 0x98e7aa8: 0x0000000008ae5694 0x000000001c32b8dd > > 0x98e7ab8: 0x000000000000000e 0x0000000008ae5674 > > 0x98e7ac8: 0x000000000000000e 0x000015554de5d450 > > This tells us the stale pointer was most likely found in a hash table, > with 26 elements. Can you please run x/64gx 0x3aa1ac0 so we can be sure > of this? > > Unfortunately, most likely, all that is going to tell us the basic types > of the keys and values in the hash table, and we're then going to have > to investigate the surviving keys and values to get a clue as to what > the hash table might have been. Unless someone can think of a better > way? > > Thanks again! > > Pip > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Mon, 19 May 2025 15:45:03 GMT) Full text and rfc822 format available.Message #35 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Mon, 19 May 2025 15:44:00 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > Can you please run x/64gx 0x3aa1ac0 so we can be sure > of this? > > Sure: > > (gdb) x/64gx 0x3aa1ac0 > 0x3aa1ac0: 0x00000000098f1d0d 0x0000000000000030 > 0x3aa1ad0: 0x00000000098f1d65 0x0000000000000030 > 0x3aa1ae0: 0x00000000098f1dbd 0x0000000000000030 > 0x3aa1af0: 0x00000000098f1e15 0x0000000000000030 > 0x3aa1b00: 0x00000000098f1e6d 0x0000000000000030 > 0x3aa1b10: 0x00000000098f1ec5 0x0000000000000030 > 0x3aa1b20: 0x00000000098f1f1d 0x0000000000000030 > 0x3aa1b30: 0x00000000098f1f75 0x0000000000000030 > 0x3aa1b40: 0x00000000098f1fcd 0x0000000000000030 > 0x3aa1b50: 0x00000000098f2025 0x0000000000000030 > 0x3aa1b60: 0x00000000098f207d 0x0000000000000030 > 0x3aa1b70: 0x00000000098f20d5 0x0000000000000030 > 0x3aa1b80: 0x00000000098f212d 0x0000000000000030 > 0x3aa1b90: 0x00000000098f2185 0x0000000000000030 > 0x3aa1ba0: 0x00000000098f21dd 0x0000000000000030 > 0x3aa1bb0: 0x00000000098f2235 0x0000000000000030 > 0x3aa1bc0: 0x00000000098f228d 0x0000000000000030 > 0x3aa1bd0: 0x00000000098f22e5 0x0000000000000030 > 0x3aa1be0: 0x00000000098f233d 0x0000000000000030 > 0x3aa1bf0: 0x00000000098f2395 0x0000000000000030 > 0x3aa1c00: 0x00000000098f23ed 0x0000000000000030 > 0x3aa1c10: 0x00000000098f2445 0x0000000000000030 > 0x3aa1c20: 0x00000000098f249d 0x0000000000000030 > 0x3aa1c30: 0x00000000098f24f5 0x0000000000000030 > 0x3aa1c40: 0x00000000098f254d 0x0000000000000030 > 0x3aa1c50: 0x00000000098f25a5 0x0000000000000030 > 0x3aa1c60: 0x0000000000000007 0x0000000000000007 > 0x3aa1c70: 0x0000000000000007 0x0000000000000007 > 0x3aa1c80: 0x0000000000000007 0x0000000000000007 > 0x3aa1c90: 0x0000000000000007 0x0000000000000007 > 0x3aa1ca0: 0x0000000000000007 0x0000000000000007 > 0x3aa1cb0: 0x0000000000000007 0x0000000000000007 > (gdb) That's a native comp unit's lambda_gc_guard_h, which is quite curious. Presumably 0x98e7985 is the native comp unit and 0x8f680f4 is its file name, so could you please run p *(char **)0x8f68108 to retrieve it, as well as x/32gx 0x9e7980 to confirm it is (or was) a native comp unit? Going back through the last_marked array, it seems we're looking at the 'function-history plist property of a symbol at 0x15554df1a3a0, but I'm not sure which of the strings we mark after that is its name. Best to print all of them: p *(char **)0x8ae5588 p *(char **)0x15554ec0ff98 p *(char **)0x15554ec0ff78 The last vector or pseudovector we marked before that was 0x38294cd, so I think we should look at x/32gx 0x38294c8 too. > Keep them coming! Are you still suspecting X? Currently, it seems more likely to involve the nativecomp code, but I've stared at it for a while and I don't see how it can resurrect comp units once they become unreachable. Thanks again! Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Mon, 19 May 2025 15:57:02 GMT) Full text and rfc822 format available.Message #38 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Mon, 19 May 2025 11:56:02 -0400
[Message part 1 (text/plain, inline)]
Here they are: (gdb) p *(char **)0x8f68108 $1 = 0x2018b608 "/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/cl-print-79bf9fb1-14d0e7d5.eln" (gdb) x/32gx 0x9e7980 0x9e7980 <pure+3086496>: 0x0000000000000000 0x0000000000000000 0x9e7990 <pure+3086512>: 0x0000000000000000 0x0000000000000000 0x9e79a0 <pure+3086528>: 0x0000000000000000 0x0000000000000000 0x9e79b0 <pure+3086544>: 0x0000000000000000 0x0000000000000000 0x9e79c0 <pure+3086560>: 0x0000000000000000 0x0000000000000000 0x9e79d0 <pure+3086576>: 0x0000000000000000 0x0000000000000000 0x9e79e0 <pure+3086592>: 0x0000000000000000 0x0000000000000000 0x9e79f0 <pure+3086608>: 0x0000000000000000 0x0000000000000000 0x9e7a00 <pure+3086624>: 0x0000000000000000 0x0000000000000000 0x9e7a10 <pure+3086640>: 0x0000000000000000 0x0000000000000000 0x9e7a20 <pure+3086656>: 0x0000000000000000 0x0000000000000000 0x9e7a30 <pure+3086672>: 0x0000000000000000 0x0000000000000000 0x9e7a40 <pure+3086688>: 0x0000000000000000 0x0000000000000000 0x9e7a50 <pure+3086704>: 0x0000000000000000 0x0000000000000000 0x9e7a60 <pure+3086720>: 0x0000000000000000 0x0000000000000000 0x9e7a70 <pure+3086736>: 0x0000000000000000 0x0000000000000000 (gdb) p *(char **)0x8ae5588 p *(char **)0x15554ec0ff78$2 = 0x2018b6b8 "/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/emacs-lisp/cl-print.elc" (gdb) p *(char **)0x15554ec0ff98 $3 = 0x15554f56d92e "cl-print" (gdb) p *(char **)0x15554ec0ff78 $4 = 0x15554f56d81f "Print OBJECT on STREAM according to its type.\nOutput is further controlled by the variables\n`cl-print-readably', `cl-print-compiled', along with output\nvariables for the standard printing functions. "... (gdb) x/32gx 0x38294c8 0x38294c8: 0xc00000001200a000 0x000015553389a350 0x38294d8: 0x0000000000020001 0x00000000088417d0 0x38294e8: 0x0000000000000000 0x0000000000000000 0x38294f8: 0x0000000000000025 0x00000000098e7985 0x3829508: 0x000000000e754ab0 0x0000000000000000 0x3829518: 0x000000001f6463e3 0x400000001200a000 0x3829528: 0x000015553389a590 0x0000000000010001 0x3829538: 0x0000000004d5eb30 0x0000000000000000 0x3829548: 0x0000000000000000 0x0000000000000026 0x3829558: 0x00000000098e7985 0x000000000e754ae0 0x3829568: 0x0000000000000000 0x000000001f646373 0x3829578: 0x400000001200a000 0x000015553389a6a0 0x3829588: 0x0000000000030003 0x000000000e754b30 0x3829598: 0x0000000000000000 0x0000000000000000 0x38295a8: 0x0000000000000027 0x00000000098e7985 0x38295b8: 0x000000001fe4ed90 0x0000000000000000 (gdb) Thanks! George On Mon, May 19, 2025 at 11:44 AM Pip Cet <pipcet <at> protonmail.com> wrote: > "George P" <georgepanagopo <at> gmail.com> writes: > > > Can you please run x/64gx 0x3aa1ac0 so we can be sure > > of this? > > > > Sure: > > > > (gdb) x/64gx 0x3aa1ac0 > > 0x3aa1ac0: 0x00000000098f1d0d 0x0000000000000030 > > 0x3aa1ad0: 0x00000000098f1d65 0x0000000000000030 > > 0x3aa1ae0: 0x00000000098f1dbd 0x0000000000000030 > > 0x3aa1af0: 0x00000000098f1e15 0x0000000000000030 > > 0x3aa1b00: 0x00000000098f1e6d 0x0000000000000030 > > 0x3aa1b10: 0x00000000098f1ec5 0x0000000000000030 > > 0x3aa1b20: 0x00000000098f1f1d 0x0000000000000030 > > 0x3aa1b30: 0x00000000098f1f75 0x0000000000000030 > > 0x3aa1b40: 0x00000000098f1fcd 0x0000000000000030 > > 0x3aa1b50: 0x00000000098f2025 0x0000000000000030 > > 0x3aa1b60: 0x00000000098f207d 0x0000000000000030 > > 0x3aa1b70: 0x00000000098f20d5 0x0000000000000030 > > 0x3aa1b80: 0x00000000098f212d 0x0000000000000030 > > 0x3aa1b90: 0x00000000098f2185 0x0000000000000030 > > 0x3aa1ba0: 0x00000000098f21dd 0x0000000000000030 > > 0x3aa1bb0: 0x00000000098f2235 0x0000000000000030 > > 0x3aa1bc0: 0x00000000098f228d 0x0000000000000030 > > 0x3aa1bd0: 0x00000000098f22e5 0x0000000000000030 > > 0x3aa1be0: 0x00000000098f233d 0x0000000000000030 > > 0x3aa1bf0: 0x00000000098f2395 0x0000000000000030 > > 0x3aa1c00: 0x00000000098f23ed 0x0000000000000030 > > 0x3aa1c10: 0x00000000098f2445 0x0000000000000030 > > 0x3aa1c20: 0x00000000098f249d 0x0000000000000030 > > 0x3aa1c30: 0x00000000098f24f5 0x0000000000000030 > > 0x3aa1c40: 0x00000000098f254d 0x0000000000000030 > > 0x3aa1c50: 0x00000000098f25a5 0x0000000000000030 > > 0x3aa1c60: 0x0000000000000007 0x0000000000000007 > > 0x3aa1c70: 0x0000000000000007 0x0000000000000007 > > 0x3aa1c80: 0x0000000000000007 0x0000000000000007 > > 0x3aa1c90: 0x0000000000000007 0x0000000000000007 > > 0x3aa1ca0: 0x0000000000000007 0x0000000000000007 > > 0x3aa1cb0: 0x0000000000000007 0x0000000000000007 > > (gdb) > > That's a native comp unit's lambda_gc_guard_h, which is quite curious. > Presumably 0x98e7985 is the native comp unit and 0x8f680f4 is its file > name, so could you please run > > p *(char **)0x8f68108 > > to retrieve it, as well as > > x/32gx 0x9e7980 > > to confirm it is (or was) a native comp unit? > > Going back through the last_marked array, it seems we're looking at the > 'function-history plist property of a symbol at 0x15554df1a3a0, but I'm > not sure which of the strings we mark after that is its name. Best to > print all of them: > > p *(char **)0x8ae5588 > p *(char **)0x15554ec0ff98 > p *(char **)0x15554ec0ff78 > > The last vector or pseudovector we marked before that was 0x38294cd, so > I think we should look at > > x/32gx 0x38294c8 > > too. > > > Keep them coming! Are you still suspecting X? > > Currently, it seems more likely to involve the nativecomp code, but I've > stared at it for a while and I don't see how it can resurrect comp units > once they become unreachable. > > Thanks again! > > Pip > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Tue, 20 May 2025 15:57:03 GMT) Full text and rfc822 format available.Message #41 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, Andrea Corallo <acorallo <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Tue, 20 May 2025 15:55:46 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > Here they are: Thanks again! The good news is I found *a* nativecomp GC bug, but I'm not convinced it's related to the one you've been seeing. It works only with the right optimization options (-O2 here), because without optimization conservative GC will save the day, but that matches your build. Create a file like this: ;;; -*- lexical-binding: t; -*- (defun f () (fmakunbound 'f) (garbage-collect) (lambda () nil)) then execute: (prog1 nil (native-elisp-load (native-compile "file.el"))) (funcall 'f) What will happen is that while execution is in 'f', there is no reference to the subr f (the backtrace only keeps alive the symbol f, not the subr f, and funcall_general is tail recursive so its stack variables are out of scope by the time we call garbage-collect). That means the compilation unit may get unloaded while we're still in 'f', and then we crash trying to return to it after garbage collection. I *think* that if there were a second handle keeping alive the dynlib (but not the compilation unit), we would return an anonymous lambda which would refer to the now-invalid (but still open) native compilation unit. This would also happen if dlclose failed to unload the library. I've been able to simulate this by intercepting dynlib_close and returning from it immediately (without actually closing the shared object) and executing: (prog1 nil (native-elisp-load (native-compile "file.el"))) (prog1 nil (setq x (funcall 'f))) This succeeded, and when I tried to access 'x' I got a crash, as expected. At this point, the bug seems a little contrived, because it's unusual for a function to fmakunbound the symbol it is bound to, but I think that's pretty much what happens in some recursive load scenarios. If the function redefines itself using (ultimately) defalias, the old function value is sometimes, but not always, stored in the function-history symbol property. I don't believe this mechanism reliably keeps alive the old function (and, thus, the compilation unit) either, and it can be circumvented entirely by using Ffset directly. Again, this is unlikely to be precisely what happened to George here, but it indicates that relying on the current specpdl backtrace to keep alive subrs that are being called doesn't work in all cases. We should probably keep the actual subr around, either in a (hidden?) backtrace slot somewhere or in a local variable in funcall_subr which we ensure cannot be optimized away (by tail recursion or otherwise). Note that the second dynlib handle isn't required for a crash, but the crashes we see without it should be immediate, upon returning from GC, assuming dynlib_close actually synchronously unmaps the library. I think both the symbol being bound to something else and the second handle might happen "naturally" during some recursive reload scenarios. > (gdb) p *(char **)0x8f68108 > $1 = 0x2018b608 "/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/cl-print-79bf9fb1-14d0e7d5.eln" > (gdb) x/32gx 0x9e7980 Oops, I messed up there. I meant x/32gx 0x98e7980, though it's no longer necessary (we know it's a native compilation unit because it appears in the right slot in the subr below). > (gdb) p *(char **)0x8ae5588 > > p *(char **)0x15554ec0ff78$2 = 0x2018b6b8 > "/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/emacs-lisp/cl-print.elc" > (gdb) p *(char **)0x15554ec0ff98 > $3 = 0x15554f56d92e "cl-print" > (gdb) p *(char **)0x15554ec0ff78 > $4 = 0x15554f56d81f "Print OBJECT on STREAM according to its type.\nOutput is further controlled by the variables\n`cl-print-readably', > `cl-print-compiled', along with output\nvariables for the standard printing functions. "... That's the beginning of the function-history of the cl-prin1 symbol (while symbols mark the strings containing their names, they do not put the marked string in last_marked, so we have to deduce this from the docstring). > (gdb) x/32gx 0x38294c8 > 0x38294c8: 0xc00000001200a000 0x000015553389a350 > 0x38294d8: 0x0000000000020001 0x00000000088417d0 > 0x38294e8: 0x0000000000000000 0x0000000000000000 > 0x38294f8: 0x0000000000000025 0x00000000098e7985 > 0x3829508: 0x000000000e754ab0 0x0000000000000000 > 0x3829518: 0x000000001f6463e3 0x400000001200a000 that appears to be the cl-prin1 definition (minargs 1, maxargs 2, native comp unit 0x98e7985). How reproducible did you say this crash was? Unless we can come up with a convincing alternative explanation, it may be worth it to fix funcall_subr to avoid this particular bug, and keep running Emacs in gdb until it crashes again... diff --git a/src/eval.c b/src/eval.c index caae4cb17e2..274319d1196 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3135,6 +3135,9 @@ safe_eval (Lisp_Object sexp) Lisp_Object funcall_subr (struct Lisp_Subr *subr, ptrdiff_t numargs, Lisp_Object *args) { + volatile Lisp_Object keepalive; + XSETSUBR (keepalive, subr); + Lisp_Object ret; eassume (numargs >= 0); if (numargs >= subr->min_args) { @@ -3156,32 +3159,46 @@ funcall_subr (struct Lisp_Subr *subr, ptrdiff_t numargs, Lisp_Object *args) switch (maxargs) { case 0: - return subr->function.a0 (); + ret = subr->function.a0 (); + break; case 1: - return subr->function.a1 (a[0]); + ret = subr->function.a1 (a[0]); + break; case 2: - return subr->function.a2 (a[0], a[1]); + ret = subr->function.a2 (a[0], a[1]); + break; case 3: - return subr->function.a3 (a[0], a[1], a[2]); + ret = subr->function.a3 (a[0], a[1], a[2]); + break; case 4: - return subr->function.a4 (a[0], a[1], a[2], a[3]); + ret = subr->function.a4 (a[0], a[1], a[2], a[3]); + break; case 5: - return subr->function.a5 (a[0], a[1], a[2], a[3], a[4]); + ret = subr->function.a5 (a[0], a[1], a[2], a[3], a[4]); + break; case 6: - return subr->function.a6 (a[0], a[1], a[2], a[3], a[4], a[5]); + ret = subr->function.a6 (a[0], a[1], a[2], a[3], a[4], a[5]); + break; case 7: - return subr->function.a7 (a[0], a[1], a[2], a[3], a[4], a[5], + ret = subr->function.a7 (a[0], a[1], a[2], a[3], a[4], a[5], a[6]); + break; case 8: - return subr->function.a8 (a[0], a[1], a[2], a[3], a[4], a[5], - a[6], a[7]); + ret = subr->function.a8 (a[0], a[1], a[2], a[3], a[4], a[5], + a[6], a[7]); + break; } - eassume (false); /* In case the compiler is too stupid. */ + keepalive = keepalive; + return ret; } /* Call to n-adic subr. */ if (maxargs == MANY || maxargs > 8) - return subr->function.aMANY (numargs, args); + { + ret = subr->function.aMANY (numargs, args); + keepalive = keepalive; + return ret; + } } /* Anything else is an error. */
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Tue, 20 May 2025 18:41:01 GMT) Full text and rfc822 format available.Message #44 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, Andrea Corallo <acorallo <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Tue, 20 May 2025 14:39:56 -0400
[Message part 1 (text/plain, inline)]
> > How reproducible did you say this crash was? > I get it around once a month I would say. My elisp is way too primitive to be able to understand the circumstances that lead to the bug you are describing, but I did find an instance of fmakunbound in a macro in Doom emacs: https://github.com/doomemacs/doomemacs/blob/66f1b25dac30ca97779e8a05e735e14230556492/lisp/doom-lib.el#L442 Can't really say if it's triggering the bug that you are describing, though. Thanks! George On Tue, May 20, 2025 at 11:55 AM Pip Cet <pipcet <at> protonmail.com> wrote: > "George P" <georgepanagopo <at> gmail.com> writes: > > > Here they are: > > Thanks again! > > The good news is I found *a* nativecomp GC bug, but I'm not convinced > it's related to the one you've been seeing. It works only with the > right optimization options (-O2 here), because without optimization > conservative GC will save the day, but that matches your build. > > Create a file like this: > > ;;; -*- lexical-binding: t; -*- > > (defun f () > (fmakunbound 'f) > (garbage-collect) > (lambda () nil)) > > then execute: > > (prog1 nil (native-elisp-load (native-compile "file.el"))) > (funcall 'f) > > What will happen is that while execution is in 'f', there is no > reference to the subr f (the backtrace only keeps alive the symbol f, > not the subr f, and funcall_general is tail recursive so its stack > variables are out of scope by the time we call garbage-collect). That > means the compilation unit may get unloaded while we're still in 'f', > and then we crash trying to return to it after garbage collection. > > I *think* that if there were a second handle keeping alive the dynlib > (but not the compilation unit), we would return an anonymous lambda > which would refer to the now-invalid (but still open) native compilation > unit. This would also happen if dlclose failed to unload the library. > > I've been able to simulate this by intercepting dynlib_close and > returning from it immediately (without actually closing the shared > object) and executing: > > (prog1 nil (native-elisp-load (native-compile "file.el"))) > (prog1 nil (setq x (funcall 'f))) > > This succeeded, and when I tried to access 'x' I got a crash, as > expected. > > At this point, the bug seems a little contrived, because it's unusual > for a function to fmakunbound the symbol it is bound to, but I think > that's pretty much what happens in some recursive load scenarios. If > the function redefines itself using (ultimately) defalias, the old > function value is sometimes, but not always, stored in the > function-history symbol property. I don't believe this mechanism > reliably keeps alive the old function (and, thus, the compilation unit) > either, and it can be circumvented entirely by using Ffset directly. > > Again, this is unlikely to be precisely what happened to George here, > but it indicates that relying on the current specpdl backtrace to keep > alive subrs that are being called doesn't work in all cases. > > We should probably keep the actual subr around, either in a (hidden?) > backtrace slot somewhere or in a local variable in funcall_subr which we > ensure cannot be optimized away (by tail recursion or otherwise). > > Note that the second dynlib handle isn't required for a crash, but the > crashes we see without it should be immediate, upon returning from GC, > assuming dynlib_close actually synchronously unmaps the library. > > I think both the symbol being bound to something else and the second > handle might happen "naturally" during some recursive reload scenarios. > > > (gdb) p *(char **)0x8f68108 > > $1 = 0x2018b608 > "/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/cl-print-79bf9fb1-14d0e7d5.eln" > > (gdb) x/32gx 0x9e7980 > > Oops, I messed up there. I meant x/32gx 0x98e7980, though it's no > longer necessary (we know it's a native compilation unit because it > appears in the right slot in the subr below). > > > (gdb) p *(char **)0x8ae5588 > > > > p *(char **)0x15554ec0ff78$2 = 0x2018b6b8 > > > "/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/share/emacs/30.1/lisp/emacs-lisp/cl-print.elc" > > (gdb) p *(char **)0x15554ec0ff98 > > $3 = 0x15554f56d92e "cl-print" > > (gdb) p *(char **)0x15554ec0ff78 > > $4 = 0x15554f56d81f "Print OBJECT on STREAM according to its > type.\nOutput is further controlled by the variables\n`cl-print-readably', > > `cl-print-compiled', along with output\nvariables for the standard > printing functions. "... > > That's the beginning of the function-history of the cl-prin1 symbol > (while symbols mark the strings containing their names, they do not put > the marked string in last_marked, so we have to deduce this from the > docstring). > > > (gdb) x/32gx 0x38294c8 > > 0x38294c8: 0xc00000001200a000 0x000015553389a350 > > 0x38294d8: 0x0000000000020001 0x00000000088417d0 > > 0x38294e8: 0x0000000000000000 0x0000000000000000 > > 0x38294f8: 0x0000000000000025 0x00000000098e7985 > > 0x3829508: 0x000000000e754ab0 0x0000000000000000 > > 0x3829518: 0x000000001f6463e3 0x400000001200a000 > > that appears to be the cl-prin1 definition (minargs 1, maxargs 2, native > comp unit 0x98e7985). > > How reproducible did you say this crash was? Unless we can come up with > a convincing alternative explanation, it may be worth it to fix > funcall_subr to avoid this particular bug, and keep running Emacs in gdb > until it crashes again... > > diff --git a/src/eval.c b/src/eval.c > index caae4cb17e2..274319d1196 100644 > --- a/src/eval.c > +++ b/src/eval.c > @@ -3135,6 +3135,9 @@ safe_eval (Lisp_Object sexp) > Lisp_Object > funcall_subr (struct Lisp_Subr *subr, ptrdiff_t numargs, Lisp_Object > *args) > { > + volatile Lisp_Object keepalive; > + XSETSUBR (keepalive, subr); > + Lisp_Object ret; > eassume (numargs >= 0); > if (numargs >= subr->min_args) > { > @@ -3156,32 +3159,46 @@ funcall_subr (struct Lisp_Subr *subr, ptrdiff_t > numargs, Lisp_Object *args) > switch (maxargs) > { > case 0: > - return subr->function.a0 (); > + ret = subr->function.a0 (); > + break; > case 1: > - return subr->function.a1 (a[0]); > + ret = subr->function.a1 (a[0]); > + break; > case 2: > - return subr->function.a2 (a[0], a[1]); > + ret = subr->function.a2 (a[0], a[1]); > + break; > case 3: > - return subr->function.a3 (a[0], a[1], a[2]); > + ret = subr->function.a3 (a[0], a[1], a[2]); > + break; > case 4: > - return subr->function.a4 (a[0], a[1], a[2], a[3]); > + ret = subr->function.a4 (a[0], a[1], a[2], a[3]); > + break; > case 5: > - return subr->function.a5 (a[0], a[1], a[2], a[3], a[4]); > + ret = subr->function.a5 (a[0], a[1], a[2], a[3], a[4]); > + break; > case 6: > - return subr->function.a6 (a[0], a[1], a[2], a[3], a[4], > a[5]); > + ret = subr->function.a6 (a[0], a[1], a[2], a[3], a[4], a[5]); > + break; > case 7: > - return subr->function.a7 (a[0], a[1], a[2], a[3], a[4], a[5], > + ret = subr->function.a7 (a[0], a[1], a[2], a[3], a[4], a[5], > a[6]); > + break; > case 8: > - return subr->function.a8 (a[0], a[1], a[2], a[3], a[4], a[5], > - a[6], a[7]); > + ret = subr->function.a8 (a[0], a[1], a[2], a[3], a[4], a[5], > + a[6], a[7]); > + break; > } > - eassume (false); /* In case the compiler is too stupid. */ > + keepalive = keepalive; > + return ret; > } > > /* Call to n-adic subr. */ > if (maxargs == MANY || maxargs > 8) > - return subr->function.aMANY (numargs, args); > + { > + ret = subr->function.aMANY (numargs, args); > + keepalive = keepalive; > + return ret; > + } > } > > /* Anything else is an error. */ > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Thu, 29 May 2025 17:56:02 GMT) Full text and rfc822 format available.Message #47 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, Andrea Corallo <acorallo <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Thu, 29 May 2025 13:55:07 -0400
[Message part 1 (text/plain, inline)]
I got another crash, again in GC. I haven't had a chance to apply Pip's patch, so this is just 30.1 as before. The trace looks a bit different, apologies if it's a different issue. I still have the program under gdb. I have redacted the frames after the emacs_abort in the full backtrace, let me know if you need anything from them, or what other information I can provide from gdb. I did not use any org-mode stuff, so my original hunch. The only unusual (from me) thing I did just before the crash was open up an eshell buffer, execute a couple of commands, and close it. I hadn't used eshell-mode before that in that session. Thanks! George (gdb) where #0 0x0000155550f3416c in __pthread_kill_implementation () from /nix/store/fm971x5g8nkjd756kgsnw2qpn2kqs37z-glibc-2.40-66/lib/libc.so.6 #1 0x0000155550edbe86 in raise () from /nix/store/fm971x5g8nkjd756kgsnw2qpn2kqs37z-glibc-2.40-66/lib/libc.so.6 #2 0x0000000000527279 in terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=40) at emacs.c:480 #3 0x0000000000546b5c in emacs_abort () at sysdep.c:2391 #4 0x00000000005a9989 in signal_or_quit (error_symbol=0x3ea0, data=0x68519ef3, continuable=continuable <at> entry=false) at eval.c:1858 #5 0x00000000005a9bb4 in Fsignal (error_symbol=<optimized out>, error_symbol <at> entry=0x3ea0, data=<optimized out>) at eval.c:1822 #6 0x00000000005aa18d in xsignal (error_symbol=0x3ea0, data=<optimized out>) at /build/source/src/lisp.h:4845 #7 xsignal2 (error_symbol=error_symbol <at> entry=0x3ea0, arg1=arg1 <at> entry=0x3d476d75, arg2=arg2 <at> entry=0x6) at eval.c:1988 #8 0x0000000000595799 in args_out_of_range (a1=a1 <at> entry=0x3d476d75, a2=a2 <at> entry=0x6) at data.c:147 #9 0x0000000000595977 in Faref (array=0x3d476d75, idx=0x6) at data.c:2579 #10 0x000015554e2e8a70 in F74696d65722d2d74696d65_timer__time_0 () from /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/timer-3ee7cfd9-ae4e9eed.eln #11 0x00000000005aa3de in funcall_subr (subr=subr <at> entry=0x15554ec2d330, numargs=numargs <at> entry=1, args=args <at> entry=0x7fffffff5e48) at eval.c:3161 #12 0x00000000005abdab in funcall_general (fun=0x15554ec2d335, numargs=numargs <at> entry=1, args=args <at> entry=0x7fffffff5e48) at /build/source/src/lisp.h:2243 #13 0x00000000005a903e in Ffuncall (nargs=2, args=0x7fffffff5e40) at eval.c:3093 #14 0x000015554e2e8fe2 in F74696d65722d2d74696d652d6c6573732d70_timer__time_less_p_0 () from /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/timer-3ee7cfd9-ae4e9eed.eln #15 0x00000000005aa3f0 in funcall_subr (subr=subr <at> entry=0x15554ec33c38, numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffff5fe8) at eval.c:3163 #16 0x00000000005abdab in funcall_general (fun=0x15554ec33c3d, numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffff5fe8) at /build/source/src/lisp.h:2243 #17 0x00000000005a903e in Ffuncall (nargs=3, args=0x7fffffff5fe0) at eval.c:3093 #18 0x000015554e2e946c in F74696d65722d2d6163746976617465_timer__activate_0 () from /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/timer-3ee7cfd9-ae4e9eed.eln #19 0x00000000005aa420 in funcall_subr (subr=subr <at> entry=0x15554ec33b70, numargs=numargs <at> entry=4, args=args <at> entry=0x7fffffff6158) at eval.c:3167 #20 0x00000000005abdab in funcall_general (fun=0x15554ec33b75, numargs=numargs <at> entry=4, args=args <at> entry=0x7fffffff6158) at /build/source/src/lisp.h:2243 #21 0x00000000005a903e in Ffuncall (nargs=5, args=0x7fffffff6150) at eval.c:3093 #22 0x000015554e2e96a6 in F74696d65722d6163746976617465_timer_activate_0 () from /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/timer-3ee7cfd9-ae4e9eed.eln #23 0x00000000005aa406 in funcall_subr (subr=subr <at> entry=0x15554ec336f8, numargs=numargs <at> entry=1, args=args <at> entry=0x7fffffff62e8) at eval.c:3165 #24 0x00000000005abdab in funcall_general (fun=0x15554ec336fd, numargs=numargs <at> entry=1, args=args <at> entry=0x7fffffff62e8) at /build/source/src/lisp.h:2243 #25 0x00000000005a903e in Ffuncall (nargs=2, args=0x7fffffff62e0) at eval.c:3093 #26 0x000015554e2ea94d in F72756e2d61742d74696d65_run_at_time_0 () from /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/timer-3ee7cfd9-ae4e9eed.eln #27 0x00000000005aa4cd in funcall_subr (subr=subr <at> entry=0x15554f14d090, numargs=numargs <at> entry=3, args=args <at> entry=0x7fffffff6578) at eval.c:3184 #28 0x00000000005abdab in funcall_general (fun=0x15554f14d095, numargs=numargs <at> entry=3, args=args <at> entry=0x7fffffff6578) at /build/source/src/lisp.h:2243 #29 0x00000000005a903e in Ffuncall (nargs=4, args=0x7fffffff6570) at eval.c:3093 #30 0x000015554e6dcd70 in F756e646f2d6175746f2d2d626f756e646172792d656e737572652d74696d6572_undo_auto__boundary_ensure_timer_0 () from /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/simple-fab5b0cf-4a9a0458.eln #31 0x00000000005aa3d3 in funcall_subr (subr=subr <at> entry=0x15554f0904d0, numargs=numargs <at> entry=0, args=args <at> entry=0x7fffffff66e0) at eval.c:3159 #32 0x00000000005abdab in funcall_general (fun=0x15554f0904d5, numargs=numargs <at> entry=0, args=args <at> entry=0x7fffffff66e0) at /build/source/src/lisp.h:2243 #33 0x00000000005a903e in Ffuncall (nargs=1, args=0x7fffffff66d8) at eval.c:3093 #34 0x000015554e6dd13a in F756e646f2d6175746f2d2d756e646f61626c652d6368616e6765_undo_auto__undoable_change_0 () from /nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/bin/../lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/preloaded/simple-fab5b0cf-4a9a0458.eln #35 0x00000000005aa3d3 in funcall_subr (subr=subr <at> entry=0x15554f4a9490, numargs=numargs <at> entry=0, args=args <at> entry=0x7fffffff6838) at eval.c:3159 #36 0x00000000005abdab in funcall_general (fun=0x15554f4a9495, numargs=numargs <at> entry=0, args=args <at> entry=0x7fffffff6838) at /build/source/src/lisp.h:2243 #37 0x00000000005a903e in Ffuncall (nargs=nargs <at> entry=1, args=args <at> entry=0x7fffffff6830) at eval.c:3093 #38 0x00000000005548c0 in call0 (fn=<optimized out>) at /build/source/src/lisp.h:3515 #39 run_undoable_change () at insdel.c:1990 #40 0x0000000000555e81 in prepare_to_modify_buffer_1 (start=start <at> entry=859892, end=end <at> entry=859892, preserve_ptr=preserve_ptr <at> entry=0x0) at insdel.c:2027 #41 0x00000000005563bb in prepare_to_modify_buffer (start=859892, end=859892, preserve_ptr=preserve_ptr <at> entry=0x0) at insdel.c:2083 #42 0x00000000005effb7 in read_and_insert_process_output (p=p <at> entry=0x3fbf1a40, buf=buf <at> entry=0x8d2d0bc0 "Caught a SIGHUP at /nix/store/kc8n9v32akagg59fljd1innk008ap7pc-latexmk-4.85/bin/latexmk line 4461"..., nread=nread <at> entry=99, process_coding=process_coding <at> entry=0x495c7d0) at process.c:6410 #43 0x00000000005f0355 in read_and_dispose_of_process_output (p=p <at> entry=0x3fbf1a40, chars=chars <at> entry=0x8d2d0bc0 "Caught a SIGHUP at /nix/store/kc8n9v32akagg59fljd1innk008ap7pc-latexmk-4.85/bin/latexmk line 4461"..., nbytes=nbytes <at> entry=99, coding=coding <at> entry=0x495c7d0) at process.c:6492 #44 0x00000000005f0550 in read_process_output (proc=proc <at> entry=0x3fbf1a45, channel=<optimized out>) at process.c:6272 #45 0x00000000005f3c3e in status_notify (deleting_process=deleting_process <at> entry=0x18fac608, wait_proc=wait_proc <at> entry=0x0) at process.c:7832 #46 0x00000000005f3ea2 in Fdelete_process (process=process <at> entry=0x18fac60d) at process.c:1127 #47 0x00000000005fa808 in kill_buffer_processes (buffer=buffer <at> entry=0x0) at process.c:8391 #48 0x0000000000526e6b in shut_down_emacs (sig=sig <at> entry=6, stuff=stuff <at> entry=0x0) at emacs.c:3133 --Type <RET> for more, q to quit, c to continue without paging-- #49 0x0000000000527242 in terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=40) at emacs.c:463 #50 0x0000000000546b5c in emacs_abort () at sysdep.c:2391 #51 0x00000000005895f3 in process_mark_stack (base_sp=base_sp <at> entry=0) at alloc.c:7489 #52 0x0000000000589620 in mark_object (obj=<optimized out>) at alloc.c:7503 #53 0x0000000000589719 in mark_maybe_pointer (p=p <at> entry=0x196922b5, symbol_only=symbol_only <at> entry=false) at alloc.c:5260 #54 0x000000000058979b in mark_memory (start=<optimized out>, end=end <at> entry=0x7fffffff7ca0) at alloc.c:5310 #55 0x00000000005897cc in mark_c_stack (bottom=<optimized out>, end=end <at> entry=0x7fffffff7ca0 "\340|\377\377\377\177") at alloc.c:5493 #56 0x00000000006181be in mark_one_thread (thread=thread <at> entry=0xc5d940 <main_thread>) at thread.c:670 #57 0x0000000000618229 in mark_threads_callback (ignore=ignore <at> entry=0x0) at thread.c:703 #58 0x000000000058848b in flush_stack_call_func1 (func=func <at> entry=0x61820b <mark_threads_callback>, arg=arg <at> entry=0x0) at alloc.c:5534 #59 0x000000000061875d in flush_stack_call_func (func=0x61820b <mark_threads_callback>, arg=0x0) at /build/source/src/lisp.h:4509 #60 mark_threads () at thread.c:710 #61 0x0000000000589aa8 in garbage_collect () at alloc.c:6605 #62 0x0000000000589dfd in maybe_garbage_collect () at alloc.c:6507 #63 0x00000000005a90ad in maybe_gc () at /build/source/src/lisp.h:5929 #64 Ffuncall (nargs=1, args=0x7fffffff7db8) at eval.c:3088 #65 0x000015553b320855 in F646f6f6d2d6d6f64656c696e652d7365676d656e742d2d6275666665722d696e666f_doom_modeline_segment__buffer_info_0 () from /u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8/doom-modeline-segments-ec8426c7-61011079.eln #66 0x00000000005ab556 in eval_sub (form=form <at> entry=0x54aafa3) at eval.c:2595 #67 0x00000000005acdda in Feval (form=0x54aafa3, lexical=<optimized out>) at eval.c:2462 #68 0x00000000005aa3f0 in funcall_subr (subr=subr <at> entry=0xc75b80 <Seval>, numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffff8228) at eval.c:3163 #69 0x00000000005abdab in funcall_general (fun=0xc75b85 <Seval+5>, numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffff8228) at /build/source/src/lisp.h:2243 #70 0x00000000005a903e in Ffuncall (nargs=nargs <at> entry=3, args=args <at> entry=0x7fffffff8220) at eval.c:3093 #71 0x00000000005a7fd6 in internal_condition_case_n (bfun=bfun <at> entry=0x5a8f78 <Ffuncall>, nargs=nargs <at> entry=3, args=args <at> entry=0x7fffffff8220, handlers=handlers <at> entry=0x30, hfun=hfun <at> entry=0x44fa4c <dsafe_eval_handler>) at eval.c:1693 #72 0x000000000043dd89 in dsafe__call (inhibit_quit=inhibit_quit <at> entry=true, f=0x5a8f78 <Ffuncall>, nargs=nargs <at> entry=3, args=args <at> entry=0x7fffffff8220) at xdisp.c:3067 #73 0x000000000043de8e in dsafe_eval (sexpr=<optimized out>) at xdisp.c:3103 #74 0x0000000000468615 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=5, depth <at> entry=4, field_width=0, precision=-10, elt=0x54aafc3, props=props <at> entry=0x0, risky=false) at xdisp.c:27919 #75 0x00000000004687f5 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=4, depth <at> entry=3, field_width=0, precision=0, elt=<optimized out>, props=props <at> entry=0x0, risky=false) at xdisp.c:28005 #76 0x00000000004687f5 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=3, depth <at> entry=2, field_width=field_width <at> entry=0, precision=precision <at> entry=0, elt=<optimized out>, props=props <at> entry=0x0, risky=false) at xdisp.c:28005 #77 0x0000000000468650 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=2, depth <at> entry=1, field_width=0, precision=0, elt=0x54a08d3, props=props <at> entry=0x0, risky=false) at xdisp.c:27928 #78 0x00000000004687f5 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=1, depth <at> entry=0, field_width=field_width <at> entry=0, precision=precision <at> entry=0, elt=<optimized out>, elt <at> entry=0x54a08f3, props=props <at> entry=0x0, risky=false) at xdisp.c:28005 #79 0x0000000000469653 in display_mode_line (w=w <at> entry=0x18e5e010, face_id=MODE_LINE_ACTIVE_FACE_ID, format=0x54a08f3) at xdisp.c:27430 #80 0x000000000046b52c in display_mode_lines (w=w <at> entry=0x18e5e010) at xdisp.c:27343 #81 0x000000000047c642 in redisplay_window (window=0x18e5e015, just_this_one_p=just_this_one_p <at> entry=true) at xdisp.c:20933 #82 0x000000000047df46 in redisplay_window_1 (window=window <at> entry=0x18e5e015) at xdisp.c:18030 #83 0x00000000005a7ea9 in internal_condition_case_1 (bfun=bfun <at> entry=0x47df0f <redisplay_window_1>, arg=0x18e5e015, handlers=<optimized out>, hfun=hfun <at> entry=0x43ee0b <redisplay_window_error>) at eval.c:1637 #84 0x000000000046cf5f in redisplay_internal () at xdisp.c:17518 #85 0x000000000046d411 in redisplay_preserve_echo_area (from_where=from_where <at> entry=8) at xdisp.c:17749 #86 0x000000000053610a in detect_input_pending_run_timers (do_display=do_display <at> entry=true) at keyboard.c:11576 #87 0x00000000005f8c33 in wait_reading_process_output (time_limit=time_limit <at> entry=0, nsecs=nsecs <at> entry=0, read_kbd=read_kbd <at> entry=-1, do_display=do_display <at> entry=true, wait_for_cell=wait_for_cell <at> entry=0x0, wait_proc=wait_proc <at> entry=0x0, just_wait_proc=0) at process.c:5844 #88 0x00000000005366d9 in kbd_buffer_get_event (kbp=kbp <at> entry=0x7fffffffdb18, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb, end_time=end_time <at> entry=0x0) at keyboard.c:4094 #89 0x00000000005370d4 in read_event_from_main_queue (end_time=end_time <at> entry=0x0, local_getcjmp=local_getcjmp <at> entry=0x7fffffffde40, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb) at keyboard.c:2330 #90 0x000000000053724a in read_decoded_event_from_main_queue (end_time=end_time <at> entry=0x0, local_getcjmp=local_getcjmp <at> entry=0x7fffffffde40, prev_event=prev_event <at> entry=0x0, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb) at keyboard.c:2393 #91 0x0000000000538668 in read_char (commandflag=1, map=map <at> entry=0x395c72d3, prev_event=0x0, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb, end_time=end_time <at> entry=0x0) at keyboard.c:3015 #92 0x0000000000539789 in read_key_sequence (keybuf=keybuf <at> entry=0x7fffffffe1f0, prompt=prompt <at> entry=0x0, dont_downcase_last=dont_downcase_last <at> entry=false, can_return_switch_frame=can_return_switch_frame <at> entry=true, fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=prevent_redisplay <at> entry=false, disable_text_conversion_p=false) at keyboard.c:10743 #93 0x000000000053ac06 in command_loop_1 () at keyboard.c:1429 #94 0x00000000005a7e25 in internal_condition_case (bfun=bfun <at> entry=0x53a9ce <command_loop_1>, handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x52f35b <cmd_error>) at eval.c:1613 #95 0x00000000005292ae in command_loop_2 (handlers=handlers <at> entry=0x90) at keyboard.c:1168 #96 0x00000000005a7d42 in internal_catch (tag=tag <at> entry=0x122d0, func=func <at> entry=0x529294 <command_loop_2>, arg=arg <at> entry=0x90) at eval.c:1292 #97 0x000000000052926b in command_loop () at keyboard.c:1146 #98 0x000000000052eec4 in recursive_edit_1 () at keyboard.c:754 #99 0x000000000052f25c in Frecursive_edit () at keyboard.c:837 #100 0x0000000000528660 in main (argc=<optimized out>, argv=0x7fffffffe5b8) at emacs.c:2635 (gdb) set print elements 0 (gdb) bt full ..... REDACTED #50 0x0000000000546b5c in emacs_abort () at sysdep.c:2391 No locals. #51 0x00000000005895f3 in process_mark_stack (base_sp=base_sp <at> entry=0) at alloc.c:7489 obj = 0xffdf6e1 po = <optimized out> #52 0x0000000000589620 in mark_object (obj=<optimized out>) at alloc.c:7503 sp = 0 #53 0x0000000000589719 in mark_maybe_pointer (p=p <at> entry=0x196922b5, symbol_only=symbol_only <at> entry=false) at alloc.c:5260 obj = <optimized out> m = <optimized out> #54 0x000000000058979b in mark_memory (start=<optimized out>, end=end <at> entry=0x7fffffff7ca0) at alloc.c:5310 p = 0x196922b5 ip = <optimized out> pp = 0x7fffffffc560 "\265\"i\031" tem = <optimized out> #55 0x00000000005897cc in mark_c_stack (bottom=<optimized out>, end=end <at> entry=0x7fffffff7ca0 "\340|\377\377\377\177") at alloc.c:5493 No locals. #56 0x00000000006181be in mark_one_thread (thread=thread <at> entry=0xc5d940 <main_thread>) at thread.c:670 stack_top = 0x7fffffff7ca0 #57 0x0000000000618229 in mark_threads_callback (ignore=ignore <at> entry=0x0) at thread.c:703 thread_obj = 0xc5d945 <main_thread+5> iter = 0xc5d940 <main_thread> #58 0x000000000058848b in flush_stack_call_func1 (func=func <at> entry=0x61820b <mark_threads_callback>, arg=arg <at> entry=0x0) at alloc.c:5534 end = 0x7fffffff7ca0 self = <optimized out> sentry = <optimized out> #59 0x000000000061875d in flush_stack_call_func (func=0x61820b <mark_threads_callback>, arg=0x0) at /build/source/src/lisp.h:4509 No locals. #60 mark_threads () at thread.c:710 No locals. #61 0x0000000000589aa8 in garbage_collect () at alloc.c:6605 tail = <optimized out> buffer = <optimized out> stack_top_variable = 0 '\000' message_p = true count = <optimized out> start = <optimized out> tot_before = 18446744073709551615 visitor = <optimized out> #62 0x0000000000589dfd in maybe_garbage_collect () at alloc.c:6507 No locals. #63 0x00000000005a90ad in maybe_gc () at /build/source/src/lisp.h:5929 No locals. #64 Ffuncall (nargs=1, args=0x7fffffff7db8) at eval.c:3088 count = <optimized out> val = <optimized out> #65 0x000015553b320855 in F646f6f6d2d6d6f64656c696e652d7365676d656e742d2d6275666665722d696e666f_doom_modeline_segment__buffer_info_0 () from /u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8/doom-modeline-segments-ec8426c7-61011079.eln No symbol table info available. #66 0x00000000005ab556 in eval_sub (form=form <at> entry=0x54aafa3) at eval.c:2595 i = 0 maxargs = 0 args_left = 0x0 numargs = 0 original_fun = <optimized out> original_args = 0x0 count = <optimized out> fun = 0x5424a6d val = <optimized out> funcar = <optimized out> argvals = {0x7fffffff8228, 0x15554f39c1d3, 0x5d8769c0, 0x1, 0x5d8769c0, 0x7fffffff8228, 0xc75b80 <Seval>, 0x5a7566 <do_specbind+65>} retry = <optimized out> #67 0x00000000005acdda in Feval (form=0x54aafa3, lexical=<optimized out>) at eval.c:2462 count = <optimized out> #68 0x00000000005aa3f0 in funcall_subr (subr=subr <at> entry=0xc75b80 <Seval>, numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffff8228) at eval.c:3163 argbuf = {0x94751110, 0x6f, 0x1, 0x4aadee669fd7c800, 0xd00900 <lispsym+44448>, 0x0, 0x15554f4be9c8, 0x2} a = <optimized out> maxargs = 2 fun = <optimized out> #69 0x00000000005abdab in funcall_general (fun=0xc75b85 <Seval+5>, numargs=numargs <at> entry=2, args=args <at> entry=0x7fffffff8228) at /build/source/src/lisp.h:2243 original_fun = 0x7cb0 #70 0x00000000005a903e in Ffuncall (nargs=nargs <at> entry=3, args=args <at> entry=0x7fffffff8220) at eval.c:3093 count = {bytes = 576} val = <optimized out> #71 0x00000000005a7fd6 in internal_condition_case_n (bfun=bfun <at> entry=0x5a8f78 <Ffuncall>, nargs=nargs <at> entry=3, args=args <at> entry=0x7fffffff8220, handlers=handlers <at> entry=0x30, hfun=hfun <at> entry=0x44fa4c <dsafe_eval_handler>) at eval.c:1693 val = <optimized out> c = 0xe5f070 #72 0x000000000043dd89 in dsafe__call (inhibit_quit=inhibit_quit <at> entry=true, f=0x5a8f78 <Ffuncall>, nargs=nargs <at> entry=3, args=args <at> entry=0x7fffffff8220) at xdisp.c:3067 count = <optimized out> val = <optimized out> #73 0x000000000043de8e in dsafe_eval (sexpr=<optimized out>) at xdisp.c:3103 No locals. #74 0x0000000000468615 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=5, depth <at> entry=4, field_width=0, precision=-10, elt=0x54aafc3, props=props <at> entry=0x0, risky=false) at xdisp.c:27919 spec = <optimized out> car = 0xf00 tem = <optimized out> n = 0 field = <optimized out> prec = <optimized out> literal = false #75 0x00000000004687f5 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=4, depth <at> entry=3, field_width=0, precision=0, elt=<optimized out>, props=props <at> entry=0x0, risky=false) at xdisp.c:28005 li = {tortoise = 0x54aaf53, max = 8, n = 0, q = 6} car = <optimized out> tem = <optimized out> n = 10 field = <optimized out> prec = <optimized out> literal = <optimized out> #76 0x00000000004687f5 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=3, depth <at> entry=2, field_width=field_width <at> entry=0, precision=precision <at> entry=0, elt=<optimized out>, props=props <at> entry=0x0, risky=false) at xdisp.c:28005 li = {tortoise = 0x6851e693, max = 2, n = 0, q = 2} car = <optimized out> tem = <optimized out> n = 0 field = <optimized out> prec = <optimized out> literal = <optimized out> #77 0x0000000000468650 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=2, depth <at> entry=1, field_width=0, precision=0, elt=0x54a08d3, props=props <at> entry=0x0, risky=false) at xdisp.c:27928 spec = <optimized out> car = 0xf00 tem = <optimized out> n = 0 field = <optimized out> prec = <optimized out> literal = false #78 0x00000000004687f5 in display_mode_element (it=it <at> entry=0x7fffffff86d0, depth=1, depth <at> entry=0, field_width=field_width <at> entry=0, precision=precision <at> entry=0, elt=<optimized out>, elt <at> entry=0x54a08f3, props=props <at> entry=0x0, risky=false) at xdisp.c:28005 li = {tortoise = 0x54a08f3, max = 2, n = 0, q = 1} car = <optimized out> tem = <optimized out> n = 0 field = <optimized out> prec = <optimized out> literal = <optimized out> #79 0x0000000000469653 in display_mode_line (w=w <at> entry=0x18e5e010, face_id=MODE_LINE_ACTIVE_FACE_ID, format=0x54a08f3) at xdisp.c:27430 it = {window = 0x18e5e015, w = 0x18e5e010, f = 0x8f9aca0, method = GET_FROM_STRING, stop_charpos = 4, prev_stop = 3, base_level_stop = 3, end_charpos = 4, medium_narrowing_begv = 0, medium_narrowing_zv = 0, large_narrowing_begv = 0, large_narrowing_zv = 0, s = 0x0, string_nchars = 4, multibyte_p = false, tab_line_p = false, header_line_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, from_disp_prop_p = false, ellipsis_p = false, avoid_cursor_p = false, dp = 0x7917aa0, dpvec = 0x0, dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 1, ctl_chars = { 0x0 <repeats 16 times>}, start = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = -1, string_pos = {charpos = 4, bytepos = 4}, dpvec_index = -1}, n_overlay_strings = 0, overlay_strings_charpos = 0, overlay_strings = {0x0 <repeats 16 times>}, string_overlays = {0x0 <repeats 16 times>}, string = 0x62375bd4, from_overlay = 0x0, stack = {{string = 0x62375eb4, string_nchars = 2, end_charpos = 2, stop_charpos = 1, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 2, id = -1, ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x7fffffff86d0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 1, u = {image = {object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 1, bytepos = 1}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = -1, string_pos = {charpos = 1, bytepos = 1}, dpvec_index = -1}, from_overlay = 0x0, area = TEXT_AREA, method = GET_FROM_STRING, paragraph_embedding = L2R, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = true, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}, {string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = { charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0x0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}, {string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0x0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}, {string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0x0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}, {string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0x0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}}, sp = 0, selective = 0, what = IT_EOB, face_id = 1, selective_display_ellipsis_p = true, ctl_arrow_p = true, face_box_p = false, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = false, ignore_overlay_strings_at_pos_p = false, glyph_not_available_p = false, starts_in_middle_of_char_p = false, face_before_selective_p = false, constrain_row_ascent_descent_p = false, line_number_produced_p = false, align_visually_p = false, line_wrap = TRUNCATE, base_face_id = 1, c = 32, len = 1, cmp_it = {stop_pos = 4, id = -1, ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x7fffffff86d0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, char_to_display = 32, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, xwidget = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, space_width = 0x0, voffset = 0, tab_width = 4, font_height = 0x0, object = 0x62375bd4, position = {charpos = 3, bytepos = 3}, truncation_pixel_width = 12, continuation_pixel_width = 0, first_visible_x = 0, last_visible_x = 2561, last_visible_y = 1983, extra_line_spacing = 0, max_extra_line_spacing = 0, override_ascent = -1, override_descent = 0, override_boff = 0, glyph_row = 0x94751110, area = TEXT_AREA, nglyphs = 1, pixel_width = 12, ascent = 18, descent = 6, max_ascent = 18, max_descent = 6, phys_ascent = 0, phys_descent = 0, max_phys_ascent = 18, max_phys_descent = 6, current_x = 111, wrap_prefix_width = 0, continuation_lines_width = 0, eol_pos = {charpos = 0, bytepos = 0}, current_y = 0, first_vpos = 0, vpos = 0, hpos = 10, lnum = 0, lnum_bytepos = 0, lnum_width = 0, lnum_pixel_width = 0, pt_lnum = 0, stretch_adjust = 0, left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, bidi_p = true, bidi_it = {bytepos = 4, charpos = 4, ch = -1, nchars = 1, ch_len = 1, type = NEUTRAL_B, type_after_wn = NEUTRAL_B, orig_type = NEUTRAL_B, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 3, type = UNKNOWN_BT, orig_type = NEUTRAL_WS}, last_strong = {charpos = 2, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_neutral = {charpos = -1, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = 4, type = STRONG_L, orig_type = NEUTRAL_WS}, next_for_ws = {charpos = 4, type = NEUTRAL_B, orig_type = UNKNOWN_BT}, bracket_pairing_pos = -1, bracket_enclosed_type = UNKNOWN_BT, next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = L2R, scan_dir = 1, disp_pos = 4, disp_prop = 0, stack_idx = 0, level_stack = {{next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'} <repeats 128 times>}, string = {lstring = 0x62375bd4, s = 0x0, schars = 4, bufpos = 0, from_disp_str = false, unibyte = true}, w = 0x18e5e010, paragraph_dir = L2R, separator_limit = 4, first_elt = false, new_paragraph = false, frame_window_p = true}, paragraph_embedding = L2R, min_width_property = 0x0, min_width_start = 0} face = <optimized out> count = <optimized out> #80 0x000000000046b52c in display_mode_lines (w=w <at> entry=0x18e5e010) at xdisp.c:27343 window_mode_line_format = <optimized out> sel_w = 0x18e5e010 old_selected_window = 0x18e5e015 new_frame = 0x8f9aca5 count = <optimized out> n = 0 #81 0x000000000047c642 in redisplay_window (window=0x18e5e015, just_this_one_p=just_this_one_p <at> entry=true) at xdisp.c:20933 count1 = <optimized out> w = 0x18e5e010 f = <optimized out> buffer = <optimized out> old = <optimized out> lpoint = <optimized out> opoint = <optimized out> startp = <optimized out> update_mode_line = false tem = <optimized out> it = {window = 0x0, w = 0x0, f = 0x0, method = GET_FROM_BUFFER, stop_charpos = 1, prev_stop = 1, base_level_stop = -1, end_charpos = -1, medium_narrowing_begv = -1, medium_narrowing_zv = 4294967295, large_narrowing_begv = 6, large_narrowing_zv = 6, s = 0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, string_nchars = -1, multibyte_p = true, tab_line_p = true, header_line_p = true, string_from_display_prop_p = true, string_from_prefix_prop_p = true, from_disp_prop_p = true, ellipsis_p = true, avoid_cursor_p = true, dp = 0xffffffff, dpvec = 0x0, dpend = 0x1, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 0, ctl_chars = {0x0 <repeats 16 times>}, start = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, n_overlay_strings = 0, overlay_strings_charpos = 0, overlay_strings = {0x0 <repeats 16 times>}, string_overlays = {0x0 <repeats 16 times>}, string = 0x0, from_overlay = 0x0, stack = {{string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = { object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0x0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}, {string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0x0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}, {string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0x0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}, {string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0x0, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 0}, stretch = {object = 0x0}, xwidget = {object = 0x0}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, from_overlay = 0x0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = 0x0, font_height = 0x0}, {string = 0x0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, rule_idx = 4294967299, lookback = 493921239040, nglyphs = 1, reversed_p = false, parent_it = 0x6, charpos = -1, nchars = -2, nbytes = 0, from = 0, to = 0, width = 0}, face_id = 0, u = {image = {object = 0x7fffffffae50, slice = {x = 0x0, y = 0x0, width = 0x0, height = 0x0}, image_id = 115}, stretch = {object = 0x7fffffffae50}, xwidget = {object = 0x7fffffffae50}}, position = {charpos = 0, bytepos = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 262144}, from_overlay = 0x0, area = 68030565, method = GET_FROM_BUFFER, paragraph_embedding = (R2L | unknown: 0x4), multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = (WINDOW_WRAP | unknown: 0x4), voffset = 0, space_width = 0xc0000, font_height = 0x18000013ee}}, sp = 0, selective = 4294967295, what = IT_CHARACTER, face_id = 0, selective_display_ellipsis_p = false, ctl_arrow_p = false, face_box_p = false, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = true, ignore_overlay_strings_at_pos_p = true, glyph_not_available_p = true, starts_in_middle_of_char_p = false, face_before_selective_p = false, constrain_row_ascent_descent_p = false, line_number_produced_p = true, align_visually_p = false, line_wrap = TRUNCATE, base_face_id = 1, c = 1, len = 12, cmp_it = {stop_pos = 77309411334, id = 6, ch = 0, rule_idx = 257698037760, lookback = 0, nglyphs = 0, reversed_p = false, parent_it = 0x0, charpos = 0, nchars = 0, nbytes = 5, from = 0, to = 0, width = 0}, char_to_display = 0, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, xwidget = 0x0, slice = {x = 0x10000000000000, y = 0x6, width = 0x6, height = 0x73}, space_width = 0x1, voffset = 1, tab_width = 0, font_height = 0x100000001, object = 0x1, position = {charpos = 0, bytepos = 0}, truncation_pixel_width = 5, continuation_pixel_width = 0, first_visible_x = 0, last_visible_x = 22, last_visible_y = 22, extra_line_spacing = 4, max_extra_line_spacing = 0, override_ascent = 1, override_descent = 1, override_boff = -1, glyph_row = 0x0, area = 5, nglyphs = 0, pixel_width = 1, ascent = 22, descent = 6, max_ascent = 0, max_descent = 1, phys_ascent = 0, phys_descent = -1, max_phys_ascent = -1, max_phys_descent = 0, current_x = 0, wrap_prefix_width = 0, continuation_lines_width = 0, eol_pos = {charpos = 4294967296, bytepos = 1}, current_y = 9, first_vpos = 0, vpos = 0, hpos = 0, lnum = 0, lnum_bytepos = 0, lnum_width = 0, lnum_pixel_width = 0, pt_lnum = 0, stretch_adjust = 0, left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, bidi_p = false, bidi_it = {bytepos = 0, charpos = 0, ch = 0, nchars = 0, ch_len = 0, type = UNKNOWN_BT, type_after_wn = UNKNOWN_BT, orig_type = UNKNOWN_BT, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, last_strong = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_neutral = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_ws = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, bracket_pairing_pos = 0, bracket_enclosed_type = UNKNOWN_BT, next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = NEUTRAL_DIR, scan_dir = 0, disp_pos = 0, disp_prop = 0, stack_idx = 0, level_stack = {{next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'} <repeats 114 times>, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 3, level = 178 '\262', flags = 23 '\027'}, {next_for_neutral_pos = 1, next_for_neutral_type = 7, last_strong_type = 7, prev_for_neutral_type = 7, level = 255 '\377', flags = 255 '\377'}, {next_for_neutral_pos = 4, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 5381219254313404416, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 2, level = 249 '\371', flags = 8 '\b'}, {next_for_neutral_pos = 0, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 2, level = 249 '\371', flags = 8 '\b'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 3, level = 178 '\262', flags = 23 '\027'}, {next_for_neutral_pos = 4605185, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 5, last_strong_type = 4, prev_for_neutral_type = 3, level = 178 '\262', flags = 23 '\027'}, {next_for_neutral_pos = 397560544, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 2, level = 249 '\371', flags = 8 '\b'}, {next_for_neutral_pos = 0, next_for_neutral_type = 1, last_strong_type = 1, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}}, string = {lstring = 0x9, s = 0x0, schars = 0, bufpos = 0, from_disp_str = false, unibyte = false}, w = 0x0, paragraph_dir = NEUTRAL_DIR, separator_limit = 1, first_elt = false, new_paragraph = false, frame_window_p = false}, paragraph_embedding = NEUTRAL_DIR, min_width_property = 0x0, min_width_start = 0} current_matrix_up_to_date_p = <optimized out> used_current_matrix_p = false temp_scroll_step = false count = <optimized out> rc = <optimized out> centering_position = <optimized out> last_line_misfit = <optimized out> beg_unchanged = <optimized out> end_unchanged = <optimized out> frame_line_height = <optimized out> margin = <optimized out> use_desired_matrix = <optimized out> itdata = <optimized out> lchars_modiff = <optimized out> ochars_modiff = <optimized out> force_start = <optimized out> #82 0x000000000047df46 in redisplay_window_1 (window=window <at> entry=0x18e5e015) at xdisp.c:18030 No locals. #83 0x00000000005a7ea9 in internal_condition_case_1 (bfun=bfun <at> entry=0x47df0f <redisplay_window_1>, arg=0x18e5e015, handlers=<optimized out>, hfun=hfun <at> entry=0x43ee0b <redisplay_window_error>) at eval.c:1637 val = <optimized out> c = 0xe0fbf0 #84 0x000000000046cf5f in redisplay_internal () at xdisp.c:17518 mini_window = <optimized out> mini_frame = <optimized out> w = 0x18e5e010 sw = <optimized out> fr = <optimized out> pending = false must_finish = <optimized out> match_p = <optimized out> tlbufpos = {charpos = 11687, bytepos = 93918552} tlendpos = <optimized out> number_of_visible_frames = 4 sf = 0x8f9aca0 polling_stopped_here = <optimized out> tail = <optimized out> frame = <optimized out> MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES hscroll_retries = <optimized out> MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES garbaged_frame_retries = <optimized out> consider_all_windows_p = <optimized out> update_miniwindow_p = <optimized out> count = <optimized out> retry_frame = <optimized out> #85 0x000000000046d411 in redisplay_preserve_echo_area (from_where=from_where <at> entry=8) at xdisp.c:17749 count = <optimized out> #86 0x000000000053610a in detect_input_pending_run_timers (do_display=do_display <at> entry=true) at keyboard.c:11576 old_timers_run = 4316210 #87 0x00000000005f8c33 in wait_reading_process_output (time_limit=time_limit <at> entry=0, nsecs=nsecs <at> entry=0, read_kbd=read_kbd <at> entry=-1, do_display=do_display <at> entry=true, wait_for_cell=wait_for_cell <at> entry=0x0, wait_proc=wait_proc <at> entry=0x0, just_wait_proc=0) at process.c:5844 leave = false process_skipped = false wrapped = <optimized out> channel_start = <optimized out> child_fd = <optimized out> last_read_channel = 115 channel = <optimized out> nfds = 0 Available = {fds_bits = {391714348559326600, 1037009565033579808, -9182804282222128720, 128, 0, 0, 2251799813685248, 0, 0, 0, 0, 0, 0, 0, 0, 0}} Writeok = {fds_bits = {0 <repeats 16 times>}} check_write = <optimized out> check_delay = <optimized out> no_avail = false xerrno = 11 proc = <optimized out> timeout = {tv_sec = 0, tv_nsec = 89779048} end_time = <optimized out> timer_delay = <optimized out> got_output_end_time = <optimized out> MINIMUM = MINIMUM TIMEOUT = TIMEOUT FOREVER = FOREVER wait = FOREVER got_some_output = -1 prev_wait_proc_nbytes_read = 0 retry_for_async = <optimized out> count = <optimized out> now = <optimized out> #88 0x00000000005366d9 in kbd_buffer_get_event (kbp=kbp <at> entry=0x7fffffffdb18, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb, end_time=end_time <at> entry=0x0) at keyboard.c:4094 do_display = true obj = <optimized out> str = <optimized out> had_pending_selection_requests = false had_pending_conversion_events = false #89 0x00000000005370d4 in read_event_from_main_queue (end_time=end_time <at> entry=0x0, local_getcjmp=local_getcjmp <at> entry=0x7fffffffde40, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb) at keyboard.c:2330 c = 0x0 save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} kb = 0x1e381b40 count = <optimized out> #90 0x000000000053724a in read_decoded_event_from_main_queue (end_time=end_time <at> entry=0x0, local_getcjmp=local_getcjmp <at> entry=0x7fffffffde40, prev_event=prev_event <at> entry=0x0, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb) at keyboard.c:2393 nextevt = <optimized out> frame = <optimized out> terminal = <optimized out> events = {0x0, 0xffffffffffffffff, 0x0, 0x3d476d75, 0x0, 0x68389434, 0x272996e9, 0x0, 0x68389434, 0x2b591047, 0x0, 0xbebc200, 0x39d4ece3, 0x4aadee669fd7c800, 0x39d4f5c3, 0x4aadee669fd7c800} n = 0 #91 0x0000000000538668 in read_char (commandflag=1, map=map <at> entry=0x395c72d3, prev_event=0x0, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0cb, end_time=end_time <at> entry=0x0) at keyboard.c:3015 c = 0x0 local_getcjmp = {{__jmpbuf = {0, 474668369808441725, 0, 150580389, 0, 13113857, -474668370947751555, 474669034839851389}, __mask_was_saved = 0, __saved_mask = {__val = {2, 0, 93918557, 46750, 5928719, 1569155040, 5857403, 0, 68463568, 95439728, 5864240, 109946448, 5510427, 0, 4388885848, 0}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = true orig_kboard = 0x1e381b40 jmpcount = <optimized out> #92 0x0000000000539789 in read_key_sequence (keybuf=keybuf <at> entry=0x7fffffffe1f0, prompt=prompt <at> entry=0x0, dont_downcase_last=dont_downcase_last <at> entry=false, can_return_switch_frame=can_return_switch_frame <at> entry=true, fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=prevent_redisplay <at> entry=false, disable_text_conversion_p=false) at keyboard.c:10743 interrupted_kboard = 0x1e381b40 interrupted_frame = 0x8f9aca0 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> count = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 0x395c72d3 first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = {parent = 0xed389c3, map = 0xed389c3, start = 0, end = 0} keytran = {parent = 0x15554f49541b, map = 0x15554f49541b, start = 0, end = 0} indec = {parent = 0xed389d3, map = 0xed389d3, start = 0, end = 0} shift_translated = false delayed_switch_frame = 0x0 original_uppercase = 0x2da6 original_uppercase_position = -1 disabled_conversion = false starting_buffer = 0x5991558 fake_prefixed_keys = 0x0 first_event = 0x0 second_event = <optimized out> #93 0x000000000053ac06 in command_loop_1 () at keyboard.c:1429 cmd = <optimized out> keybuf = {0x12, 0x33273675, 0xfa2, 0x5982d3 <set_default_internal+530>, 0x7fffffffe270, 0x2, 0x30, 0x33273675, 0x0, 0x5a770f <do_one_unbind+319>, 0x7fffffffe2c0, 0x60, 0x0, 0x0, 0x0, 0x5a8d59 <unbind_to+105>, 0xb, 0x111c0, 0x30, 0x33273675, 0x7bc0, 0x4aadee669fd7c800, 0xcf32a0 <globals>, 0x28e04bf3, 0x60, 0x52f4c6 <cmd_error+363>, 0x0, 0x4aadee669fd7c800, 0x60, 0x15554ed90d83} i = <optimized out> last_pt = <optimized out> prev_modiff = 463552 prev_buffer = 0x5991558 #94 0x00000000005a7e25 in internal_condition_case (bfun=bfun <at> entry=0x53a9ce <command_loop_1>, handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x52f35b <cmd_error>) at eval.c:1613 val = <optimized out> c = 0xe0fab0 #95 0x00000000005292ae in command_loop_2 (handlers=handlers <at> entry=0x90) at keyboard.c:1168 val = <optimized out> #96 0x00000000005a7d42 in internal_catch (tag=tag <at> entry=0x122d0, func=func <at> entry=0x529294 <command_loop_2>, arg=arg <at> entry=0x90) at eval.c:1292 val = <optimized out> c = 0xea0d90 #97 0x000000000052926b in command_loop () at keyboard.c:1146 No locals. #98 0x000000000052eec4 in recursive_edit_1 () at keyboard.c:754 count = <optimized out> val = <optimized out> #99 0x000000000052f25c in Frecursive_edit () at keyboard.c:837 count = <optimized out> buffer = <optimized out> #100 0x0000000000528660 in main (argc=<optimized out>, argv=0x7fffffffe5b8) at emacs.c:2635 stack_bottom_variable = 0x155553f0c318 <_gnutls_lib_state> old_argc = <optimized out> dump_file = 0x0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 dump_mode = <optimized out> skip_args = 1 temacs = 0x0 attempt_load_pdump = <optimized out> only_version = false rlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615} lc_all = <optimized out> sockfd = -1 module_assertions = <optimized out> (gdb) p last_marked_index $4 = 28 (gdb) p last_marked $5 = {0x18e5e015, 0x3b0b4753, 0x7699356d, 0x249d0a33, 0x6dc36f23, 0x6dc36f23, 0x15554df37b68, 0x7699356d, 0x15554df3e0a8, 0x7cfa99b5, 0x7699356d, 0x15554ec33b75, 0x15554ec33b75, 0xceb350, 0x15554ec33b75, 0x15554df3dfe0, 0x15554ec33b75, 0x15554ec336fd, 0x249d0d13, 0x15554ec336fd, 0x15554df3dfe0, 0x7699356d, 0x15554ec3321d, 0x7699356d, 0x196922b5, 0x406, 0x15554efc8fac, 0xffdf6e1, 0x269b51f3, 0x17baf00, 0x269b5203, 0x285dedb4, 0x7, 0x0, 0x7 <repeats 28 times>, 0x0, 0x26bb673, 0x26bb683, 0x2850, 0x80a7962, 0x26153e3, 0x26153f3, 0x2cd0, 0x3a50fd2, 0x0, 0xc5d945 <main_thread+5>, 0x15554f2c7414, 0x15554f2bd8e5, 0x15554f3d3b05, 0x15554f40bcad, 0x15554f42179d, 0x31b6f84, 0x31b6f64, 0x1e989095, 0x1555405ad9a3, 0x1555405ad993, 0x15554dfb73e0, 0x2, 0x15554ea99fd3, 0x15554ea99fc3, 0x15554e2a7328 <text_data_reloc_imp_blob+9864>, 0x15554ea99fb3, 0x30, 0x15554f454f23, 0x0, 0x0, 0x6c30, 0x6c30, 0x1da, 0x186, 0x1d2, 0xff90, 0xff90, 0xff90, 0xff90, 0xff90, 0xff90, 0xff90, 0xbfa0, 0x15554df6a980, 0x7470, 0x15554de7b998, 0x15554e2e5518, 0x0, 0x33fca0, 0x33fca0, 0x0, 0x33fca0, 0x0, 0x0, 0x0, 0x0, 0x5b8d50a5, 0x6c30, 0x6c30, 0x1da, 0x186, 0x1d2, 0xff90, 0xff90, 0xff90, 0xff90, 0xff90, 0xff90, 0xff90, 0xbfa0, 0x15554df6a980, 0x7470, 0x15554de7b998, 0x15554ebecf83, 0x18609703, 0x18609713, 0x23fc4a, 0x63b3a5d0, 0x18609723, 0x0, 0x14520, 0xed389d3, 0xbbe0, 0x21c8d723, 0x21c8d733, 0x36, 0x655837d, 0x1555409194c3, 0x15c6f93, 0x765bf9a3, 0x39b64813, 0x853000 <pure+1429280>, 0x15c3ea3, 0x765bf9b3, 0x39b64833, 0x2bee40, 0x160c305, 0x765bf9c3, 0x39b64853, 0xbaf0, 0x160c2f5, 0x0, 0x0, 0x0, 0x22968973, 0x22968983, 0x26, 0xc1020d5, 0x1555409194c3, 0x15c6f93, 0x39b65523, 0x75e0a3a3, 0x853000 <pure+1429280>, 0x15c3e53, 0x39b65533, 0x75e0a3c3, 0x2bee40, 0x160c2e5, 0x39b65543, 0x75e0a3e3, 0xbaf0, 0x160c2d5, 0x0, 0x0, 0x0, 0x23292603, 0x23292613, 0x6e, 0x4918e6d, 0x23292743, 0x23292753, 0x15554df6acf0, 0x232928a3, 0x232928b3, 0x15554e2678e8, 0x23292923, 0x23292933, 0x15554df6ade0, 0x232929c3, 0x232929d3, 0x15554e090f20, 0xed389c3, 0xbbe0, 0x23292a93, 0x23292aa3, 0x15554df6a980, 0x15554f07eabd, 0x23292b13, 0x23292b23, 0x15554e06d260, 0x15554f089e6d, 0x23292b93, 0x23292ba3, 0x6c30, 0x15554f089e6d, 0xeb8e713, 0xbbe0, 0xeb8e693, 0xeb8e703, 0x15554df5c408, 0x15554ed86985, 0xeb8e613, 0xeb8e683, 0x15554df5c208, 0x15554ed869a5, 0xeb8e593, 0xeb8e5a3, 0x15554df6bcf0, 0x15554ed869c5, 0xeb8e573, 0xeb8e583, 0x15554df9e478, 0x15554ed869e5, 0xeb8e553, 0xeb8e563, 0x15554df2ac48, 0x15554ed86a05, 0xeb8e533, 0xeb8e543, 0x15554dff6498, 0x15554ed86a25, 0xeb8e4b3, 0xeb8e523, 0x15554df0d870, 0x15554ed86a45, 0xeb8e493, 0xeb8e4a3, 0x15554e090f20, 0x15554ed86a65, 0xeb8e473, 0xeb8e483, 0x15554df6ade0, 0x15554ed86b55, 0x15554f49c31b, 0x8f9aca5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x116ed15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15554eab8853, 0xbbe0, 0x15554eab8863, 0xbbe0, 0x15554f49c31b, 0x0, 0x0, 0x0, 0xc5d945 <main_thread+5>, 0x0, 0xada0, 0x0, 0x13110, 0x1d339873, 0x1555200014c5, 0xac80, 0x30, 0xfcc0, 0xad10, 0x30, 0xad40, 0x0, 0x18e5e015, 0x18e5e015, 0x26cbf15, 0x2, 0x2, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x18e5e015, 0x0, 0x599155d, 0x0, 0x7ada1273, 0x7c2, 0x7ada1283, 0x7d2, 0xada0, 0x0, 0xad40, 0x30, 0x7cb0, 0x54aafa3, 0x30, 0xb310, 0x0, 0x46c5150, 0x4665910, 0x150, 0x8255725, 0x4057374, 0x4057370, 0x62375bb4, 0x6851b233, 0x8160, 0x6851b243, 0x6851b283, 0x14a0, 0x6851b273, 0x49dca13, 0x1dcd93c4, 0x62375ac4, 0x6851a983, 0x7050, 0x6851a9b3, 0x4fcc903, 0x6851a9c3, 0x8160, 0x6851a9d3, 0x6851b203, 0x14a0, 0x6851b1f3, 0x49dca13, 0x6851aa53, 0xfb10, 0x6851aa63, 0x30, 0x6851aa73, 0x7050, 0x6851ada3, 0x2719b833, 0x6851adb3, 0x8d90, 0x6851adc3, 0x2719b853, 0x6851add3, 0x8160, 0x6851ade3, 0x2719b3c3, 0x6851adf3, 0xa4d0, 0x6851ae03, 0x1dcd9434, 0x6851b773, 0x14a0, 0x6851b763, 0x49dca13, 0x4fcc903, 0x4055fe4, 0x4055ff0, 0x62375bd4, 0x4665910, 0x62375bd4, 0x4055fe4, 0x4055ff0, 0x62375bd4, 0xeb73823, 0x1dcd93c4, 0x62375ae4, 0x6851ae53, 0x8160, 0x6851ae63, 0x6851b203, 0x6851ae73, 0x7050, 0x6851ae83, 0x4fcc903, 0x4070130, 0x1dcd93c4, 0x539f884, 0x6851b283, 0xeb73823, 0x15554e484b60 <F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_4+176>, 0x539f884, 0x6851b203, 0x4fcc903, 0xd00e50 <lispsym+45808>, 0x5424a6d, 0x15554f39c1d3, 0xd00e50 <lispsym+45808>, 0x15554f39c1d3, 0x54aafa3, 0x54aafc3, 0x54aafc3, 0x54aafa3, 0x599155d, 0x6851e693, 0x54aadd3, 0x6851e6a3, 0x62376b94, 0x6851e6c3, 0x8160, 0x6851e6d3, 0x49dca13, 0x6851e6e3, 0x7050, 0x6851e6f3, 0x6851e743, 0x10f80, 0x6851e753, 0x270, 0x6851e763, 0x6851e773, 0xd2f0, 0x6851e783, 0x100b0, 0x6851e793, 0x6851e7a3, 0xabe, 0x6851e6b3, 0x54ab153, 0x54aafd3, 0x54aadd3, 0x54aafd3, 0x54aaf53, 0x6851e693, 0x6851e693, 0x6851e693, 0x6851e693, 0x54a08d3, 0x54a08d3, 0x54a08d3, 0x4d4b834, 0x1000000, 0x54a08e3, 0x54a08f3, 0x54a08e3, 0x54a08f3, 0x7ada1273, 0x18e5e015, 0x54a08f3, 0x8f9aca5, 0x18e5e015, 0x18e5e015, 0x18e5e015, 0x8f9aca5, 0x7917aa5, 0x62375bd4, 0x62375eb4, 0x62375bd4, 0x62375bd4, 0x18e5e015, 0x8f9aca5, 0x18e5e015, 0x8f9aca5, 0x8f9aca5, 0x18e5e015, 0x18e5e015, 0x18e5e015, 0x599155d, 0x18e5e015, 0x8f9aca5, 0x599155d, 0x18e5e015, 0x8f9aca5, 0x40e1065, 0x17b24ae5, 0x8f9aca5, 0x8f9aca5, 0x17b24ae5, 0x17b24ae5, 0x17b24ae5, 0x8f9aca5, 0x7917aa5, 0x40e1065, 0xeb9f503, 0x40e1065, 0x40e1040, 0x15554dfbc8a8, 0x15554f39bcad, 0x17b24d05, 0x15554f39bcad, 0x599155d, 0xdd4965, 0xeac0a5, 0x15554eab8103, 0x26c39e3, 0x15554f2d1613, 0x599155d, 0x599155d, 0x18e5e015, 0x8f9aca5, 0x599155d, 0x18e5e015, 0x18e5e015} (gdb) p last_marked[last_marked_index] $6 = (Lisp_Object) 0x269b51f3
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 30 May 2025 08:03:02 GMT) Full text and rfc822 format available.Message #50 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, Andrea Corallo <acorallo <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 30 May 2025 08:02:08 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > I got another crash, again in GC. Interesting! > I haven't had a chance to apply Pip's patch, so this is just 30.1 as > before. No problem. This looks a bit different anyway. > The trace looks a bit different, apologies if it's a different > issue. Well, it is an issue so we should try to get to the bottom of it. Worst case we'll end up fixing two bugs ;-) > I still have the program under gdb. It's a good idea to use "gcore" to generate a core file from gdb, just in case the session is destroyed. > I did not use any org-mode stuff, so my original hunch. The only > unusual (from me) thing I did just before the crash was open up an > eshell buffer, execute a couple of commands, and close it. I hadn't > used eshell-mode before that in that session. Can you check whether eln files were created just before the crash? Over here, the relevant command would be $ ls -Strl ~/.emacs.d/eln-cache/*/* and looking at the last few lines to see whether any files have the creation date in the right range (after you started using eshell but before the crash happened). > (gdb) set print elements 0 > (gdb) bt full > ..... REDACTED > #50 0x0000000000546b5c in emacs_abort () at sysdep.c:2391 > No locals. > #51 0x00000000005895f3 in process_mark_stack (base_sp=base_sp <at> entry=0) at alloc.c:7489 > obj = 0xffdf6e1 > po = <optimized out> > #52 0x0000000000589620 in mark_object (obj=<optimized out>) at alloc.c:7503 > sp = 0 > #53 0x0000000000589719 in mark_maybe_pointer (p=p <at> entry=0x196922b5, symbol_only=symbol_only <at> entry=false) at alloc.c:5260 > obj = <optimized out> > m = <optimized out> > #54 0x000000000058979b in mark_memory (start=<optimized out>, end=end <at> entry=0x7fffffff7ca0) at alloc.c:5310 > p = 0x196922b5 > ip = <optimized out> > pp = 0x7fffffffc560 "\265\"i\031" > tem = <optimized out> So the immediate context of the crash was that we found a word on the stack that contained 0x196922b5; we decided it looked like a pointer, most likely a tagged pointer to a Lisp vectorlike, and that there was an object that it might have pointed to. We tried marking, most likely, the vectorlike starting at 0x196922b0, and ended up trying to mark 0xffdf6e1, which is not a valid Lisp_Object because it uses the unused tag. (What confuses me is that pp > end in frame #54, but we're inside a loop which reads: for (pp = start; (void const *) pp < end; pp += GC_POINTER_ALIGNMENT) { void *p = *(void *const *) pp; mark_maybe_pointer (p, false); ... } Debugging information in optimized builds isn't always perfectly reliable, so it might just be that). So we first should inspect the memory around 0x196922b0 to find out whether it looks like a valid vector block, and whether the bad word was in this block or in the string object marked just before. I'd suggest running x/32gx 0x196922b0 to look at the memory following the pointer, and x/32gx 0x19692200 to get some idea of whether it might be the middle of a vectorlike. You could try running p mem_find (0x196922b5) p *$ to see where the vector block (if it is one) was supposed to start. (There's a slight chance this will crash). It may be worth it to print the entire vector block, which should be doable by running x/512gx $.start after that command. > (gdb) p last_marked_index > $4 = 28 > (gdb) p last_marked > $5 = {0x18e5e015, 0x3b0b4753, 0x7699356d, 0x249d0a33, 0x6dc36f23, 0x6dc36f23, 0x15554df37b68, 0x7699356d, 0x15554df3e0a8, 0x7cfa99b5, > 0x7699356d, 0x15554ec33b75, 0x15554ec33b75, 0xceb350, 0x15554ec33b75, 0x15554df3dfe0, 0x15554ec33b75, 0x15554ec336fd, 0x249d0d13, > 0x15554ec336fd, 0x15554df3dfe0, 0x7699356d, > 0x15554ec3321d, 0x7699356d, 0x196922b5, 0x406, 0x15554efc8fac, 0xffdf6e1, 0x269b51f3, 0x17baf00, 0x269b5203, 0x285dedb4, 0x7, 0x0, 0x7 That gives us some more context. Before hitting our bad object, we marked 0x406, then 0x15554efc8fac. 0x406 is the Lisp_Object representation of 257 (0x0101), and that number is used extensively in bytecode output: bytecode objects with minargs = maxargs = 1 look like this: #[257 "...bytecode..." [constants...] ...] This means that 0x15554efc8fac is most likely the string containing the bytecode; could you please run p *(struct Lisp_String *)0x15554efc8fa8 to see whether this is true, and whether any data is still there? It would be interesting to know whether we were marking the string or the bytecode object when the crash happened; please run p mark_stk p mark_stk.stack[0] p mark_stk.stack[1] p mark_stk.stack[2] so we see how deep in the mark stack we were at the time. Thanks! Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 30 May 2025 14:41:02 GMT) Full text and rfc822 format available.Message #53 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, Andrea Corallo <acorallo <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 30 May 2025 10:39:47 -0400
[Message part 1 (text/plain, inline)]
Thanks, Pip! Really appreciate you putting so much effort into this. See below for what you asked for. George It's a good idea to use "gcore" to generate a core file from gdb, just > in case the session is destroyed. Done. Can you check whether eln files were created just before the crash? > Over here, the relevant command would be > > $ ls -Strl ~/.emacs.d/eln-cache/*/* > > and looking at the last few lines to see whether any files have the > creation date in the right range (after you started using eshell but > before the crash happened). > Nothing in the directory ( /u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8 for me) that is on the same day of the crash. In fact, eshell isn't there at all, which probably makes sense as I am using the built-in version, so it was already natively-compiled. So we first should inspect the memory around 0x196922b0 to find out > whether it looks like a valid vector block, and whether the bad word was > in this block or in the string object marked just before. I'd suggest > running > > x/32gx 0x196922b0 > > to look at the memory following the pointer, and > > x/32gx 0x19692200 > > to get some idea of whether it might be the middle of a vectorlike. (gdb) x/32gx 0x196922b0 0x196922b0: 0xc00000001f000005 0x0000000000000406 0x196922c0: 0x000015554efc8fac 0x000000000ffdf6e1 0x196922d0: 0x0000000000000016 0x000015554efc8f74 0x196922e0: 0xc00000001200a000 0x00001555386f8c00 0x196922f0: 0x0000000000000000 0x0000000074e43510 0x19692300: 0x0000000000000000 0x0000000000000000 0x19692310: 0x000000000000000b 0x00000000556ee565 0x19692320: 0x000000007a4401e0 0x0000000000000000 0x19692330: 0x000000005d1f2243 0xc000000003005000 0x19692340: 0x00000000134314f0 0x0000000000000000 0x19692350: 0x000000001965e118 0x00000000000026ba 0x19692360: 0x00000000000026ba 0x8000000000000004 0x19692370: 0x0000000000000f26 0x0000000000000c4e 0x19692380: 0x0000000000000c02 0x0000000000000d16 0x19692390: 0xc000000003005000 0x000015554ef1fbb0 0x196923a0: 0x00000000012d6144 0x0000000019e14120 (gdb) x/32gx 0x19692200 0x19692200: 0x0000000000000000 0x0000000000019082 0x19692210: 0x0000000000019102 0x000000000000004e 0x19692220: 0x0000000000000000 0x0000000000000192 0x19692230: 0x0000000000000002 0x0000000000000000 0x19692240: 0x400000002300000d 0x0000000000000000 0x19692250: 0x000000000544a480 0x00000000019e1500 0x19692260: 0x0000000000000000 0x000000000000b640 0x19692270: 0x0000000000000000 0x0000000000019082 0x19692280: 0x0000000000019102 0x000000000000004e 0x19692290: 0x0000000000000000 0x0000000000000192 0x196922a0: 0x0000000000000002 0x0000000000000000 0x196922b0: 0xc00000001f000005 0x0000000000000406 0x196922c0: 0x000015554efc8fac 0x000000000ffdf6e1 0x196922d0: 0x0000000000000016 0x000015554efc8f74 0x196922e0: 0xc00000001200a000 0x00001555386f8c00 0x196922f0: 0x0000000000000000 0x0000000074e43510 You could try running > > p mem_find (0x196922b5) > p *$ > > to see where the vector block (if it is one) was supposed to start. > (There's a slight chance this will crash). It may be worth it to print > the entire vector block, which should be doable by running > > x/512gx $.start > > after that command. > > (gdb) p mem_find (0x196922b5) [LWP 3311069 exited] $7 = (struct mem_node *) 0x18f97010 (gdb) p *$ $8 = {left = 0x18f96fd0, right = 0x18f97050, parent = 0x18f96f90, start = 0x196915a0, end = 0x19692598, color = MEM_BLACK, type = MEM_TYPE_VECTOR_BLOCK} (gdb) x/512gx $.start 0x196915a0: 0xc000000021000081 0x0000068000000003 0x196915b0: 0x000000000000158a 0x000000000000158e 0x196915c0: 0x0000000000001592 0x0000000000001596 0x196915d0: 0x000000000000159a 0x000000000000159e 0x196915e0: 0x00000000000015a2 0x00000000000015a6 0x196915f0: 0x00000000000015aa 0x00000000000015ae 0x19691600: 0x00000000000015b2 0x00000000000015b6 0x19691610: 0x00000000000015ba 0x00000000000015be 0x19691620: 0x00000000000015c2 0x00000000000015c6 0x19691630: 0x00000000000015ca 0x00000000000015ce 0x19691640: 0x00000000000015d2 0x00000000000015d6 0x19691650: 0x00000000000015da 0x00000000000015de 0x19691660: 0x00000000000015e2 0x00000000000015e6 0x19691670: 0x00000000000015ea 0x00000000000015ee 0x19691680: 0x00000000000015f2 0x00000000000015f6 0x19691690: 0x00000000000015fa 0x00000000000015fe 0x196916a0: 0x0000000000001602 0x0000000000001606 0x196916b0: 0x000000000000160a 0x000000000000160e 0x196916c0: 0x0000000000001612 0x0000000000001616 0x196916d0: 0x000000000000161a 0x000000000000161e 0x196916e0: 0x0000000000001622 0x0000000000001626 0x196916f0: 0x000000000000162a 0x000000000000162e 0x19691700: 0x0000000000001632 0x0000000000001636 0x19691710: 0x000000000000163a 0x000000000000163e 0x19691720: 0x0000000000001642 0x0000000000001646 0x19691730: 0x000000000000164a 0x000000000000164e 0x19691740: 0x0000000000001652 0x0000000000001656 0x19691750: 0x000000000000165a 0x000000000000165e 0x19691760: 0x0000000000001662 0x0000000000001666 0x19691770: 0x000000000000166a 0x000000000000166e 0x19691780: 0x0000000000001672 0x0000000000001676 0x19691790: 0x000000000000167a 0x000000000000167e 0x196917a0: 0x0000000000001682 0x0000000000001686 0x196917b0: 0x000000000000168a 0x000000000000168e 0x196917c0: 0x0000000000001692 0x0000000000001696 0x196917d0: 0x000000000000169a 0x000000000000169e 0x196917e0: 0x00000000000016a2 0x00000000000016a6 0x196917f0: 0x00000000000016aa 0x00000000000016ae 0x19691800: 0x00000000000016b2 0x00000000000016b6 0x19691810: 0x00000000000016ba 0x00000000000016be 0x19691820: 0x00000000000016c2 0x00000000000016c6 0x19691830: 0x00000000000016ca 0x00000000000016ce 0x19691840: 0x00000000000016d2 0x00000000000016d6 0x19691850: 0x00000000000016da 0x00000000000016de 0x19691860: 0x00000000000016e2 0x00000000000016e6 0x19691870: 0x00000000000016ea 0x00000000000016ee 0x19691880: 0x00000000000016f2 0x00000000000016f6 0x19691890: 0x00000000000016fa 0x00000000000016fe 0x196918a0: 0x0000000000001702 0x0000000000001706 0x196918b0: 0x000000000000170a 0x000000000000170e 0x196918c0: 0x0000000000001712 0x0000000000001716 0x196918d0: 0x000000000000171a 0x000000000000171e 0x196918e0: 0x0000000000001722 0x0000000000001726 --Type <RET> for more, q to quit, c to continue without paging--c 0x196918f0: 0x000000000000172a 0x000000000000172e 0x19691900: 0x0000000000001732 0x0000000000001736 0x19691910: 0x000000000000173a 0x000000000000173e 0x19691920: 0x0000000000001742 0x0000000000001746 0x19691930: 0x000000000000174a 0x000000000000174e 0x19691940: 0x0000000000001752 0x0000000000001756 0x19691950: 0x000000000000175a 0x000000000000175e 0x19691960: 0x0000000000001762 0x0000000000001766 0x19691970: 0x000000000000176a 0x000000000000176e 0x19691980: 0x0000000000001772 0x0000000000001776 0x19691990: 0x000000000000177a 0x000000000000177e 0x196919a0: 0x0000000000001782 0x0000000000001786 0x196919b0: 0xc000000021000081 0x0000070000000003 0x196919c0: 0x000000000000178a 0x000000000000178e 0x196919d0: 0x0000000000001792 0x0000000000001796 0x196919e0: 0x000000000000179a 0x000000000000179e 0x196919f0: 0x00000000000017a2 0x00000000000017a6 0x19691a00: 0x00000000000017aa 0x00000000000017ae 0x19691a10: 0x00000000000017b2 0x00000000000017b6 0x19691a20: 0x00000000000017ba 0x00000000000017be 0x19691a30: 0x00000000000017c2 0x00000000000017c6 0x19691a40: 0x00000000000017ca 0x00000000000017ce 0x19691a50: 0x00000000000017d2 0x00000000000017d6 0x19691a60: 0x00000000000017da 0x00000000000017de 0x19691a70: 0x00000000000017e2 0x00000000000017e6 0x19691a80: 0x00000000000017ea 0x00000000000017ee 0x19691a90: 0x00000000000017f2 0x00000000000017f6 0x19691aa0: 0x00000000000017fa 0x00000000000017fe 0x19691ab0: 0x0000000000001802 0x0000000000001806 0x19691ac0: 0x000000000000180a 0x000000000000180e 0x19691ad0: 0x0000000000001812 0x0000000000001816 0x19691ae0: 0x000000000000181a 0x000000000000181e 0x19691af0: 0x0000000000001822 0x0000000000001826 0x19691b00: 0x000000000000182a 0x000000000000182e 0x19691b10: 0x0000000000001832 0x0000000000001836 0x19691b20: 0x000000000000183a 0x000000000000183e 0x19691b30: 0x0000000000001842 0x0000000000001846 0x19691b40: 0x000000000000184a 0x000000000000184e 0x19691b50: 0x0000000000001852 0x0000000000001856 0x19691b60: 0x000000000000185a 0x000000000000185e 0x19691b70: 0x0000000000001862 0x0000000000001866 0x19691b80: 0x000000000000186a 0x000000000000186e 0x19691b90: 0x0000000000001872 0x0000000000001876 0x19691ba0: 0x000000000000187a 0x000000000000187e 0x19691bb0: 0x0000000000001882 0x0000000000001886 0x19691bc0: 0x000000000000188a 0x000000000000188e 0x19691bd0: 0x0000000000001892 0x0000000000001896 0x19691be0: 0x000000000000189a 0x000000000000189e 0x19691bf0: 0x00000000000018a2 0x00000000000018a6 0x19691c00: 0x00000000000018aa 0x00000000000018ae 0x19691c10: 0x00000000000018b2 0x00000000000018b6 0x19691c20: 0x00000000000018ba 0x00000000000018be 0x19691c30: 0x00000000000018c2 0x00000000000018c6 0x19691c40: 0x00000000000018ca 0x00000000000018ce 0x19691c50: 0x00000000000018d2 0x00000000000018d6 0x19691c60: 0x00000000000018da 0x00000000000018de 0x19691c70: 0x00000000000018e2 0x00000000000018e6 0x19691c80: 0x00000000000018ea 0x00000000000018ee 0x19691c90: 0x00000000000018f2 0x00000000000018f6 0x19691ca0: 0x00000000000018fa 0x00000000000018fe 0x19691cb0: 0x0000000000001902 0x0000000000001906 0x19691cc0: 0x000000000000190a 0x000000000000190e 0x19691cd0: 0x0000000000001912 0x0000000000001916 0x19691ce0: 0x000000000000191a 0x000000000000191e 0x19691cf0: 0x0000000000001922 0x0000000000001926 0x19691d00: 0x000000000000192a 0x000000000000192e 0x19691d10: 0x0000000000001932 0x0000000000001936 0x19691d20: 0x000000000000193a 0x000000000000193e 0x19691d30: 0x0000000000001942 0x0000000000001946 0x19691d40: 0x000000000000194a 0x000000000000194e 0x19691d50: 0x0000000000001952 0x0000000000001956 0x19691d60: 0x000000000000195a 0x000000000000195e 0x19691d70: 0x0000000000001962 0x0000000000001966 0x19691d80: 0x000000000000196a 0x000000000000196e 0x19691d90: 0x0000000000001972 0x0000000000001976 0x19691da0: 0x000000000000197a 0x000000000000197e 0x19691db0: 0x0000000000001982 0x0000000000001986 0x19691dc0: 0xc000000021000081 0x0000078000000003 0x19691dd0: 0x000000000000198a 0x000000000000198e 0x19691de0: 0x0000000000001992 0x0000000000001996 0x19691df0: 0x000000000000199a 0x000000000000199e 0x19691e00: 0x00000000000019a2 0x00000000000019a6 0x19691e10: 0x00000000000019aa 0x00000000000019ae 0x19691e20: 0x00000000000019b2 0x00000000000019b6 0x19691e30: 0x00000000000019ba 0x00000000000019be 0x19691e40: 0x00000000000019c2 0x00000000000019c6 0x19691e50: 0x00000000000019ca 0x00000000000019ce 0x19691e60: 0x00000000000019d2 0x00000000000019d6 0x19691e70: 0x00000000000019da 0x00000000000019de 0x19691e80: 0x00000000000019e2 0x00000000000019e6 0x19691e90: 0x00000000000019ea 0x00000000000019ee 0x19691ea0: 0x00000000000019f2 0x00000000000019f6 0x19691eb0: 0x00000000000019fa 0x00000000000019fe 0x19691ec0: 0x0000000000001a02 0x0000000000001a06 0x19691ed0: 0x0000000000001a0a 0x0000000000001a0e 0x19691ee0: 0x0000000000001a12 0x0000000000001a16 0x19691ef0: 0x0000000000001a1a 0x0000000000001a1e 0x19691f00: 0x0000000000001a22 0x0000000000001a26 0x19691f10: 0x0000000000001a2a 0x0000000000001a2e 0x19691f20: 0x0000000000001a32 0x0000000000001a36 0x19691f30: 0x0000000000001a3a 0x0000000000001a3e 0x19691f40: 0x0000000000001a42 0x0000000000001a46 0x19691f50: 0x0000000000001a4a 0x0000000000001a4e 0x19691f60: 0x0000000000001a52 0x0000000000001a56 0x19691f70: 0x0000000000001a5a 0x0000000000001a5e 0x19691f80: 0x0000000000001a62 0x0000000000001a66 0x19691f90: 0x0000000000001a6a 0x0000000000001a6e 0x19691fa0: 0x0000000000001a72 0x0000000000001a76 0x19691fb0: 0x0000000000001a7a 0x0000000000001a7e 0x19691fc0: 0x0000000000001a82 0x0000000000001a86 0x19691fd0: 0x0000000000001a8a 0x0000000000001a8e 0x19691fe0: 0x0000000000001a92 0x0000000000001a96 0x19691ff0: 0x0000000000001a9a 0x0000000000001a9e 0x19692000: 0x0000000000001aa2 0x0000000000001aa6 0x19692010: 0x0000000000001aaa 0x0000000000001aae 0x19692020: 0x0000000000001ab2 0x0000000000001ab6 0x19692030: 0x0000000000001aba 0x0000000000001abe 0x19692040: 0x0000000000001ac2 0x0000000000001ac6 0x19692050: 0x0000000000001aca 0x0000000000001ace 0x19692060: 0x0000000000001ad2 0x0000000000001ad6 0x19692070: 0x0000000000001ada 0x0000000000001ade 0x19692080: 0x0000000000001ae2 0x0000000000001ae6 0x19692090: 0x0000000000001aea 0x0000000000001aee 0x196920a0: 0x0000000000001af2 0x0000000000001af6 0x196920b0: 0x0000000000001afa 0x0000000000001afe 0x196920c0: 0x0000000000001b02 0x0000000000001b06 0x196920d0: 0x0000000000001b0a 0x0000000000001b0e 0x196920e0: 0x0000000000001b12 0x0000000000001b16 0x196920f0: 0x0000000000001b1a 0x0000000000001b1e 0x19692100: 0x0000000000001b22 0x0000000000001b26 0x19692110: 0x0000000000001b2a 0x0000000000001b2e 0x19692120: 0x0000000000001b32 0x0000000000001b36 0x19692130: 0x0000000000001b3a 0x0000000000001b3e 0x19692140: 0x0000000000001b42 0x0000000000001b46 0x19692150: 0x0000000000001b4a 0x0000000000001b4e 0x19692160: 0x0000000000001b52 0x0000000000001b56 0x19692170: 0x0000000000001b5a 0x0000000000001b5e 0x19692180: 0x0000000000001b62 0x0000000000001b66 0x19692190: 0x0000000000001b6a 0x0000000000001b6e 0x196921a0: 0x0000000000001b72 0x0000000000001b76 0x196921b0: 0x0000000000001b7a 0x0000000000001b7e 0x196921c0: 0x0000000000001b82 0x0000000000001b86 0x196921d0: 0x400000002300000d 0x0000000000000000 0x196921e0: 0x000000000544a480 0x00000000019e1500 0x196921f0: 0x0000000000000000 0x000000000000b640 0x19692200: 0x0000000000000000 0x0000000000019082 0x19692210: 0x0000000000019102 0x000000000000004e 0x19692220: 0x0000000000000000 0x0000000000000192 0x19692230: 0x0000000000000002 0x0000000000000000 0x19692240: 0x400000002300000d 0x0000000000000000 0x19692250: 0x000000000544a480 0x00000000019e1500 0x19692260: 0x0000000000000000 0x000000000000b640 0x19692270: 0x0000000000000000 0x0000000000019082 0x19692280: 0x0000000000019102 0x000000000000004e 0x19692290: 0x0000000000000000 0x0000000000000192 0x196922a0: 0x0000000000000002 0x0000000000000000 0x196922b0: 0xc00000001f000005 0x0000000000000406 0x196922c0: 0x000015554efc8fac 0x000000000ffdf6e1 0x196922d0: 0x0000000000000016 0x000015554efc8f74 0x196922e0: 0xc00000001200a000 0x00001555386f8c00 0x196922f0: 0x0000000000000000 0x0000000074e43510 0x19692300: 0x0000000000000000 0x0000000000000000 0x19692310: 0x000000000000000b 0x00000000556ee565 0x19692320: 0x000000007a4401e0 0x0000000000000000 0x19692330: 0x000000005d1f2243 0xc000000003005000 0x19692340: 0x00000000134314f0 0x0000000000000000 0x19692350: 0x000000001965e118 0x00000000000026ba 0x19692360: 0x00000000000026ba 0x8000000000000004 0x19692370: 0x0000000000000f26 0x0000000000000c4e 0x19692380: 0x0000000000000c02 0x0000000000000d16 0x19692390: 0xc000000003005000 0x000015554ef1fbb0 0x196923a0: 0x00000000012d6144 0x0000000019e14120 0x196923b0: 0x0000000000000094 0x0000000000000098 0x196923c0: 0x8000000000000001 0x00000000000018ea 0x196923d0: 0xc00000001a003007 0x000000001cfbfe44 0x196923e0: 0x000000001cf21683 0x000000001969242d 0x196923f0: 0x0000000019692475 0x00000000444a49c5 0x19692400: 0x000000001cfc4b65 0x000000001969c275 0x19692410: 0x000015552436e9e0 0x0000000000000000 0x19692420: 0x000000001cfc02a0 0xc00000000e008000 0x19692430: 0x000000001cfd6320 0x000000001cfd6190 0x19692440: 0x000000001cfd5b80 0x00000000006e9960 0x19692450: 0x000000001cfd59f0 0x0000001c0000001c 0x19692460: 0x0000400700000060 0x0000000000000000 0x19692470: 0xc00000000e008000 0x000000001cfd6cd0 0x19692480: 0x000000001cfd6b40 0x000000001cfd6530 0x19692490: 0x00000000006e98e0 0x000000001cfd4bd0 0x196924a0: 0x0000001c0000001c 0x0000400700000060 0x196924b0: 0x0000000000000000 0xc00000001f000005 0x196924c0: 0x0000000000000606 0x000000001cfc0004 0x196924d0: 0x0000000005d42ca5 0x000000000000000e 0x196924e0: 0x000000001cfbffe4 0x800000000000000e 0x196924f0: 0x000015554de5d450 0x000015554de5d4a0 0x19692500: 0x000015554df89888 0x000015554df91ec8 0x19692510: 0x000015554dfd0818 0x0000000000003e10 0x19692520: 0x000015554de35288 0x000015554de35258 0x19692530: 0x0000000000000006 0x0000000000003de0 0x19692540: 0x000000001968c50d 0x00000000196924bd 0x19692550: 0x0000000000000000 0x000015554de34540 0x19692560: 0xc00000001f000004 0x0000000000000002 0x19692570: 0x000000001e807624 0x00000000028d4475 0x19692580: 0x0000000000000006 0x8000000000000001 0x19692590: 0x000015554e3190c8 0x0000000019690590 This means that 0x15554efc8fac is most likely the string containing the > bytecode; could you please run > > p *(struct Lisp_String *)0x15554efc8fa8 > > to see whether this is true, and whether any data is still there? > > It would be interesting to know whether we were marking the string or > the bytecode object when the crash happened; please run > > p mark_stk > p mark_stk.stack[0] > p mark_stk.stack[1] > p mark_stk.stack[2] > > so we see how deep in the mark stack we were at the time. > (gdb) p *(struct Lisp_String *)0x15554efc8fa8 $9 = {u = {s = {size = 8, size_byte = -3, intervals = 0x0, data = 0x15554f6b661a "\300"...}, next = 0x8, gcaligned = 8 '\b'}} (gdb) p mark_stk $10 = {stack = 0x155539361010, size = 12288, sp = 1} (gdb) p mark_stk.stack[0] $11 = {n = 2, u = {value = 0x196922d0, values = 0x196922d0}} (gdb) p mark_stk.stack[1] $12 = {n = 0, u = {value = 0x6851e793, values = 0x6851e793}} (gdb) p mark_stk.stack[2] $13 = {n = 0, u = {value = 0x160c2d5, values = 0x160c2d5}}
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 30 May 2025 16:11:01 GMT) Full text and rfc822 format available.Message #56 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, Andrea Corallo <acorallo <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 30 May 2025 16:10:03 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > Thanks, Pip! Really appreciate you putting so much effort into this. See below for what you asked for. > Can you check whether eln files were created just before the crash? > Over here, the relevant command would be > > $ ls -Strl ~/.emacs.d/eln-cache/*/* > > and looking at the last few lines to see whether any files have the > creation date in the right range (after you started using eshell but > before the crash happened). > > Nothing in the directory ( /u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8 for me) that is on the same day of the crash. In fact, eshell isn't > there at all, which probably makes sense as I am using the built-in version, so it was already natively-compiled. Oh, okay. > So we first should inspect the memory around 0x196922b0 to find out > whether it looks like a valid vector block, and whether the bad word was > in this block or in the string object marked just before. I'd suggest > running > > x/32gx 0x196922b0 > > to look at the memory following the pointer, and > > x/32gx 0x19692200 > > to get some idea of whether it might be the middle of a vectorlike. > > (gdb) x/32gx 0x196922b0 > 0x196922b0: 0xc00000001f000005 0x0000000000000406 > 0x196922c0: 0x000015554efc8fac 0x000000000ffdf6e1 > 0x196922d0: 0x0000000000000016 0x000015554efc8f74 > 0x196922e0: 0xc00000001200a000 0x00001555386f8c00 That looks like a perfectly ordinary bytecode closure in a vector block, except for the mysterious word 0xffdf6e1 where the constant vector should be. Not only is that word not a Lisp object, it doesn't ring any bells at all - it's just below 256 MB if it's in bytes. I'm not sure whether your memory layout places anything there, and even if it did it would be a strangely unaligned address. Just in case, can you run: x/32gx 0xffdf600 p $rsp Have you customized anything to 256 MB, precisely or approximately? What are your values for gcmh-high-cons-threshold and gcmh-low-cons-threshold, assuming that was in use during the crash? Can you also try: p globals.f_gc_cons_threshold p globals.f_string_chars_consed p &globals.f_gc_cons_threshold The rest of the memory dump looks normal; the other bytecode closures in the block are fine. I must confess that it looks at this point like some random C code (we know it's not Lisp, at least) wrote a single word that doesn't ring any bells to a memory location that it may have owned at some point but which had been freed and reused for a vector block, or for a new vectorlike within the existing vector block. There's a native comp unit in the block, and a lambda_gc_guard_h table. Can you p (struct Lisp_String *)0x000000001cfbfe40 to find out which one it is? Thanks, in any case, even though I'm kind of stumped right now... Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 30 May 2025 16:16:02 GMT) Full text and rfc822 format available.Message #59 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Pip Cet <pipcet <at> protonmail.com> Cc: acorallo <at> gnu.org, georgepanagopo <at> gmail.com, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 30 May 2025 19:15:20 +0300
> Date: Fri, 30 May 2025 16:10:03 +0000 > From: Pip Cet <pipcet <at> protonmail.com> > Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org, Andrea Corallo <acorallo <at> gnu.org> > > "George P" <georgepanagopo <at> gmail.com> writes: > > > Thanks, Pip! Really appreciate you putting so much effort into this. See below for what you asked for. > > > Can you check whether eln files were created just before the crash? > > Over here, the relevant command would be > > > > $ ls -Strl ~/.emacs.d/eln-cache/*/* > > > > and looking at the last few lines to see whether any files have the > > creation date in the right range (after you started using eshell but > > before the crash happened). > > > > Nothing in the directory ( /u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8 for me) that is on the same day of the crash. In fact, eshell isn't > > there at all, which probably makes sense as I am using the built-in version, so it was already natively-compiled. > > Oh, okay. > > > So we first should inspect the memory around 0x196922b0 to find out > > whether it looks like a valid vector block, and whether the bad word was > > in this block or in the string object marked just before. I'd suggest > > running > > > > x/32gx 0x196922b0 > > > > to look at the memory following the pointer, and > > > > x/32gx 0x19692200 > > > > to get some idea of whether it might be the middle of a vectorlike. > > > > (gdb) x/32gx 0x196922b0 > > 0x196922b0: 0xc00000001f000005 0x0000000000000406 > > 0x196922c0: 0x000015554efc8fac 0x000000000ffdf6e1 > > 0x196922d0: 0x0000000000000016 0x000015554efc8f74 > > 0x196922e0: 0xc00000001200a000 0x00001555386f8c00 > > That looks like a perfectly ordinary bytecode closure in a vector block, > except for the mysterious word 0xffdf6e1 where the constant vector > should be. > > Not only is that word not a Lisp object, it doesn't ring any bells at > all - it's just below 256 MB if it's in bytes. I'm not sure whether > your memory layout places anything there, and even if it did it would be > a strangely unaligned address. Just in case, can you run: > > x/32gx 0xffdf600 > p $rsp > > Have you customized anything to 256 MB, precisely or approximately? > What are your values for gcmh-high-cons-threshold and > gcmh-low-cons-threshold, assuming that was in use during the crash? Can > you also try: > > p globals.f_gc_cons_threshold > p globals.f_string_chars_consed > p &globals.f_gc_cons_threshold > > The rest of the memory dump looks normal; the other bytecode closures in > the block are fine. I must confess that it looks at this point like > some random C code (we know it's not Lisp, at least) wrote a single word > that doesn't ring any bells to a memory location that it may have owned > at some point but which had been freed and reused for a vector block, or > for a new vectorlike within the existing vector block. > > There's a native comp unit in the block, and a lambda_gc_guard_h table. > Can you > > p (struct Lisp_String *)0x000000001cfbfe40 > > to find out which one it is? > > Thanks, in any case, even though I'm kind of stumped right now... Can this be due to a GCC optimization bug, whereby it truncates 64-bit values to 32 bits? Maybe George should try -fno-tree-sra?
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Fri, 30 May 2025 17:34:02 GMT) Full text and rfc822 format available.Message #62 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Pip Cet <pipcet <at> protonmail.com>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Fri, 30 May 2025 13:33:24 -0400
[Message part 1 (text/plain, inline)]
> Have you customized anything to 256 MB, precisely or approximately? > What are your values for gcmh-high-cons-threshold and > gcmh-low-cons-threshold, assuming that was in use during the crash? > Not that I could find, unfortunately. My gcmh-low-cons-threshold is at 800000 and gcmh-high-cons-threshold is at 134217728. Here is the gdb stuff: (gdb) x/32gx 0xffdf600 0xffdf600: 0x0000000000000000 0x000000000000b640 0xffdf610: 0x0000000000000000 0x0000000000019082 0xffdf620: 0x0000000000019102 0x000000000000004e 0xffdf630: 0x0000000000000000 0x0000000000000192 0xffdf640: 0x0000000000000002 0x0000000000000000 0xffdf650: 0x400000002300000d 0x0000000000000000 0xffdf660: 0x000000000544a480 0x00000000019e1500 0xffdf670: 0x0000000000000000 0x000000000000b640 0xffdf680: 0x0000000000000000 0x0000000000019082 0xffdf690: 0x0000000000019102 0x000000000000004e 0xffdf6a0: 0x0000000000000000 0x0000000000000192 0xffdf6b0: 0x0000000000000002 0x0000000000000000 0xffdf6c0: 0xc000000004002001 0x000000003b67f833 0xffdf6d0: 0x0000000024f854e0 0x000000001cff54f0 0xffdf6e0: 0x0000000000000002 0x00000000249d0eb3 0xffdf6f0: 0x0000000018e40e25 0x000000003a8fa9c0 (gdb) p $rsp $15 = (void *) 0x7fffffff5b10 (gdb) p globals.f_gc_cons_threshold $16 = 800000 (gdb) p globals.f_string_chars_consed $17 = 144457277695 (gdb) p &globals.f_gc_cons_threshold $18 = (intmax_t *) 0xcf4278 <globals+4056> (gdb) p (struct Lisp_String *)0x000000001cfbfe40 $19 = (struct Lisp_String *) 0x1cfbfe40
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sat, 31 May 2025 06:38:07 GMT) Full text and rfc822 format available.Message #65 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, Andrea Corallo <acorallo <at> gnu.org>, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sat, 31 May 2025 06:37:17 +0000
Pip Cet <pipcet <at> protonmail.com> writes: > "George P" <georgepanagopo <at> gmail.com> writes: >> (gdb) p *(char **)0x8f68108 >> $1 = 0x2018b608 "/nix/store/xdxaa55akicvs3jjrr8d7nmzla4gzbyl-emacs-30.1/lib/emacs/30.1/native-lisp/30.1-1ed0c1e8/cl-print-79bf9fb1-14d0e7d5.eln" >> (gdb) x/32gx 0x9e7980 > > Oops, I messed up there. I meant x/32gx 0x98e7980, though it's no > longer necessary (we know it's a native compilation unit because it > appears in the right slot in the subr below). Now we have the other bug, though, it would be interesting again. Maybe the same thing happened to a nativecomp constant vector here as happened to a bytecode closure's constant vector in the new crash. Do you still have the old core file, and can you run x/32gx 0x98e7980? Thanks Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sat, 31 May 2025 08:19:02 GMT) Full text and rfc822 format available.Message #68 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sat, 31 May 2025 08:18:38 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > Have you customized anything to 256 MB, precisely or approximately? > What are your values for gcmh-high-cons-threshold and > gcmh-low-cons-threshold, assuming that was in use during the crash? > > Not that I could find, unfortunately. My gcmh-low-cons-threshold is at 800000 and gcmh-high-cons-threshold is at 134217728. Thanks for checking! > (gdb) p (struct Lisp_String *)0x000000001cfbfe40 > $19 = (struct Lisp_String *) 0x1cfbfe40 Oh, sorry, "p *(struct Lisp_String *)0x000000001cfbfe40". I'm surprised 0xffdf6e1 is a valid pointer, and 0xffdf6e5 would be a Lisp_Object pointing to a two-element vector, which might be the lost constants vector. So maybe someone flipped a bit, or incorrectly treated the object as a fixnum and silently decremented it? Eli's idea of adding -fno-tree-sra to the build options for the next build is a good one. Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sat, 31 May 2025 15:34:04 GMT) Full text and rfc822 format available.Message #71 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sat, 31 May 2025 11:33:09 -0400
[Message part 1 (text/plain, inline)]
> > Eli's idea of adding -fno-tree-sra to the build options for the next > build is a good one. Yes, thanks to both for the suggestion! I will make a build with this option and see if the bug persists. Could it also be a dynamic module responsible? I am running at least a few of these (tree-sitter https://github.com/emacs-tree-sitter/elisp-tree-sitter, vterm https://github.com/akermu/emacs-libvterm and pdf-tools https://github.com/vedang/pdf-tools, maybe a few more). Here are the gdb things: > Now we have the other bug, though, it would be interesting again. Maybe > the same thing happened to a nativecomp constant vector here as happened > to a bytecode closure's constant vector in the new crash. Do you still > have the old core file, and can you run x/32gx 0x98e7980? > Yes, here it is: (gdb) x/32gx 0x98e7980 0x98e7980: 0xc00000001a003007 0x0000000008f680f4 0x98e7990: 0x000000001f647ac3 0x00000000098e79dd 0x98e79a0: 0x00000000098e7a25 0x0000000000000000 0x98e79b0: 0x00000000098e7d75 0x00000000098ee6cd 0x98e79c0: 0x00001555338a2ec0 0x0000000000000000 0x98e79d0: 0x000000001cbc0740 0xc00000000e008000 0x98e79e0: 0x0000000020e10970 0x0000000003aa20d0 0x98e79f0: 0x0000000003aa1ac0 0x00000000006e9960 0x98e7a00: 0x000000002265f480 0x0000001a0000001a 0x98e7a10: 0x0000400700000060 0x0000000000000000 0x98e7a20: 0x400000000e008000 0x000000001bfdbe90 0x98e7a30: 0x0000000020e10b80 0x000000001bfdb880 0x98e7a40: 0x00000000006e98e0 0x000000001fd792e0 0x98e7a50: 0x0000001a0000001a 0x0000400700000060 0x98e7a60: 0x0000000000000000 0x400000001f000005 0x98e7a70: 0x0000000000000606 0x0000000008ae5654 Oh, sorry, "p *(struct Lisp_String *)0x000000001cfbfe40". > (gdb) p *(struct Lisp_String *)0x000000001cfbfe40 $20 = {u = {s = {size = -9223372036854775719, size_byte = -1, intervals = 0x0, data = 0x18c4d720 "/u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8/lsp-erlang-9f1a9a34-b13245d7.eln"}, next = 0x8000000000000059, gcaligned = 89 'Y'}}
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sun, 15 Jun 2025 12:24:03 GMT) Full text and rfc822 format available.Message #74 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sun, 15 Jun 2025 08:22:54 -0400
[Message part 1 (text/plain, inline)]
Hi! I got another emacs crash, this time I was using 30.1 with both Pip's patch and the gcc flag -fno-tree-sra during compilation, although the crash is probably unrelated, as it is in redisplay instead of GC. The crash also coincided with my Windows computer (remember I am using Cygwin/X to ssh to a linux machine to open up an emacsclient) being forcefully restarted with a frame open. Unfortunately, I have no way of knowing with certainty that the crash happened during my Windows restart, as both took place overnight. I have included the backtrace below, it seems that displayed_buffer is not a valid address. Thread 1 "emacs" received signal SIGSEGV, Segmentation fault. 0x000000000047df16 in redisplay_window_1 (window=window <at> entry=0x1d17b245) at xdisp.c:18029 warning: 18029 xdisp.c: No such file or directory (gdb) bt full #0 0x000000000047df16 in redisplay_window_1 (window=window <at> entry=0x1d17b245) at xdisp.c:18029 No locals. #1 0x00000000005a7ea9 in internal_condition_case_1 (bfun=bfun <at> entry=0x47df0f <redisplay_window_1>, arg=0x1d17b245, handlers=<optimized out>, hfun=hfun <at> entry=0x43ee0b <redisplay_window_error>) at eval.c:1637 val = <optimized out> c = 0xe0fda0 #2 0x000000000046cfe8 in redisplay_internal () at xdisp.c:17526 mini_window = <optimized out> mini_window = <optimized out> mini_frame = <optimized out> w = 0x257ca838 sw = <optimized out> fr = <optimized out> pending = false must_finish = <optimized out> match_p = <optimized out> tlbufpos = {charpos = 8573, bytepos = 330795424} tlendpos = <optimized out> number_of_visible_frames = 4 sf = 0x191ebd60 polling_stopped_here = <optimized out> tail = <optimized out> frame = <optimized out> MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES hscroll_retries = <optimized out> MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES garbaged_frame_retries = <optimized out> consider_all_windows_p = <optimized out> update_miniwindow_p = <optimized out> count = <optimized out> retry_frame = <optimized out> #3 0x000000000046d411 in redisplay_preserve_echo_area (from_where=from_where <at> entry=8) at xdisp.c:17749 count = <optimized out> #4 0x000000000053610a in detect_input_pending_run_timers (do_display=do_display <at> entry=true) at keyboard.c:11576 old_timers_run = 7077069 #5 0x00000000005f8c73 in wait_reading_process_output (time_limit=time_limit <at> entry=0, nsecs=nsecs <at> entry=0, read_kbd=read_kbd <at> entry=-1, do_display=do_display <at> entry=true, wait_for_cell=wait_for_cell <at> entry=0x0, wait_proc=wait_proc <at> entry=0x0, just_wait_proc=0) at process.c:5844 leave = false process_skipped = false wrapped = <optimized out> channel_start = <optimized out> child_fd = <optimized out> last_read_channel = 57 channel = <optimized out> nfds = 0 Available = {fds_bits = {7157535148594949416, 13839864582178052, 9007199254740992, 0 <repeats 13 times>}} Writeok = {fds_bits = {0 <repeats 16 times>}} check_write = <optimized out> check_delay = <optimized out> no_avail = false xerrno = 11 proc = <optimized out> timeout = {tv_sec = 0, tv_nsec = 6772189} end_time = <optimized out> timer_delay = <optimized out> --Type <RET> for more, q to quit, c to continue without paging--c got_output_end_time = <optimized out> MINIMUM = MINIMUM TIMEOUT = TIMEOUT FOREVER = FOREVER wait = FOREVER got_some_output = -1 prev_wait_proc_nbytes_read = 0 retry_for_async = <optimized out> count = <optimized out> now = <optimized out> #6 0x00000000005366d9 in kbd_buffer_get_event (kbp=kbp <at> entry=0x7fffffffdb08, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb, end_time=end_time <at> entry=0x0) at keyboard.c:4094 do_display = true obj = <optimized out> str = <optimized out> had_pending_selection_requests = false had_pending_conversion_events = false #7 0x00000000005370d4 in read_event_from_main_queue (end_time=end_time <at> entry=0x0, local_getcjmp=local_getcjmp <at> entry=0x7fffffffde30, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb) at keyboard.c:2330 c = 0x0 save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} kb = 0x6df4b30 count = <optimized out> #8 0x000000000053724a in read_decoded_event_from_main_queue (end_time=end_time <at> entry=0x0, local_getcjmp=local_getcjmp <at> entry=0x7fffffffde30, prev_event=prev_event <at> entry=0x0, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb) at keyboard.c:2393 nextevt = <optimized out> frame = <optimized out> terminal = <optimized out> events = {0x0, 0xffffffffffffffff, 0x0, 0x330b335, 0x0, 0x684dda38, 0x2f4ee1e9, 0x0, 0x684dda38, 0x307e0271, 0x3c, 0x0, 0x11fd0, 0x330b335, 0xc8ef563, 0xf4bec416f5a4e600} n = 0 #9 0x0000000000538668 in read_char (commandflag=1, map=map <at> entry=0x1645e493, prev_event=0x0, used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb, end_time=end_time <at> entry=0x0) at keyboard.c:3015 c = 0x0 local_getcjmp = {{__jmpbuf = {0, 6459013156217622215, 0, 140737488346880, 0, 13113857, -6459042925873656121, 6459043636991954631}, __mask_was_saved = 0, __saved_mask = {__val = {2, 0, 5991556, 67072736, 111988528, 109922016, 5863938, 0, 67072736, 98399184, 5864240, 109922032, 5510427, 0, 4625762720, 0}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = true orig_kboard = 0x6df4b30 jmpcount = <optimized out> #10 0x0000000000539789 in read_key_sequence (keybuf=keybuf <at> entry=0x7fffffffe1e0, prompt=prompt <at> entry=0x0, dont_downcase_last=dont_downcase_last <at> entry=false, can_return_switch_frame=can_return_switch_frame <at> entry=true, fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=prevent_redisplay <at> entry=false, disable_text_conversion_p=false) at keyboard.c:10743 interrupted_kboard = 0x6df4b30 interrupted_frame = 0x191ebd60 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> count = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 0x1645e493 first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = {parent = 0x189f853, map = 0x189f853, start = 0, end = 0} keytran = {parent = 0x15554f4f941b, map = 0x15554f4f941b, start = 0, end = 0} indec = {parent = 0x189f863, map = 0x189f863, start = 0, end = 0} shift_translated = false delayed_switch_frame = 0x0 original_uppercase = 0x0 original_uppercase_position = -1 disabled_conversion = false starting_buffer = 0x13b789a0 fake_prefixed_keys = 0x0 first_event = 0x0 second_event = <optimized out> #11 0x000000000053ac06 in command_loop_1 () at keyboard.c:1429 cmd = <optimized out> keybuf = {0x11ac0, 0x15f855d3, 0x133e0, 0x5982d3 <set_default_internal+530>, 0x7fffffffe260, 0x2, 0x30, 0x1785bba5, 0x0, 0x5a770f <do_one_unbind+319>, 0x1804610, 0x60, 0x0, 0x0, 0x0, 0x5a8d59 <unbind_to+105>, 0xb, 0x111c0, 0x30, 0x1785bba5, 0x7bc0, 0xf4bec416f5a4e600, 0xcf32a0 <globals>, 0x1566b533, 0x60, 0x52f4c6 <cmd_error+363>, 0x0, 0xf4bec416f5a4e600, 0x60, 0x15554edf4d83} i = <optimized out> last_pt = <optimized out> prev_modiff = 396499 prev_buffer = 0x13b789a0 #12 0x00000000005a7e25 in internal_condition_case (bfun=bfun <at> entry=0x53a9ce <command_loop_1>, handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x52f35b <cmd_error>) at eval.c:1613 val = <optimized out> c = 0xe0fc60 #13 0x00000000005292ae in command_loop_2 (handlers=handlers <at> entry=0x90) at keyboard.c:1168 val = <optimized out> #14 0x00000000005a7d42 in internal_catch (tag=tag <at> entry=0x122d0, func=func <at> entry=0x529294 <command_loop_2>, arg=arg <at> entry=0x90) at eval.c:1292 val = <optimized out> c = 0xea0f40 #15 0x000000000052926b in command_loop () at keyboard.c:1146 No locals. #16 0x000000000052eec4 in recursive_edit_1 () at keyboard.c:754 count = <optimized out> val = <optimized out> #17 0x000000000052f25c in Frecursive_edit () at keyboard.c:837 count = <optimized out> buffer = <optimized out> #18 0x0000000000528660 in main (argc=<optimized out>, argv=0x7fffffffe5a8) at emacs.c:2635 stack_bottom_variable = 0x155553f84458 <_gnutls_lib_state> old_argc = <optimized out> dump_file = 0x0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 dump_mode = <optimized out> skip_args = 1 temacs = 0x0 attempt_load_pdump = <optimized out> only_version = false rlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615} lc_all = <optimized out> sockfd = -1 module_assertions = <optimized out> (gdb) p displayed_buffer $1 = (struct buffer *) 0xfffffffffffffffb On Sat, May 31, 2025 at 11:33 AM George P <georgepanagopo <at> gmail.com> wrote: > Eli's idea of adding -fno-tree-sra to the build options for the next >> build is a good one. > > > Yes, thanks to both for the suggestion! I will make a build with this > option and see if the bug persists. > > Could it also be a dynamic module responsible? I am running at least a few > of these (tree-sitter > https://github.com/emacs-tree-sitter/elisp-tree-sitter, vterm > https://github.com/akermu/emacs-libvterm and pdf-tools > https://github.com/vedang/pdf-tools, maybe a few more). > > Here are the gdb things: > > >> Now we have the other bug, though, it would be interesting again. Maybe >> the same thing happened to a nativecomp constant vector here as happened >> to a bytecode closure's constant vector in the new crash. Do you still >> have the old core file, and can you run x/32gx 0x98e7980? >> > > Yes, here it is: > > (gdb) x/32gx 0x98e7980 > 0x98e7980: 0xc00000001a003007 0x0000000008f680f4 > 0x98e7990: 0x000000001f647ac3 0x00000000098e79dd > 0x98e79a0: 0x00000000098e7a25 0x0000000000000000 > 0x98e79b0: 0x00000000098e7d75 0x00000000098ee6cd > 0x98e79c0: 0x00001555338a2ec0 0x0000000000000000 > 0x98e79d0: 0x000000001cbc0740 0xc00000000e008000 > 0x98e79e0: 0x0000000020e10970 0x0000000003aa20d0 > 0x98e79f0: 0x0000000003aa1ac0 0x00000000006e9960 > 0x98e7a00: 0x000000002265f480 0x0000001a0000001a > 0x98e7a10: 0x0000400700000060 0x0000000000000000 > 0x98e7a20: 0x400000000e008000 0x000000001bfdbe90 > 0x98e7a30: 0x0000000020e10b80 0x000000001bfdb880 > 0x98e7a40: 0x00000000006e98e0 0x000000001fd792e0 > 0x98e7a50: 0x0000001a0000001a 0x0000400700000060 > 0x98e7a60: 0x0000000000000000 0x400000001f000005 > 0x98e7a70: 0x0000000000000606 0x0000000008ae5654 > > Oh, sorry, "p *(struct Lisp_String *)0x000000001cfbfe40". >> > > (gdb) p *(struct Lisp_String *)0x000000001cfbfe40 > $20 = {u = {s = {size = -9223372036854775719, size_byte = -1, intervals = > 0x0, data = 0x18c4d720 > "/u/panagopo/.config/emacs/.local/cache/eln/30.1-1ed0c1e8/lsp-erlang-9f1a9a34-b13245d7.eln"}, > next = 0x8000000000000059, > gcaligned = 89 'Y'}} > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sun, 15 Jun 2025 13:09:02 GMT) Full text and rfc822 format available.Message #77 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: George P <georgepanagopo <at> gmail.com> Cc: pipcet <at> protonmail.com, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sun, 15 Jun 2025 16:07:57 +0300
> From: George P <georgepanagopo <at> gmail.com> > Date: Sun, 15 Jun 2025 08:22:54 -0400 > Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org, acorallo <at> gnu.org > > I got another emacs crash, this time I was using 30.1 with both Pip's patch and the gcc flag -fno-tree-sra > during compilation, although the crash is probably unrelated, as it is in redisplay instead of GC. The crash > also coincided with my Windows computer (remember I am using Cygwin/X to ssh to a linux machine to open > up an emacsclient) being forcefully restarted with a frame open. Unfortunately, I have no way of knowing with > certainty that the crash happened during my Windows restart, as both took place overnight. > > I have included the backtrace below, it seems that displayed_buffer is not a valid address. > > Thread 1 "emacs" received signal SIGSEGV, Segmentation fault. > 0x000000000047df16 in redisplay_window_1 (window=window <at> entry=0x1d17b245) > at xdisp.c:18029 > warning: 18029 xdisp.c: No such file or directory > (gdb) bt full > #0 0x000000000047df16 in redisplay_window_1 (window=window <at> entry=0x1d17b245) at xdisp.c:18029 > No locals. > #1 0x00000000005a7ea9 in internal_condition_case_1 (bfun=bfun <at> entry=0x47df0f > <redisplay_window_1>, arg=0x1d17b245, handlers=<optimized out>, hfun=hfun <at> entry=0x43ee0b > <redisplay_window_error>) at eval.c:1637 > val = <optimized out> > c = 0xe0fda0 > #2 0x000000000046cfe8 in redisplay_internal () at xdisp.c:17526 > mini_window = <optimized out> > mini_window = <optimized out> > mini_frame = <optimized out> > w = 0x257ca838 > sw = <optimized out> > fr = <optimized out> > pending = false > must_finish = <optimized out> > match_p = <optimized out> > tlbufpos = {charpos = 8573, bytepos = 330795424} > tlendpos = <optimized out> > number_of_visible_frames = 4 > sf = 0x191ebd60 > polling_stopped_here = <optimized out> > tail = <optimized out> > frame = <optimized out> > MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES > hscroll_retries = <optimized out> > MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES > garbaged_frame_retries = <optimized out> > consider_all_windows_p = <optimized out> > update_miniwindow_p = <optimized out> > count = <optimized out> > retry_frame = <optimized out> > #3 0x000000000046d411 in redisplay_preserve_echo_area (from_where=from_where <at> entry=8) at > xdisp.c:17749 > count = <optimized out> > #4 0x000000000053610a in detect_input_pending_run_timers (do_display=do_display <at> entry=true) at > keyboard.c:11576 > old_timers_run = 7077069 > #5 0x00000000005f8c73 in wait_reading_process_output (time_limit=time_limit <at> entry=0, > nsecs=nsecs <at> entry=0, read_kbd=read_kbd <at> entry=-1, do_display=do_display <at> entry=true, > wait_for_cell=wait_for_cell <at> entry=0x0, wait_proc=wait_proc <at> entry=0x0, just_wait_proc=0) at > process.c:5844 > leave = false > process_skipped = false > wrapped = <optimized out> > channel_start = <optimized out> > child_fd = <optimized out> > last_read_channel = 57 > channel = <optimized out> > nfds = 0 > Available = {fds_bits = {7157535148594949416, 13839864582178052, 9007199254740992, 0 > <repeats 13 times>}} > Writeok = {fds_bits = {0 <repeats 16 times>}} > check_write = <optimized out> > check_delay = <optimized out> > no_avail = false > xerrno = 11 > proc = <optimized out> > timeout = {tv_sec = 0, tv_nsec = 6772189} > end_time = <optimized out> > timer_delay = <optimized out> > --Type <RET> for more, q to quit, c to continue without paging--c > got_output_end_time = <optimized out> > MINIMUM = MINIMUM > TIMEOUT = TIMEOUT > FOREVER = FOREVER > wait = FOREVER > got_some_output = -1 > prev_wait_proc_nbytes_read = 0 > retry_for_async = <optimized out> > count = <optimized out> > now = <optimized out> > #6 0x00000000005366d9 in kbd_buffer_get_event (kbp=kbp <at> entry=0x7fffffffdb08, > used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb, end_time=end_time <at> entry=0x0) at > keyboard.c:4094 > do_display = true > obj = <optimized out> > str = <optimized out> > had_pending_selection_requests = false > had_pending_conversion_events = false > #7 0x00000000005370d4 in read_event_from_main_queue (end_time=end_time <at> entry=0x0, > local_getcjmp=local_getcjmp <at> entry=0x7fffffffde30, > used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb) at keyboard.c:2330 > c = 0x0 > save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 > <repeats 16 times>}}}} > kb = 0x6df4b30 > count = <optimized out> > #8 0x000000000053724a in read_decoded_event_from_main_queue (end_time=end_time <at> entry=0x0, > local_getcjmp=local_getcjmp <at> entry=0x7fffffffde30, prev_event=prev_event <at> entry=0x0, > used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb) at keyboard.c:2393 > nextevt = <optimized out> > frame = <optimized out> > terminal = <optimized out> > events = {0x0, 0xffffffffffffffff, 0x0, 0x330b335, 0x0, 0x684dda38, 0x2f4ee1e9, 0x0, 0x684dda38, > 0x307e0271, 0x3c, 0x0, 0x11fd0, 0x330b335, 0xc8ef563, 0xf4bec416f5a4e600} > n = 0 > #9 0x0000000000538668 in read_char (commandflag=1, map=map <at> entry=0x1645e493, prev_event=0x0, > used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb, end_time=end_time <at> entry=0x0) at > keyboard.c:3015 > c = 0x0 > local_getcjmp = {{__jmpbuf = {0, 6459013156217622215, 0, 140737488346880, 0, 13113857, - > 6459042925873656121, 6459043636991954631}, __mask_was_saved = 0, __saved_mask = {__val = {2, > 0, 5991556, 67072736, 111988528, 109922016, 5863938, 0, 67072736, 98399184, 5864240, 109922032, > 5510427, 0, 4625762720, 0}}}} > save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 > <repeats 16 times>}}}} > tem = <optimized out> > save = <optimized out> > previous_echo_area_message = 0x0 > also_record = 0x0 > reread = false > recorded = false > polling_stopped_here = true > orig_kboard = 0x6df4b30 > jmpcount = <optimized out> > #10 0x0000000000539789 in read_key_sequence (keybuf=keybuf <at> entry=0x7fffffffe1e0, > prompt=prompt <at> entry=0x0, dont_downcase_last=dont_downcase_last <at> entry=false, > can_return_switch_frame=can_return_switch_frame <at> entry=true, > fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=prevent_redisplay <at> entry=false, > disable_text_conversion_p=false) at keyboard.c:10743 > interrupted_kboard = 0x6df4b30 > interrupted_frame = 0x191ebd60 > key = <optimized out> > used_mouse_menu = false > echo_local_start = 0 > last_real_key_start = 0 > keys_local_start = 0 > new_binding = <optimized out> > count = <optimized out> > t = 0 > echo_start = 0 > keys_start = 0 > current_binding = 0x1645e493 > first_unbound = 31 > mock_input = 0 > used_mouse_menu_history = {false <repeats 30 times>} > fkey = {parent = 0x189f853, map = 0x189f853, start = 0, end = 0} > keytran = {parent = 0x15554f4f941b, map = 0x15554f4f941b, start = 0, end = 0} > indec = {parent = 0x189f863, map = 0x189f863, start = 0, end = 0} > shift_translated = false > delayed_switch_frame = 0x0 > original_uppercase = 0x0 > original_uppercase_position = -1 > disabled_conversion = false > starting_buffer = 0x13b789a0 > fake_prefixed_keys = 0x0 > first_event = 0x0 > second_event = <optimized out> > #11 0x000000000053ac06 in command_loop_1 () at keyboard.c:1429 > cmd = <optimized out> > keybuf = {0x11ac0, 0x15f855d3, 0x133e0, 0x5982d3 <set_default_internal+530>, 0x7fffffffe260, 0x2, > 0x30, 0x1785bba5, 0x0, 0x5a770f <do_one_unbind+319>, 0x1804610, 0x60, 0x0, 0x0, 0x0, 0x5a8d59 > <unbind_to+105>, 0xb, 0x111c0, 0x30, 0x1785bba5, 0x7bc0, 0xf4bec416f5a4e600, 0xcf32a0 <globals>, > 0x1566b533, 0x60, > 0x52f4c6 <cmd_error+363>, 0x0, 0xf4bec416f5a4e600, 0x60, 0x15554edf4d83} > i = <optimized out> > last_pt = <optimized out> > prev_modiff = 396499 > prev_buffer = 0x13b789a0 > #12 0x00000000005a7e25 in internal_condition_case (bfun=bfun <at> entry=0x53a9ce <command_loop_1>, > handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x52f35b <cmd_error>) at eval.c:1613 > val = <optimized out> > c = 0xe0fc60 > #13 0x00000000005292ae in command_loop_2 (handlers=handlers <at> entry=0x90) at keyboard.c:1168 > val = <optimized out> > #14 0x00000000005a7d42 in internal_catch (tag=tag <at> entry=0x122d0, func=func <at> entry=0x529294 > <command_loop_2>, arg=arg <at> entry=0x90) at eval.c:1292 > val = <optimized out> > c = 0xea0f40 > #15 0x000000000052926b in command_loop () at keyboard.c:1146 > No locals. > #16 0x000000000052eec4 in recursive_edit_1 () at keyboard.c:754 > count = <optimized out> > val = <optimized out> > #17 0x000000000052f25c in Frecursive_edit () at keyboard.c:837 > count = <optimized out> > buffer = <optimized out> > #18 0x0000000000528660 in main (argc=<optimized out>, argv=0x7fffffffe5a8) at emacs.c:2635 > stack_bottom_variable = 0x155553f84458 <_gnutls_lib_state> > old_argc = <optimized out> > dump_file = 0x0 > no_loadup = false > junk = 0x0 > dname_arg = 0x0 > ch_to_dir = 0x0 > original_pwd = 0x0 > dump_mode = <optimized out> > skip_args = 1 > temacs = 0x0 > attempt_load_pdump = <optimized out> > only_version = false > rlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615} > lc_all = <optimized out> > sockfd = -1 > module_assertions = <optimized out> > (gdb) p displayed_buffer > $1 = (struct buffer *) 0xfffffffffffffffb This value is garbled, I guess? What does this show: (gdb) p *displayed_buffer If it says "cannot access", I have no idea how this garbage could have ended up there.
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sun, 15 Jun 2025 13:13:04 GMT) Full text and rfc822 format available.Message #80 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: pipcet <at> protonmail.com, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sun, 15 Jun 2025 09:12:08 -0400
[Message part 1 (text/plain, inline)]
Yes, that is precisely what it says.... (gdb) p displayed_buffer $1 = (struct buffer *) 0xfffffffffffffffb (gdb) p *displayed_buffer Cannot access memory at address 0xfffffffffffffffb On Sun, Jun 15, 2025, 09:08 Eli Zaretskii <eliz <at> gnu.org> wrote: > > From: George P <georgepanagopo <at> gmail.com> > > Date: Sun, 15 Jun 2025 08:22:54 -0400 > > Cc: Eli Zaretskii <eliz <at> gnu.org>, 78444 <at> debbugs.gnu.org, > acorallo <at> gnu.org > > > > I got another emacs crash, this time I was using 30.1 with both Pip's > patch and the gcc flag -fno-tree-sra > > during compilation, although the crash is probably unrelated, as it is > in redisplay instead of GC. The crash > > also coincided with my Windows computer (remember I am using Cygwin/X to > ssh to a linux machine to open > > up an emacsclient) being forcefully restarted with a frame open. > Unfortunately, I have no way of knowing with > > certainty that the crash happened during my Windows restart, as both > took place overnight. > > > > I have included the backtrace below, it seems that displayed_buffer is > not a valid address. > > > > Thread 1 "emacs" received signal SIGSEGV, Segmentation fault. > > 0x000000000047df16 in redisplay_window_1 (window=window <at> entry > =0x1d17b245) > > at xdisp.c:18029 > > warning: 18029 xdisp.c: No such file or directory > > (gdb) bt full > > #0 0x000000000047df16 in redisplay_window_1 (window=window <at> entry=0x1d17b245) > at xdisp.c:18029 > > No locals. > > #1 0x00000000005a7ea9 in internal_condition_case_1 (bfun=bfun <at> entry > =0x47df0f > > <redisplay_window_1>, arg=0x1d17b245, handlers=<optimized out>, > hfun=hfun <at> entry=0x43ee0b > > <redisplay_window_error>) at eval.c:1637 > > val = <optimized out> > > c = 0xe0fda0 > > #2 0x000000000046cfe8 in redisplay_internal () at xdisp.c:17526 > > mini_window = <optimized out> > > mini_window = <optimized out> > > mini_frame = <optimized out> > > w = 0x257ca838 > > sw = <optimized out> > > fr = <optimized out> > > pending = false > > must_finish = <optimized out> > > match_p = <optimized out> > > tlbufpos = {charpos = 8573, bytepos = 330795424} > > tlendpos = <optimized out> > > number_of_visible_frames = 4 > > sf = 0x191ebd60 > > polling_stopped_here = <optimized out> > > tail = <optimized out> > > frame = <optimized out> > > MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES > > hscroll_retries = <optimized out> > > MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES > > garbaged_frame_retries = <optimized out> > > consider_all_windows_p = <optimized out> > > update_miniwindow_p = <optimized out> > > count = <optimized out> > > retry_frame = <optimized out> > > #3 0x000000000046d411 in redisplay_preserve_echo_area > (from_where=from_where <at> entry=8) at > > xdisp.c:17749 > > count = <optimized out> > > #4 0x000000000053610a in detect_input_pending_run_timers > (do_display=do_display <at> entry=true) at > > keyboard.c:11576 > > old_timers_run = 7077069 > > #5 0x00000000005f8c73 in wait_reading_process_output > (time_limit=time_limit <at> entry=0, > > nsecs=nsecs <at> entry=0, read_kbd=read_kbd <at> entry=-1, > do_display=do_display <at> entry=true, > > wait_for_cell=wait_for_cell <at> entry=0x0, wait_proc=wait_proc <at> entry=0x0, > just_wait_proc=0) at > > process.c:5844 > > leave = false > > process_skipped = false > > wrapped = <optimized out> > > channel_start = <optimized out> > > child_fd = <optimized out> > > last_read_channel = 57 > > channel = <optimized out> > > nfds = 0 > > Available = {fds_bits = {7157535148594949416, 13839864582178052, > 9007199254740992, 0 > > <repeats 13 times>}} > > Writeok = {fds_bits = {0 <repeats 16 times>}} > > check_write = <optimized out> > > check_delay = <optimized out> > > no_avail = false > > xerrno = 11 > > proc = <optimized out> > > timeout = {tv_sec = 0, tv_nsec = 6772189} > > end_time = <optimized out> > > timer_delay = <optimized out> > > --Type <RET> for more, q to quit, c to continue without paging--c > > got_output_end_time = <optimized out> > > MINIMUM = MINIMUM > > TIMEOUT = TIMEOUT > > FOREVER = FOREVER > > wait = FOREVER > > got_some_output = -1 > > prev_wait_proc_nbytes_read = 0 > > retry_for_async = <optimized out> > > count = <optimized out> > > now = <optimized out> > > #6 0x00000000005366d9 in kbd_buffer_get_event (kbp=kbp <at> entry > =0x7fffffffdb08, > > used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb, > end_time=end_time <at> entry=0x0) at > > keyboard.c:4094 > > do_display = true > > obj = <optimized out> > > str = <optimized out> > > had_pending_selection_requests = false > > had_pending_conversion_events = false > > #7 0x00000000005370d4 in read_event_from_main_queue > (end_time=end_time <at> entry=0x0, > > local_getcjmp=local_getcjmp <at> entry=0x7fffffffde30, > > used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb) at keyboard.c:2330 > > c = 0x0 > > save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, > __mask_was_saved = 0, __saved_mask = {__val = {0 > > <repeats 16 times>}}}} > > kb = 0x6df4b30 > > count = <optimized out> > > #8 0x000000000053724a in read_decoded_event_from_main_queue > (end_time=end_time <at> entry=0x0, > > local_getcjmp=local_getcjmp <at> entry=0x7fffffffde30, > prev_event=prev_event <at> entry=0x0, > > used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb) at keyboard.c:2393 > > nextevt = <optimized out> > > frame = <optimized out> > > terminal = <optimized out> > > events = {0x0, 0xffffffffffffffff, 0x0, 0x330b335, 0x0, > 0x684dda38, 0x2f4ee1e9, 0x0, 0x684dda38, > > 0x307e0271, 0x3c, 0x0, 0x11fd0, 0x330b335, 0xc8ef563, 0xf4bec416f5a4e600} > > n = 0 > > #9 0x0000000000538668 in read_char (commandflag=1, map=map <at> entry=0x1645e493, > prev_event=0x0, > > used_mouse_menu=used_mouse_menu <at> entry=0x7fffffffe0bb, > end_time=end_time <at> entry=0x0) at > > keyboard.c:3015 > > c = 0x0 > > local_getcjmp = {{__jmpbuf = {0, 6459013156217622215, 0, > 140737488346880, 0, 13113857, - > > 6459042925873656121, 6459043636991954631}, __mask_was_saved = 0, > __saved_mask = {__val = {2, > > 0, 5991556, 67072736, 111988528, 109922016, 5863938, 0, 67072736, > 98399184, 5864240, 109922032, > > 5510427, 0, 4625762720, 0}}}} > > save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, > __mask_was_saved = 0, __saved_mask = {__val = {0 > > <repeats 16 times>}}}} > > tem = <optimized out> > > save = <optimized out> > > previous_echo_area_message = 0x0 > > also_record = 0x0 > > reread = false > > recorded = false > > polling_stopped_here = true > > orig_kboard = 0x6df4b30 > > jmpcount = <optimized out> > > #10 0x0000000000539789 in read_key_sequence (keybuf=keybuf <at> entry > =0x7fffffffe1e0, > > prompt=prompt <at> entry=0x0, dont_downcase_last=dont_downcase_last <at> entry > =false, > > can_return_switch_frame=can_return_switch_frame <at> entry=true, > > fix_current_buffer=fix_current_buffer <at> entry=true, > prevent_redisplay=prevent_redisplay <at> entry=false, > > disable_text_conversion_p=false) at keyboard.c:10743 > > interrupted_kboard = 0x6df4b30 > > interrupted_frame = 0x191ebd60 > > key = <optimized out> > > used_mouse_menu = false > > echo_local_start = 0 > > last_real_key_start = 0 > > keys_local_start = 0 > > new_binding = <optimized out> > > count = <optimized out> > > t = 0 > > echo_start = 0 > > keys_start = 0 > > current_binding = 0x1645e493 > > first_unbound = 31 > > mock_input = 0 > > used_mouse_menu_history = {false <repeats 30 times>} > > fkey = {parent = 0x189f853, map = 0x189f853, start = 0, end = 0} > > keytran = {parent = 0x15554f4f941b, map = 0x15554f4f941b, start > = 0, end = 0} > > indec = {parent = 0x189f863, map = 0x189f863, start = 0, end = 0} > > shift_translated = false > > delayed_switch_frame = 0x0 > > original_uppercase = 0x0 > > original_uppercase_position = -1 > > disabled_conversion = false > > starting_buffer = 0x13b789a0 > > fake_prefixed_keys = 0x0 > > first_event = 0x0 > > second_event = <optimized out> > > #11 0x000000000053ac06 in command_loop_1 () at keyboard.c:1429 > > cmd = <optimized out> > > keybuf = {0x11ac0, 0x15f855d3, 0x133e0, 0x5982d3 > <set_default_internal+530>, 0x7fffffffe260, 0x2, > > 0x30, 0x1785bba5, 0x0, 0x5a770f <do_one_unbind+319>, 0x1804610, 0x60, > 0x0, 0x0, 0x0, 0x5a8d59 > > <unbind_to+105>, 0xb, 0x111c0, 0x30, 0x1785bba5, 0x7bc0, > 0xf4bec416f5a4e600, 0xcf32a0 <globals>, > > 0x1566b533, 0x60, > > 0x52f4c6 <cmd_error+363>, 0x0, 0xf4bec416f5a4e600, 0x60, > 0x15554edf4d83} > > i = <optimized out> > > last_pt = <optimized out> > > prev_modiff = 396499 > > prev_buffer = 0x13b789a0 > > #12 0x00000000005a7e25 in internal_condition_case (bfun=bfun <at> entry=0x53a9ce > <command_loop_1>, > > handlers=handlers <at> entry=0x90, hfun=hfun <at> entry=0x52f35b <cmd_error>) at > eval.c:1613 > > val = <optimized out> > > c = 0xe0fc60 > > #13 0x00000000005292ae in command_loop_2 (handlers=handlers <at> entry=0x90) > at keyboard.c:1168 > > val = <optimized out> > > #14 0x00000000005a7d42 in internal_catch (tag=tag <at> entry=0x122d0, > func=func <at> entry=0x529294 > > <command_loop_2>, arg=arg <at> entry=0x90) at eval.c:1292 > > val = <optimized out> > > c = 0xea0f40 > > #15 0x000000000052926b in command_loop () at keyboard.c:1146 > > No locals. > > #16 0x000000000052eec4 in recursive_edit_1 () at keyboard.c:754 > > count = <optimized out> > > val = <optimized out> > > #17 0x000000000052f25c in Frecursive_edit () at keyboard.c:837 > > count = <optimized out> > > buffer = <optimized out> > > #18 0x0000000000528660 in main (argc=<optimized out>, > argv=0x7fffffffe5a8) at emacs.c:2635 > > stack_bottom_variable = 0x155553f84458 <_gnutls_lib_state> > > old_argc = <optimized out> > > dump_file = 0x0 > > no_loadup = false > > junk = 0x0 > > dname_arg = 0x0 > > ch_to_dir = 0x0 > > original_pwd = 0x0 > > dump_mode = <optimized out> > > skip_args = 1 > > temacs = 0x0 > > attempt_load_pdump = <optimized out> > > only_version = false > > rlim = {rlim_cur = 18446744073709551615, rlim_max = > 18446744073709551615} > > lc_all = <optimized out> > > sockfd = -1 > > module_assertions = <optimized out> > > (gdb) p displayed_buffer > > $1 = (struct buffer *) 0xfffffffffffffffb > > This value is garbled, I guess? What does this show: > > (gdb) p *displayed_buffer > > If it says "cannot access", I have no idea how this garbage could have > ended up there. > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sun, 15 Jun 2025 17:50:01 GMT) Full text and rfc822 format available.Message #83 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: Pip Cet <pipcet <at> protonmail.com> To: George P <georgepanagopo <at> gmail.com> Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sun, 15 Jun 2025 17:49:42 +0000
"George P" <georgepanagopo <at> gmail.com> writes: > Yes, that is precisely what it says.... > > (gdb) p displayed_buffer > $1 = (struct buffer *) 0xfffffffffffffffb That's XBUFFER (Qnil), possibly set by this code in redisplay_internal: else if (FRAME_REDISPLAY_P (sf) && !FRAME_OBSCURED_P (sf)) { sf->inhibit_clear_image_cache = true; displayed_buffer = XBUFFER (XWINDOW (selected_window)->contents); /* Use list_of_error, not Qerror, so that we catch only errors and don't run the debugger. */ internal_condition_case_1 (redisplay_window_1, selected_window, list_of_error, redisplay_window_error); However, I believe that's only the surface of the bug: the selected window's contents should never be nil, right? According to this comment in window.h, that would mean it's a pseudo window, but another comment says the selected window is always a leaf window: /* For a leaf window or a tooltip window this is the buffer shown in the window; for a combination window this is the first of its child windows; for a pseudo window showing the menu bar or tool bar this is nil. It is a buffer for a minibuffer window as well. */ Lisp_Object contents; /* This is the window in which the terminal's cursor should be left when nothing is being done with it. This must always be a leaf window, and its buffer is selected by the top level editing loop at the end of each command. This value is always the same as FRAME_SELECTED_WINDOW (selected_frame). */ So this looks like an inconsistent state reached by the redisplay machinery. We'd have to check whether it's the code above or actually this code: if (update_miniwindow_p) { Lisp_Object mini_window = FRAME_MINIBUF_WINDOW (sf); displayed_buffer = XBUFFER (XWINDOW (mini_window)->contents); internal_condition_case_1 (redisplay_window_1, mini_window, list_of_error, redisplay_window_error); } While it would probably would have avoided the crash to check whether XWINDOW (whichever)->contents is Qnil before setting displayed_buffer, I don't think that's the right fix: violating that internal redisplay assumption is a bad thing, and we need to figure out why it can happen when windows are being deleted (possibly in delete-window-internal?) Can you look up the line numbers against your source tree to see which code segment was active when the error happened? Thanks! Pip
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Sun, 15 Jun 2025 18:02:01 GMT) Full text and rfc822 format available.Message #86 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: George P <georgepanagopo <at> gmail.com> To: Pip Cet <pipcet <at> protonmail.com> Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Sun, 15 Jun 2025 14:01:11 -0400
[Message part 1 (text/plain, inline)]
> > Can you look up the line numbers against your source tree to see which > code segment was active when the error happened? Yes, it was the latter, i.e. if (update_miniwindow_p) { Lisp_Object mini_window = FRAME_MINIBUF_WINDOW (sf); displayed_buffer = XBUFFER (XWINDOW (mini_window)->contents); 17526 : internal_condition_case_1 (redisplay_window_1, mini_window, list_of_error, redisplay_window_error); } Thanks! George
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Mon, 16 Jun 2025 07:27:01 GMT) Full text and rfc822 format available.Message #89 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: George P <georgepanagopo <at> gmail.com>, Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Mon, 16 Jun 2025 09:25:57 +0200
> Yes, it was the latter, i.e. > > if (update_miniwindow_p) > { > Lisp_Object mini_window = FRAME_MINIBUF_WINDOW (sf); > > displayed_buffer = XBUFFER (XWINDOW (mini_window)->contents); > 17526 : internal_condition_case_1 (redisplay_window_1, mini_window, > list_of_error, > redisplay_window_error); > } Can you try diff --git a/src/window.c b/src/window.c index 1ac004af5e0..28ee8bc4035 100644 --- a/src/window.c +++ b/src/window.c @@ -303,6 +303,9 @@ wset_buffer (struct window *w, Lisp_Object val) /* Make sure that we do not assign the buffer to an internal window. */ eassert (MARKERP (w->start) && MARKERP (w->pointm)); + else + eassert (!w->mini); + w->contents = val; adjust_window_count (w, 1); } and get us a backtrace when it's hit. martin
bug-gnu-emacs <at> gnu.org
:bug#78444
; Package emacs
.
(Mon, 16 Jun 2025 08:35:02 GMT) Full text and rfc822 format available.Message #92 received at 78444 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: George P <georgepanagopo <at> gmail.com>, Pip Cet <pipcet <at> protonmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p) Date: Mon, 16 Jun 2025 10:34:40 +0200
> Can you try [...) > and get us a backtrace when it's hit. ... which was a very silly proposal. Please try diff --git a/src/window.c b/src/window.c index 1ac004af5e0..92e215fc9be 100644 --- a/src/window.c +++ b/src/window.c @@ -303,6 +303,14 @@ wset_buffer (struct window *w, Lisp_Object val) /* Make sure that we do not assign the buffer to an internal window. */ eassert (MARKERP (w->start) && MARKERP (w->pointm)); + else + { + if (MARKERP (w->start)) + eassert (!XMARKER (w->start)->buffer); + if (MARKERP (w->pointm)) + eassert (!XMARKER (w->pointm)->buffer); + } + w->contents = val; adjust_window_count (w, 1); } instead. If it does not work either, I will have to think of something more elaborate. Thanks, martin
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.