Package: emacs;
Reported by: andrei.elkin <at> pp.inet.fi
Date: Sat, 29 Nov 2025 18:45:02 UTC
Severity: normal
Found in version 30.0.50
To reply to this bug, email your comments to 79911 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#79911; Package emacs.
(Sat, 29 Nov 2025 18:45:02 GMT) Full text and rfc822 format available.andrei.elkin <at> pp.inet.fi:bug-gnu-emacs <at> gnu.org.
(Sat, 29 Nov 2025 18:45:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: andrei.elkin <at> pp.inet.fi To: Bug-gnu Emacs <bug-gnu-emacs <at> gnu.org> Subject: 30.0.50 crashes along garbage_collect (),... expand_file_name,..,STRING_BYTES Date: Sat, 29 Nov 2025 20:44:33 +0200
Hi again. I've just got a 2nd crash, the stack is below (the same M-x report-emacs-bug as in bug#79909), after restoring a former bug#79909 suffered unlucky emacs session. The crashed session again was found when I mouse-selected a link, that is no activity in the emacs itself, from a slack application. There must be no communication between the slack (on the X server machine) and the emacsclient (as X client) , so if anything emacs sensed X11 selection. The crashed session is alive in gdb waiting for in- and ex- tructions. Cheers, Andrei Breakpoint 3 at 0x555555880101: file eval.c, line 3111. +python +bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo <at> entry=6) at pthread_kill.c:89 #3 0x00007ffff3a4527e in __GI_raise (sig=6) at raise.c:26 #4 0x00005555557867c9 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:480 #5 0x000055555584105e in die (msg=0x5555559f3e2d "0 <= nbytes", file=0x5555559f3d40 "lisp.h", line=1704) at alloc.c:7304 #6 0x00005555557f0454 in STRING_BYTES (s=0x555556f85b90) at lisp.h:1704 #7 0x00005555557f047a in SBYTES (string=XIL(0x555556f85b94)) at lisp.h:1711 #8 0x00005555557f0495 in CHECK_STRING_NULL_BYTES (string=XIL(0x555556f85b94)) at lisp.h:1727 #9 0x00005555557f2d1e in Fexpand_file_name (name=XIL(0x555556f85b94), default_directory=XIL(0)) at fileio.c:1048 #10 0x000055555580074c in Fdo_auto_save (no_message=XIL(0x30), current_only=XIL(0)) at fileio.c:6363 #11 0x000055555578acc1 in shut_down_emacs (sig=6, stuff=XIL(0)) at emacs.c:3148 #12 0x0000555555786770 in terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:463 #13 0x00005555557c1d2a in emacs_abort () at sysdep.c:2378 #14 0x000055555583f357 in check_live (livep=0x55555583c216 <live_cons_p>, mtype=MEM_TYPE_CONS, po=0x555577238f00, m=0x5555667a2c70) at alloc.c:6410 #15 0x000055555583f3ce in check_allocated_and_live (livep=0x55555583c216 <live_cons_p>, mtype=MEM_TYPE_CONS, po=0x555577238f00) at alloc.c:6432 #16 0x000055555583fae9 in process_mark_stack (base_sp=0) at alloc.c:6676 #17 0x000055555583fd2d in mark_object (obj=XIL(0x555577238f03)) at alloc.c:6724 #18 0x00005555557b144a in mark_kboards () at keyboard.c:14574 #19 0x000055555583dedb in garbage_collect () at alloc.c:5867 #20 0x000055555583dbf0 in maybe_garbage_collect () at alloc.c:5772 #21 0x0000555555878433 in maybe_gc () at lisp.h:5922 #22 0x0000555555880495 in Ffuncall (nargs=4, args=0x7fffffffbd90) at eval.c:3172 #23 0x00007fffef646f46 in F7365742d666163652d6174747269627574652d66726f6d2d7265736f75726365_set_face_attribute_from_resource_0 () at /usr/local/src/emacs/git/WTs/master/src/../native-lisp/31.0.50-541d5258/preloaded/faces-b9447c93-5cdbccfe.eln #24 0x0000555555880965 in funcall_subr (subr=0x7fffefc9c3d8, numargs=5, args=0x7fffffffbf78) at eval.c:3253 #25 0x00005555558801cd in funcall_general (fun=XIL(0x7fffefc9c3dd), numargs=5, args=0x7fffffffbf78) at eval.c:3124 #26 0x00005555558804de in Ffuncall (nargs=6, args=0x7fffffffbf70) at eval.c:3177 #27 0x00007fffef647262 in F7365742d666163652d617474726962757465732d66726f6d2d7265736f7572636573_set_face_attributes_from_resources_0 () at /usr/local/src/emacs/git/WTs/master/src/../native-lisp/31.0.50-541d5258/preloaded/faces-b9447c93-5cdbccfe.eln #28 0x00005555558808a5 in funcall_subr (subr=0x7fffefc926e0, numargs=2, args=0x7fffffffc158) at eval.c:3247 #29 0x00005555558801cd in funcall_general (fun=XIL(0x7fffefc926e5), numargs=2, args=0x7fffffffc158) at eval.c:3124 #30 0x00005555558804de in Ffuncall (nargs=3, args=0x7fffffffc150) at eval.c:3177 #31 0x00007fffef647471 in F6d616b652d666163652d782d7265736f757263652d696e7465726e616c_make_face_x_resource_internal_0 () at /usr/local/src/emacs/git/WTs/master/src/../native-lisp/31.0.50-541d5258/preloaded/faces-b9447c93-5cdbccfe.eln #32 0x00005555558808a5 in funcall_subr (subr=0x7fffefcba620, numargs=2, args=0x7fffffffc3b8) at eval.c:3247 #33 0x00005555558801cd in funcall_general (fun=XIL(0x7fffefcba625), numargs=2, args=0x7fffffffc3b8) at eval.c:3124 #34 0x00005555558804de in Ffuncall (nargs=3, args=0x7fffffffc3b0) at eval.c:3177 #35 0x00007fffef64d647 in F666163652d737065632d726563616c63_face_spec_recalc_0 () at /usr/local/src/emacs/git/WTs/master/src/../native-lisp/31.0.50-541d5258/preloaded/faces-b9447c93-5cdbccfe.eln #36 0x00005555558808a5 in funcall_subr (subr=0x7fffef90d250, numargs=2, args=0x7fffffffc6a8) at eval.c:3247 #37 0x00005555558801cd in funcall_general (fun=XIL(0x7fffef90d255), numargs=2, args=0x7fffffffc6a8) at eval.c:3124 #38 0x00005555558804de in Ffuncall (nargs=3, args=0x7fffffffc6a0) at eval.c:3177 #39 0x00007fffef6504fe in F666163652d7365742d61667465722d6672616d652d64656661756c74_face_set_after_frame_default_0 () at /usr/local/src/emacs/git/WTs/master/src/../native-lisp/31.0.50-541d5258/preloaded/faces-b9447c93-5cdbccfe.eln #40 0x00005555558808a5 in funcall_subr (subr=0x7ffff0002838, numargs=2, args=0x7fffffffc888) at eval.c:3247 #41 0x00005555558801cd in funcall_general (fun=XIL(0x7ffff000283d), numargs=2, args=0x7fffffffc888) at eval.c:3124 #42 0x00005555558804de in Ffuncall (nargs=3, args=0x7fffffffc880) at eval.c:3177 #43 0x00005555555d2080 in Freconsider_frame_fonts (frame=XIL(0x55556d9af375)) at frame.c:6847 #44 0x00007fffeee412ca in F666f6e742d73657474696e672d6368616e67652d64656661756c742d666f6e74_font_setting_change_default_font_0 () at /usr/local/src/emacs/git/WTs/master/src/../native-lisp/31.0.50-541d5258/preloaded/dynamic-setting-55f80457-4b2011e9.eln #45 0x00005555558808a5 in funcall_subr (subr=0x7fffefe876c0, numargs=2, args=0x7fffffffcaa8) at eval.c:3247 #46 0x00005555558801cd in funcall_general (fun=XIL(0x7fffefe876c5), numargs=2, args=0x7fffffffcaa8) at eval.c:3124 #47 0x00005555558804de in Ffuncall (nargs=3, args=0x7fffffffcaa0) at eval.c:3177 #48 0x00007fffeee41521 in F64796e616d69632d73657474696e672d68616e646c652d636f6e6669672d6368616e6765642d6576656e74_dynamic_setting_handle_config_changed_event_0 () at /usr/local/src/emacs/git/WTs/master/src/../native-lisp/31.0.50-541d5258/preloaded/dynamic-setting-55f80457-4b2011e9.eln #49 0x000055555588087b in funcall_subr (subr=0x7fffefe87488, numargs=1, args=0x7fffffffce00) at eval.c:3245 #50 0x00005555558801cd in funcall_general (fun=XIL(0x7fffefe8748d), numargs=1, args=0x7fffffffce00) at eval.c:3124 #51 0x00005555558804de in Ffuncall (nargs=2, args=0x7fffffffcdf8) at eval.c:3177 #52 0x0000555555873f85 in Ffuncall_interactively (nargs=2, args=0x7fffffffcdf8) at callint.c:250 #53 0x0000555555880af0 in funcall_subr (subr=0x555555abfc40 <Sfuncall_interactively>, numargs=2, args=0x7fffffffcdf8) at eval.c:3268 #54 0x00005555558801cd in funcall_general (fun=XIL(0x555555abfc45), numargs=2, args=0x7fffffffcdf8) at eval.c:3124 #55 0x00005555558804de in Ffuncall (nargs=3, args=0x7fffffffcdf0) at eval.c:3177 #56 0x0000555555876794 in Fcall_interactively (function=XIL(0x2aaa9a341998), record_flag=XIL(0), keys=XIL(0x5555674c5d9d)) at callint.c:789 #57 0x00007fffef49809d in F636f6d6d616e642d65786563757465_command_execute_0 () at /usr/local/src/emacs/git/WTs/master/src/../native-lisp/31.0.50-541d5258/preloaded/simple-fab5b0cf-5aa40f47.eln #58 0x0000555555880919 in funcall_subr (subr=0x7ffff02d37f0, numargs=4, args=0x7fffffffd428) at eval.c:3251 #59 0x00005555558801cd in funcall_general (fun=XIL(0x7ffff02d37f5), numargs=4, args=0x7fffffffd428) at eval.c:3124 #60 0x00005555558804de in Ffuncall (nargs=5, args=0x7fffffffd420) at eval.c:3177 #61 0x0000555555795386 in read_char (commandflag=1, map=XIL(0x55556735bc33), prev_event=XIL(0), used_mouse_menu=0x7fffffffd649, end_time=0x0) at keyboard.c:3093 #62 0x00005555557a9c13 in read_key_sequence (keybuf=0x7fffffffd870, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:11165 #63 0x000055555578fed5 in command_loop_1 () at keyboard.c:1424 #64 0x000055555587c251 in internal_condition_case (bfun=0x55555578fa87 <command_loop_1>, handlers=XIL(0x90), hfun=0x55555578ee7a <cmd_error>) at eval.c:1690 #65 0x000055555578f62a in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1163 #66 0x000055555587b622 in internal_catch (tag=XIL(0x12780), func=0x55555578f5fc <command_loop_2>, arg=XIL(0x90)) at eval.c:1370 #67 0x000055555578f5b8 in command_loop () at keyboard.c:1141 #68 0x000055555578e8fc in recursive_edit_1 () at keyboard.c:749 #69 0x000055555578eb30 in Frecursive_edit () at keyboard.c:832 #70 0x0000555555789f07 in main (argc=7, argv=0x7fffffffdd48) at emacs.c:2629 ++set $bt = backtrace_top () ++if backtrace_p ($bt) +++echo \n +++echo Lisp Backtrace:\n Lisp Backtrace: +++xbacktrace ++++set $bt = backtrace_top () ++++while backtrace_p ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "Automatic GC"++++++printf " (0x%x)\n", backtrace_args ($bt) (0x0) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "internal-face-x-get-resource"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffbd98) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "set-face-attribute-from-resource"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffbf78) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "set-face-attributes-from-resources"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffc158) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "make-face-x-resource-internal"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffc3b8) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "face-spec-recalc"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffc6a8) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "face-set-after-frame-default"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffc888) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "font-setting-change-default-font"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffcaa8) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "dynamic-setting-handle-config-changed-event"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffce00) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "funcall-interactively"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffcdf8) +++++set $bt = backtrace_next ($bt) +++++set $fun = backtrace_function ($bt) +++++xgettype $fun ++++++if (CHECK_LISP_OBJECT_TYPE) +++++++set $bugfix = $fun.i ++++++set $type = (enum Lisp_Type) (USE_LSB_TAG ? (EMACS_INT) $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) +++++if $type == Lisp_Symbol ++++++xprintsym $fun +++++++xsymname $fun ++++++++xgetsym $fun +++++++++xgetptr $fun ++++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++++set $bugfix = $fun.i ++++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++++set $ptr = ((struct Lisp_Symbol *) ((char *) &lispsym + $ptr)) ++++++++set $symname = $ptr->u.s.name +++++++xgetptr $symname ++++++++if (CHECK_LISP_OBJECT_TYPE) +++++++++set $bugfix = $symname.i ++++++++set $ptr = (EMACS_INT) $bugfix & VALMASK +++++++if $ptr != 0 ++++++++set $sym_name = (struct Lisp_String *) $ptr ++++++++xprintstr $sym_name +++++++++if (! $arg0) ++++++++++set $data = "" *) $sym_name->u.s.data ++++++++++set $strsize = ($sym_name->u.s.size_byte < 0) ? ($sym_name->u.s.size & ~ARRAY_MARK_FLAG) : $sym_name->u.s.size_byte ++++++++++if $strsize == 0 +++++++++++output ($sym_name->u.s.size > 1000) ? 0 : ($data[0])@($strsize) "command-execute"++++++printf " (0x%x)\n", backtrace_args ($bt) (0xffffd428) +++++set $bt = backtrace_next ($bt) ============================================================================================= M-x report-emacs-bug In GNU Emacs 31.0.50 (build 2, x86_64-pc-linux-gnu, X toolkit, cairo version 1.18.0, Xaw3d scroll bars) of 2025-11-22 built on andrei-MS-7D96 Repository revision: 46d0f1fef197f2049436a6fabca7f9e929b476a6 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101011 System Description: Ubuntu 24.04.3 LTS Configured using: 'configure --with-x-toolkit=lucid --enable-checking=yes,glyphs --enable-check-lisp-object-type 'CFLAGS=-ggdb3 -O0' LDFLAGS=-ggdb3 'CXXFLAGS=-ggdb3 -O0'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 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 XINERAMA XINPUT2 XPM XRANDR LUCID ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: desktop-save-mode: t winner-mode: t global-git-commit-mode: t magit-auto-revert-mode: t server-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-history-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-nonselected-mode: t minibuffer-regexp-mode: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug lisp-mnt message yank-media rfc822 mml mml-sec gnus-util mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils dired-aux selected-window-contrast desktop treesit-fold treesit-fold-summary treesit-fold-parsers treesit-fold-util mule-util lsp-ui lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util face-remap find-func frameset winner cus-edit cus-start cus-load 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 epa derived magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff diff-mode track-changes easy-mmode git-commit log-edit pcvs-util add-log magit-core magit-margin magit-transient c++-ts-mode c-ts-mode c-ts-common treesit gud advice lsp lsp-mode lsp-protocol xref project tree-widget wid-edit spinner network-stream puny nsm markdown-mode color noutline outline lv inline imenu ht f s ewoc epg rfc6068 epg-config dash compile text-property-search sql view thingatpt dired dired-loaddefs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs use-package-core finder-inf blamer-autoloads async-autoloads git-link-autoloads git-timemachine-autoloads logview-autoloads datetime-autoloads extmap-autoloads lsp-ui-autoloads lsp-mode-autoloads ht-autoloads f-autoloads dash-autoloads lv-autoloads magit-autorevert autorevert filenotify magit-process with-editor shell pcomplete comint ansi-osc ring server ansi-color magit-mode transient pp edmacro kmacro benchmark magit-git magit-base magit-section format-spec cursor-sensor crm llama comp comp-cstr cond-let compat magit-autoloads pcase magit-section-autoloads llama-autoloads cond-let-autoloads markdown-mode-autoloads posframe-autoloads s-autoloads selected-window-accent-mode-autoloads selected-window-contrast-autoloads spinner-autoloads syslog-mode-autoloads hsluv-autoloads ov-autoloads hide-lines-autoloads treesit-fold-autoloads vc-msg-autoloads popup-autoloads info with-editor-autoloads package browse-url xdg url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json map url-vars cl-extra help-mode warnings icons comp-run comp-common rx time-date subr-x cl-loaddefs cl-lib term/screen term/xterm xterm byte-opt gv bytecomp byte-compile rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode 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 lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tt y move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 539049 31628) (symbols 48 36520 0) (strings 32 167191 8021) (string-bytes 1 4697819) (vectors 16 56937) (vector-slots 8 683274 23212) (floats 8 291 20932) (intervals 56 710 0) (buffers 1064 17))
bug-gnu-emacs <at> gnu.org:bug#79911; Package emacs.
(Sat, 29 Nov 2025 20:04:01 GMT) Full text and rfc822 format available.Message #8 received at 79911 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: andrei.elkin <at> pp.inet.fi Cc: 79911 <at> debbugs.gnu.org Subject: Re: bug#79911: 30.0.50 crashes along garbage_collect (), ... expand_file_name, .., STRING_BYTES Date: Sat, 29 Nov 2025 22:03:19 +0200
> Date: Sat, 29 Nov 2025 20:44:33 +0200 > From: andrei.elkin--- via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> > > I've just got a 2nd crash, the stack is below (the same M-x > report-emacs-bug as in bug#79909), after restoring a former bug#79909 > suffered unlucky emacs session. > > The crashed session again was found when I mouse-selected a link, that > is no activity > > in the emacs itself, from a slack application. There must be no > communication between the slack (on the X server machine) and the > emacsclient (as X client) , so if anything emacs sensed X11 selection. > > The crashed session is alive in gdb waiting for in- and ex- tructions. Thanks, but what about the data I asked for? (gdb) frame 14 (gdb) p m->type (gdb) p mtype
bug-gnu-emacs <at> gnu.org:bug#79911; Package emacs.
(Sun, 30 Nov 2025 16:43:02 GMT) Full text and rfc822 format available.Message #11 received at 79911 <at> debbugs.gnu.org (full text, mbox):
From: andrei.elkin <at> pp.inet.fi To: Eli Zaretskii <eliz <at> gnu.org> Cc: 79911 <at> debbugs.gnu.org Subject: Re: bug#79911: 30.0.50 crashes along garbage_collect (), ... expand_file_name, .., STRING_BYTES Date: Sun, 30 Nov 2025 18:41:56 +0200
Good evening Eli! Eli Zaretskii kirjoitti 2025-11-29 22:03: >> Date: Sat, 29 Nov 2025 20:44:33 +0200 >> From: andrei.elkin--- via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> >> >> I've just got a 2nd crash, the stack is below (the same M-x >> report-emacs-bug as in bug#79909), after restoring a former bug#79909 >> suffered unlucky emacs session. >> >> The crashed session again was found when I mouse-selected a link, >> that >> is no activity >> >> in the emacs itself, from a slack application. There must be no >> communication between the slack (on the X server machine) and the >> emacsclient (as X client) , so if anything emacs sensed X11 selection. >> >> The crashed session is alive in gdb waiting for in- and ex- tructions. > > Thanks, but what about the data I asked for? > > (gdb) frame 14 > (gdb) p m->type > (gdb) p mtype Sorry, I seem to have not read your text to the end. (gdb) f 14 +f 14 #14 0x000055555583f357 in check_live (livep=0x55555583c216 <live_cons_p>, mtype=MEM_TYPE_CONS, po=0x555577238f00, m=0x5555667a2c70) at alloc.c:6410 /usr/local/src/emacs/git/WTs/master/src/alloc.c:6410:183411:beg:0x55555583f357 (gdb) p m->type +p m->type $3 = MEM_TYPE_CONS (gdb) p mtype +p mtype $4 = MEM_TYPE_CONS Note too, Pip 's just come up with a `p kbd_buffer` and you are cc-d. Cheers, Andrei
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.