X-Loop: help-debbugs@HIDDEN
Subject: bug#79839: emacs 30.1 crashes with XNextRequest..Frecursive_edit stack
Resent-From: andrei.elkin@HIDDEN
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 15 Nov 2025 10:23:02 +0000
Resent-Message-ID: <handler.79839.B.176320215030005 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 79839
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: 79839 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.176320215030005
(code B ref -1); Sat, 15 Nov 2025 10:23:02 +0000
Received: (at submit) by debbugs.gnu.org; 15 Nov 2025 10:22:30 +0000
Received: from localhost ([127.0.0.1]:33896 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vKDQJ-0007nt-J5
for submit <at> debbugs.gnu.org; Sat, 15 Nov 2025 05:22:30 -0500
Received: from lists.gnu.org ([2001:470:142::17]:39542)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <andrei.elkin@HIDDEN>)
id 1vKDQF-0007nn-Fv
for submit <at> debbugs.gnu.org; Sat, 15 Nov 2025 05:22:25 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <andrei.elkin@HIDDEN>)
id 1vKDQ5-0002Hj-Ru
for bug-gnu-emacs@HIDDEN; Sat, 15 Nov 2025 05:22:14 -0500
Received: from smtpout03.dka.mailcore.net ([185.138.56.203])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <andrei.elkin@HIDDEN>)
id 1vKDQ0-0003pC-FT
for bug-gnu-emacs@HIDDEN; Sat, 15 Nov 2025 05:22:13 -0500
Received: from SMTP.DKA.mailcore.net (unknown [10.1.0.53])
by SMTPOUT01.DKA.mailcore.net (Postfix) with ESMTP id D7DEFE00CA
for <bug-gnu-emacs@HIDDEN>; Sat, 15 Nov 2025 11:15:57 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=inet.fi; s=mailcore;
t=1763201757; bh=Vhvi90tdJu/F5ayFt/AO67zk+8HwhQ/Jxhw6V5c823w=;
h=From:To:Subject:Date:From;
b=ZHuGzbK1IgDFiq4qSk7im/TIgeSNZj7DrKCDcD4r1ZcjWYtpRx/e5lcB3YrL7Sc8F
XDXfkJDpD04Jooqoat47xc5tPZEuGJ7DFy4tSiBSk40t7IcxgtOwssKPFcPa9/yQtZ
Gr3mIn+PIRvB7ekDNWHGc18K2de+LmncMjhg3yd8HOTVIC5mo4oCqQv+1h48p3WLja
SVIMjtGfgNq32q3cmrkbBWB2UjAQg31iZYTi2XgTbrJ7G+HTt51xBoSh7qUODi46lc
mLjvswtf6VHBUrQGLKdhBRFh5M1D1a9TmBTV1Kx7NvAeHJnRhb9oIZaQyW/seqHRAS
mi4d7KHUQn9bg==
Received: from quad (mobile-user-2e84b9-5.dhcp.inet.fi [46.132.185.5])
by SMTP.DKA.mailcore.net (Postfix) with ESMTPSA id 4C63E40233
for <bug-gnu-emacs@HIDDEN>; Sat, 15 Nov 2025 11:15:57 +0100 (CET)
From: andrei.elkin@HIDDEN
Organization: Home sweet home
Date: Sat, 15 Nov 2025 12:15:37 +0200
Message-ID: <87ecpzwqie.fsf@quad>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=185.138.56.203;
envelope-from=andrei.elkin@HIDDEN; helo=SMTPOUT03.DKA.mailcore.net
X-Spam_score_int: -19
X-Spam_score: -2.0
X-Spam_bar: --
X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,
RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)
Hi.
emacs-30.1 0974418f2a8 built
$ ./configure --with-x-toolkit=lucid --enable-checking=yes,glyphs --enable-check-lisp-object-type 'CFLAGS=-ggdb3 -O0' LDFLAGS=-ggdb3 'CXXFLAGS=-ggdb3 -O0' --no-create
from sources worked for few days in gdb session to evenually crash.
The gdb session is alive so I can dig out details necessary for investigation.
The log of it follows at the end of the report.
I conclude the current log with
(gdb) xbacktrace
As I've observed this sort of crash for a number of times I decided
to catch it with dbg.
I believe the use of lsp package matters in reproducing (reminds me of
bug#48252, and to lesser degree of bug#70495).
Without having lsp-mode buffers
my emacs session normally lasts much longer that few weeks.
To the current crash, I had two active rr-"gdb" sessions (gud-mode) and
some number of buffers (like 20) in lsp-mode.
The crash occured at time I was (about or already) typing something in a
gud-mode buffer.
I am ears and the crashed emacs gdb session is ready for your commands,
dear gurus.
Cheers,
Andrei
=========================================================================================
+python
+alias -a _unlock = set scheduler-locking replay
+alias -a _lock = set scheduler-locking on
+set debuginfod enabled off
+attach /home/andrei/.emacs.d
Illegal process-id: /home/andrei/.emacs.d.
+/home/andrei/my_emacs/.emacs
Undefined command: "". Try "help".
+python
+alias -a _unlock = set scheduler-locking replay
+alias -a _lock = set scheduler-locking on
+set debuginfod enabled off
Reading symbols from /usr/local/src/emacs/git/WTs/emacs-30/src/emacs...
+show args
Argument list to give program being debugged when it is started is "".
quit
+quit
+python
+alias -a _unlock = set scheduler-locking replay
+alias -a _lock = set scheduler-locking on
+set debuginfod enabled off
-nw: No such file or directory.
quit
+quit
+python
+alias -a _unlock = set scheduler-locking replay
+alias -a _lock = set scheduler-locking on
+set debuginfod enabled off
-nw: No such file or directory.
+q
+python
+alias -a _unlock = set scheduler-locking replay
+alias -a _lock = set scheduler-locking on
+set debuginfod enabled off
Reading symbols from /usr/local/src/emacs/git/WTs/emacs-30/src/emacs...
+show args
Argument list to give program being debugged when it is started is "-nw".
quit
+quit
+python
+alias -a _unlock = set scheduler-locking replay
+alias -a _lock = set scheduler-locking on
+set debuginfod enabled off
/src/emacs: No such file or directory.
+show args
Argument list to give program being debugged when it is started is "-nw --init-directory --eval \(load\ \(setq\ user-init-file\ \"\"\)\)".
+r
Starting program: -nw --init-directory --eval \(load\ \(setq\ user-init-file\ \"\"\)\)
No executable file specified.
Use the "file" or "exec-file" command.
quit
+quit
+python
+alias -a _unlock = set scheduler-locking replay
+alias -a _lock = set scheduler-locking on
+set debuginfod enabled off
Reading symbols from /usr/local/src/emacs/git/WTs/emacs-30//src/emacs...
+show args
Argument list to give program being debugged when it is started is "-nw --init-directory /home/andrei/.emacs.d --eval \(load\ \(setq\ user-init-file\ \"/home/andrei/my_emacs/.emacs\"\)\)".
+r
Starting program: /usr/local/src/emacs/git/WTs/emacs-30/src/emacs -nw --init-directory /home/andrei/.emacs.d --eval \(load\ \(setq\ user-init-file\ \"/home/andrei/my_emacs/.emacs\"\)\)
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgio-2.0.so.0
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgobject-2.0.so.0
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libglib-2.0.so.0
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libtinfo.so.6
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libm17n-flt.so.0
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libm17n-core.so.0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgmodule-2.0.so.0
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libbrotlidec.so.1
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libcap.so.2
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libbrotlicommon.so.1
[Detaching after vfork from child process 283088]
[Detaching after vfork from child process 283090]
[Detaching after vfork from child process 283091]
[Detaching after vfork from child process 283094]
Program received signal SIGINT, Interrupt.
0x00007ffff3b25fde in pselect64_syscall (sigmask=0x0, timeout=<optimized out>, exceptfds=0x0, writefds=0x7fffffffc940, readfds=0x7fffffffc8c0, nfds=9) at pselect.c:34
warning: 34 pselect.c: No such file or directory
+c
Continuing.
[Detaching after vfork from child process 283241]
[Detaching after vfork from child process 283242]
[Detaching after vfork from child process 283243]
[New Thread 0x7fffed05e1c0 (LWP 283244)]
warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
[New Thread 0x7fffed02c1c0 (LWP 283245)]
[New Thread 0x7fffed0141c0 (LWP 283246)]
[Thread 0x7fffed05e1c0 (LWP 283244) exited]
[Thread 0x7fffed02c1c0 (LWP 283245) exited]
[Thread 0x7fffed0141c0 (LWP 283246) exited]
/* I remove some K:s of abundantly repeated 'detaching' messages */
[Detaching after vfork from child process 283251]
...
[Detaching after vfork from child process 1093839]
[Detaching after vfork from child process 1093840]
[Detaching after vfork from child process 1093850]
Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x00007ffff7ba83fb in XNextRequest () from /lib/x86_64-linux-gnu/libX11.so.6
+bt
#0 0x00007ffff7ba83fb in XNextRequest () at /lib/x86_64-linux-gnu/libX11.so.6
#1 0x000055555573a8a3 in x_catch_errors_with_handler (dpy=0x0, handler=0x0, handler_data=0x0) at xterm.c:26401
#2 0x000055555573a8ee in x_catch_errors (dpy=0x0) at xterm.c:26410
#3 0x0000555555764014 in x_atom_to_symbol (dpyinfo=0x555573366f30, atom=508) at xselect.c:256
#4 0x000055555576570e in x_handle_selection_request (event=0x7fffffffb680) at xselect.c:1116
#5 0x00005555557661ed in x_handle_selection_event (event=0x7fffffffb680) at xselect.c:1374
#6 0x000055555578d226 in process_special_events () at keyboard.c:4557
#7 0x000055555578d278 in swallow_events (do_display=false) at keyboard.c:4599
#8 0x00005555557882c2 in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fffffffbaa9, end_time=0x0) at keyboard.c:2668
#9 0x000055555579ce34 in read_key_sequence (keybuf=0x7fffffffbcd0, prompt=..., dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:10743
#10 0x00005555557842df in command_loop_1 () at keyboard.c:1429
#11 0x000055555586f099 in internal_condition_case (bfun=0x555555783e91 <command_loop_1>, handlers=..., hfun=0x555555783284 <cmd_error>) at eval.c:1613
#12 0x0000555555783a34 in command_loop_2 (handlers=...) at keyboard.c:1168
#13 0x000055555586e3c8 in internal_catch (tag=..., func=0x555555783a06 <command_loop_2>, arg=...) at eval.c:1292
#14 0x0000555555783946 in command_loop () at keyboard.c:1138
#15 0x0000555555782d06 in recursive_edit_1 () at keyboard.c:754
#16 0x00005555557dd5b9 in read_minibuf (map=..., initial=..., prompt=..., expflag=false, histvar=..., histpos=..., defalt=..., allow_props=false, inherit_input_method=false) at minibuf.c:905
#17 0x00005555557df080 in Fread_from_minibuffer (prompt=..., initial_contents=..., keymap=..., read=..., hist=..., default_value=..., inherit_input_method=...) at minibuf.c:1394
#18 0x0000555555873862 in funcall_subr (subr=0x555556121220 <Sread_from_minibuffer>, numargs=7, args=0x7fffef1ff320) at eval.c:3173
#19 0x00005555558d6f09 in exec_byte_code (fun=..., args_template=1026, nargs=2, args=0x7fffef1ff330) at bytecode.c:812
#20 0x0000555555873de0 in funcall_lambda (fun=..., nargs=8, arg_vector=0x7fffffffc808) at eval.c:3252
#21 0x000055555587305a in funcall_general (fun=..., numargs=8, args=0x7fffffffc808) at eval.c:3044
#22 0x000055555587331f in Ffuncall (nargs=9, args=0x7fffffffc800) at eval.c:3093
#23 0x00005555557e0c78 in Fcompleting_read (prompt=..., collection=..., predicate=..., require_match=..., initial_input=..., hist=..., def=..., inherit_input_method=...) at minibuf.c:2057
#24 0x00005555558738d2 in funcall_subr (subr=0x5555561214c0 <Scompleting_read>, numargs=7, args=0x7fffef1ff248) at eval.c:3176
#25 0x00005555558d6f09 in exec_byte_code (fun=..., args_template=1026, nargs=2, args=0x7fffef1ff258) at bytecode.c:812
#26 0x00005555558d5c4d in Fbyte_code (bytestr=..., vector=..., maxdepth=...) at bytecode.c:329
#27 0x0000555555871cae in eval_sub (form=...) at eval.c:2604
#28 0x0000555555871246 in Feval (form=..., lexical=...) at eval.c:2462
#29 0x0000555555867255 in Fcall_interactively (function=..., record_flag=..., keys=...) at callint.c:325
#30 0x000055555587371c in funcall_subr (subr=0x5555561298c0 <Scall_interactively>, numargs=3, args=0x7fffef1ff070) at eval.c:3165
#31 0x00005555558d6f09 in exec_byte_code (fun=..., args_template=1025, nargs=1, args=0x7fffffffd880) at bytecode.c:812
#32 0x0000555555873de0 in funcall_lambda (fun=..., nargs=1, arg_vector=0x7fffffffd878) at eval.c:3252
#33 0x000055555587305a in funcall_general (fun=..., numargs=1, args=0x7fffffffd878) at eval.c:3044
#34 0x000055555587331f in Ffuncall (nargs=2, args=0x7fffffffd870) at eval.c:3093
#35 0x0000555555784770 in command_loop_1 () at keyboard.c:1550
#36 0x000055555586f099 in internal_condition_case (bfun=0x555555783e91 <command_loop_1>, handlers=..., hfun=0x555555783284 <cmd_error>) at eval.c:1613
#37 0x0000555555783a34 in command_loop_2 (handlers=...) at keyboard.c:1168
#38 0x000055555586e3c8 in internal_catch (tag=..., func=0x555555783a06 <command_loop_2>, arg=...) at eval.c:1292
#39 0x00005555557839c2 in command_loop () at keyboard.c:1146
#40 0x0000555555782d06 in recursive_edit_1 () at keyboard.c:754
#41 0x0000555555782f3a in Frecursive_edit () at keyboard.c:837
#42 0x000055555577e4e4 in main (argc=7, argv=0x7fffffffdd68) at emacs.c:2646
+info loc
No symbol table info available.
+pwd
Working directory /usr/local/src/emacs/git/WTs/emacs-30.
+source src/.gdbinit
+set $dummy = main + 8
+set $dummy = Fmake_symbol + 8
+dir ../lwlib
warning: /usr/local/src/emacs/git/WTs/emacs-30/../lwlib: No such file or directory
+handle 2 noprint pass
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
+handle SIGTSTP nopass
+handle SIGUSR1 noprint pass
+handle SIGUSR2 noprint pass
+handle SIGALRM ignore
+if defined_HAVE_PGTK
+define xgetptr
+define xgetint
+define xgettype
+define xgetsym
+define xsymname
+define pr
+document pr
+define pp
+document pp
+define pv
+document pv
+define xfmt
+define ppt
+document ppt
+define pitmethod
+document pitmethod
+define pitx
+document pitx
+define pit
+document pit
+define prowx
+document prowx
+define prow
+document prow
+define pcursorx
+document pcursorx
+define pcursor
+document pcursor
+define pwinx
+document pwinx
+define pwin
+document pwin
+define pbiditype
+document pbiditype
+define pgx
+document pgx
+define pg
+document pg
+define pgi
+document pgi
+define pgn
+document pgn
+define pgrowx
+document pgrowx
+define pgrow
+document pgrow
+define pgrowit
+document pgrowit
+define prowlims
+document prowlims
+define pmtxrows
+document pmtxrows
+define xtype
+document xtype
+define pvectype
+document pvectype
+define xvectype
+document xvectype
+define pvecsize
+document pvecsize
+define xvecsize
+document xvecsize
+define xint
+document xint
+define xptr
+document xptr
+define xmarker
+document xmarker
+define xoverlay
+document xoverlay
+define xsymwithpos
+document xsymwithpos
+define xsymbol
+document xsymbol
+define xstring
+document xstring
+define xvector
+document xvector
+define xprocess
+document xprocess
+define xframe
+document xframe
+define xclosure
+document xclosure
+define xcompiled
+document xcompiled
+define xwindow
+document xwindow
+define xwinconfig
+document xwinconfig
+define xsubr
+document xsubr
+define xchartable
+document xchartable
+define xsubchartable
+document xsubchartable
+define xboolvector
+document xboolvector
+define xbuffer
+document xbuffer
+define xhashtable
+document xhashtable
+define xtsparser
+document xtsparser
+define xtsnode
+document xtsnode
+define xtsquery
+document xtsquery
+define xcons
+document xcons
+define nextcons
+document nextcons
+define xcar
+document xcar
+define xcdr
+document xcdr
+define xlist
+document xlist
+define xfloat
+document xfloat
+define xscrollbar
+document xscrollbar
+define xpr
+document xpr
+define xprintstr
+define xprintsym
+document xprintsym
+define xcoding
+document xcoding
+define xcharset
+document xcharset
+define xfontset
+define xfont
+document xfont
+define xbacktrace
+document xbacktrace
+define xprintbytestr
+document xprintbytestr
+define xwhichsymbols
+document xwhichsymbols
+define hookpost-backtrace
+define ff
+document ff
+set print pretty on
+set print sevenbit-strings
+show environment DISPLAY
DISPLAY = localhost:11.0
+if defined_HAVE_PGTK
+show environment TERM
TERM = screen.xterm-256color
+break terminate_due_to_signal
Breakpoint 1 at 0x55555577acd1: file emacs.c, line 442.
+if defined_HAVE_X_WINDOWS
++break x_error_quitter
Breakpoint 2 at 0x55555573bd84: file xterm.c, line 27102.
+python
+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 = (char *) $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)
"read-from-minibuffer"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff320)
+++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 = (char *) $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)
"completing-read-default"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xffffc808)
+++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 = (char *) $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)
"completing-read"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff248)
+++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 = (char *) $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)
"read-file-name-default"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff178)
+++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 = (char *) $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)
"read-file-name"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff0f8)
+++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 = (char *) $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)
"byte-code"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xffffcee0)
+++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 = (char *) $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)
"call-interactively"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff070)
+++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 = (char *) $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)
(0xffffd878)
+++set $bt = backtrace_next ($bt)
+set logging file /tmp/emac.crash.gdb.log
+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 = (char *) $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)
"read-from-minibuffer"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff320)
+++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 = (char *) $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)
"completing-read-default"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xffffc808)
+++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 = (char *) $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)
"completing-read"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff248)
+++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 = (char *) $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)
"read-file-name-default"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff178)
+++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 = (char *) $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)
"read-file-name"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff0f8)
+++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 = (char *) $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)
"byte-code"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xffffcee0)
+++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 = (char *) $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)
"call-interactively"++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff070)
+++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 = (char *) $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)
(0xffffd878)
+++set $bt = backtrace_next ($bt)
+bt
#0 0x00007ffff7ba83fb in XNextRequest () at /lib/x86_64-linux-gnu/libX11.so.6
#1 0x000055555573a8a3 in x_catch_errors_with_handler (dpy=0x0, handler=0x0, handler_data=0x0) at xterm.c:26401
#2 0x000055555573a8ee in x_catch_errors (dpy=0x0) at xterm.c:26410
#3 0x0000555555764014 in x_atom_to_symbol (dpyinfo=0x555573366f30, atom=508) at xselect.c:256
#4 0x000055555576570e in x_handle_selection_request (event=0x7fffffffb680) at xselect.c:1116
#5 0x00005555557661ed in x_handle_selection_event (event=0x7fffffffb680) at xselect.c:1374
#6 0x000055555578d226 in process_special_events () at keyboard.c:4557
#7 0x000055555578d278 in swallow_events (do_display=false) at keyboard.c:4599
#8 0x00005555557882c2 in read_char (commandflag=1, map=XIL(0x555578958af3), prev_event=XIL(0), used_mouse_menu=0x7fffffffbaa9, end_time=0x0) at keyboard.c:2668
#9 0x000055555579ce34 in read_key_sequence (keybuf=0x7fffffffbcd0, 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:10743
#10 0x00005555557842df in command_loop_1 () at keyboard.c:1429
#11 0x000055555586f099 in internal_condition_case (bfun=0x555555783e91 <command_loop_1>, handlers=XIL(0x90), hfun=0x555555783284 <cmd_error>) at eval.c:1613
#12 0x0000555555783a34 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168
#13 0x000055555586e3c8 in internal_catch (tag=XIL(0x7ec0), func=0x555555783a06 <command_loop_2>, arg=XIL(0x90)) at eval.c:1292
#14 0x0000555555783946 in command_loop () at keyboard.c:1138
#15 0x0000555555782d06 in recursive_edit_1 () at keyboard.c:754
#16 0x00005555557dd5b9 in read_minibuf (map=XIL(0x55557eb4a7c3), initial=XIL(0x55558a5c21a4), prompt=XIL(0x7fffefdf4824), expflag=false, histvar=XIL(0x8700), histpos=make_fixnum(0), defalt=XIL(0x55558a5c2124), allow_props=false, inherit_input_method=false) at minibuf.c:905
#17 0x00005555557df080 in Fread_from_minibuffer (prompt=XIL(0x7fffefdf4824), initial_contents=XIL(0x55558a5c21a4), keymap=XIL(0x55557eb4a7c3), read=XIL(0), hist=XIL(0x8700), default_value=XIL(0x55558a5c2124), inherit_input_method=XIL(0)) at minibuf.c:1394
#18 0x0000555555873862 in funcall_subr (subr=0x555556121220 <Sread_from_minibuffer>, numargs=7, args=0x7fffef1ff320) at eval.c:3173
#19 0x00005555558d6f09 in exec_byte_code (fun=XIL(0x7fffefcabe2d), args_template=1026, nargs=2, args=0x7fffef1ff330) at bytecode.c:812
#20 0x0000555555873de0 in funcall_lambda (fun=XIL(0x7ffff0248595), nargs=8, arg_vector=0x7fffffffc808) at eval.c:3252
#21 0x000055555587305a in funcall_general (fun=XIL(0x7ffff0248595), numargs=8, args=0x7fffffffc808) at eval.c:3044
#22 0x000055555587331f in Ffuncall (nargs=9, args=0x7fffffffc800) at eval.c:3093
#23 0x00005555557e0c78 in Fcompleting_read (prompt=XIL(0x7fffefdf4824), collection=XIL(0x2aaa9a034ed8), predicate=XIL(0x8520), require_match=XIL(0), initial_input=XIL(0x55558a5c21a4), hist=XIL(0x8700), def=XIL(0x55558a5c2124), inherit_input_method=XIL(0)) at minibuf.c:2057
#24 0x00005555558738d2 in funcall_subr (subr=0x5555561214c0 <Scompleting_read>, numargs=7, args=0x7fffef1ff248) at eval.c:3176
#25 0x00005555558d6f09 in exec_byte_code (fun=XIL(0x7fffefcabe2d), args_template=1026, nargs=2, args=0x7fffef1ff258) at bytecode.c:812
#26 0x00005555558d5c4d in Fbyte_code (bytestr=XIL(0x7fffefdf4844), vector=XIL(0x7fffefdf47d5), maxdepth=make_fixnum(6)) at bytecode.c:329
#27 0x0000555555871cae in eval_sub (form=XIL(0x7fffefdf47a3)) at eval.c:2604
#28 0x0000555555871246 in Feval (form=XIL(0x7fffefdf47a3), lexical=XIL(0)) at eval.c:2462
#29 0x0000555555867255 in Fcall_interactively (function=XIL(0x2aaa99c457f8), record_flag=XIL(0), keys=XIL(0x55558a5983c5)) at callint.c:325
#30 0x000055555587371c in funcall_subr (subr=0x5555561298c0 <Scall_interactively>, numargs=3, args=0x7fffef1ff070) at eval.c:3165
#31 0x00005555558d6f09 in exec_byte_code (fun=XIL(0x7ffff044cf8d), args_template=1025, nargs=1, args=0x7fffffffd880) at bytecode.c:812
#32 0x0000555555873de0 in funcall_lambda (fun=XIL(0x7ffff044cf8d), nargs=1, arg_vector=0x7fffffffd878) at eval.c:3252
#33 0x000055555587305a in funcall_general (fun=XIL(0x7ffff044cf8d), numargs=1, args=0x7fffffffd878) at eval.c:3044
#34 0x000055555587331f in Ffuncall (nargs=2, args=0x7fffffffd870) at eval.c:3093
#35 0x0000555555784770 in command_loop_1 () at keyboard.c:1550
#36 0x000055555586f099 in internal_condition_case (bfun=0x555555783e91 <command_loop_1>, handlers=XIL(0x90), hfun=0x555555783284 <cmd_error>) at eval.c:1613
#37 0x0000555555783a34 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168
#38 0x000055555586e3c8 in internal_catch (tag=XIL(0x122d0), func=0x555555783a06 <command_loop_2>, arg=XIL(0x90)) at eval.c:1292
#39 0x00005555557839c2 in command_loop () at keyboard.c:1146
#40 0x0000555555782d06 in recursive_edit_1 () at keyboard.c:754
#41 0x0000555555782f3a in Frecursive_edit () at keyboard.c:837
#42 0x000055555577e4e4 in main (argc=7, argv=0x7fffffffdd68) at emacs.c:2646
++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 = (char *) $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)
"read-from-minibuffer"++++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff320)
+++++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 = (char *) $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)
"completing-read-default"++++++printf " (0x%x)\n", backtrace_args ($bt)
(0xffffc808)
+++++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 = (char *) $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)
"completing-read"++++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff248)
+++++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 = (char *) $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)
"read-file-name-default"++++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff178)
+++++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 = (char *) $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)
"read-file-name"++++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff0f8)
+++++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 = (char *) $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)
"byte-code"++++++printf " (0x%x)\n", backtrace_args ($bt)
(0xffffcee0)
+++++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 = (char *) $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)
"call-interactively"++++++printf " (0x%x)\n", backtrace_args ($bt)
(0xef1ff070)
+++++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 = (char *) $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)
(0xffffd878)
+++++set $bt = backtrace_next ($bt)
+pwd
Working directory /usr/local/src/emacs/git/WTs/emacs-30.
+git log --oneline -1
Undefined command: "git". Try "help".
+sh git log --oneline -1
Ambiguous command "sh git log --oneline -1": sharedlibrary, shell, show.
+shell git log --oneline -1
+set logging file /tmp/emacs.crash.gdb.log
+set logging on
Already logging to gdb.txt.
+pwd
Working directory /usr/local/src/emacs/git/WTs/emacs-30.
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: andrei.elkin@HIDDEN Subject: bug#79839: Acknowledgement (emacs 30.1 crashes with XNextRequest..Frecursive_edit stack ) Message-ID: <handler.79839.B.176320215030005.ack <at> debbugs.gnu.org> References: <87ecpzwqie.fsf@quad> X-Gnu-PR-Message: ack 79839 X-Gnu-PR-Package: emacs Reply-To: 79839 <at> debbugs.gnu.org Date: Sat, 15 Nov 2025 10:23:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 79839 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 79839: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79839 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: bug#79839: emacs 30.1 crashes with XNextRequest..Frecursive_edit stack
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 15 Nov 2025 11:49:02 +0000
Resent-Message-ID: <handler.79839.B79839.176320730211972 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79839
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: andrei.elkin@HIDDEN
Cc: 79839 <at> debbugs.gnu.org
Received: via spool by 79839-submit <at> debbugs.gnu.org id=B79839.176320730211972
(code B ref 79839); Sat, 15 Nov 2025 11:49:02 +0000
Received: (at 79839) by debbugs.gnu.org; 15 Nov 2025 11:48:22 +0000
Received: from localhost ([127.0.0.1]:34174 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vKElS-000370-4v
for submit <at> debbugs.gnu.org; Sat, 15 Nov 2025 06:48:22 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:51698)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vKElP-00036s-Vd
for 79839 <at> debbugs.gnu.org; Sat, 15 Nov 2025 06:48:20 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1vKElJ-0003yV-RW; Sat, 15 Nov 2025 06:48:13 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=ziePrLYPpu81w4UYHKYQksKlfeZtTJcavU+QQTE1AA0=; b=NVHxVp6nJI/6
aSMac9IPVaql6tIkJ6sbnO/UaqeYJdjnOhtCzKshgUd7i8VGcW+qpqitVsSBy7F0XTL42362TXnqd
ND1yo3b23PaghSDm9k+0paMLMi8UcTBkqFuYOeldzxbAxZZ0GQQ9UPLwQ0gMiZbp5L+L6cg1oGpqM
/ipJS3+O1an5m+/dqPAkRof98YwUTCXazxHkdXpsfwZC4VWhoO14VNS9NwHQMiSYzSVgPVBs15Dzh
Q9OYrfmp769Z0pA9zEfUg+O+A7Z2pEzafZH5Ry5cwY7qYImYgbxBmCETl4JHmWbYFoQq6itma/u1c
M3aQuGhZ8knjrn5JeGI5MQ==;
Date: Sat, 15 Nov 2025 13:48:11 +0200
Message-Id: <867bvro6tg.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87ecpzwqie.fsf@quad> (bug-gnu-emacs@HIDDEN)
References: <87ecpzwqie.fsf@quad>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
> Date: Sat, 15 Nov 2025 12:15:37 +0200
> From: andrei.elkin--- via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>
> emacs-30.1 0974418f2a8 built
>
> $ ./configure --with-x-toolkit=lucid --enable-checking=yes,glyphs --enable-check-lisp-object-type 'CFLAGS=-ggdb3 -O0' LDFLAGS=-ggdb3 'CXXFLAGS=-ggdb3 -O0' --no-create
>
> from sources worked for few days in gdb session to evenually crash.
> The gdb session is alive so I can dig out details necessary for investigation.
> The log of it follows at the end of the report.
> I conclude the current log with
>
> (gdb) xbacktrace
>
> As I've observed this sort of crash for a number of times I decided
> to catch it with dbg.
> I believe the use of lsp package matters in reproducing (reminds me of
> bug#48252, and to lesser degree of bug#70495).
> Without having lsp-mode buffers
> my emacs session normally lasts much longer that few weeks.
>
> To the current crash, I had two active rr-"gdb" sessions (gud-mode) and
> some number of buffers (like 20) in lsp-mode.
> The crash occured at time I was (about or already) typing something in a
> gud-mode buffer.
The backtrace seems to suggest that the segfault happened when Emacs
was processing a selection request, while you were in recursive-edit
due to reading from the minibuffer:
> Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
> 0x00007ffff7ba83fb in XNextRequest () from /lib/x86_64-linux-gnu/libX11.so.6
> +bt
> #0 0x00007ffff7ba83fb in XNextRequest () at /lib/x86_64-linux-gnu/libX11.so.6
> #1 0x000055555573a8a3 in x_catch_errors_with_handler (dpy=0x0, handler=0x0, handler_data=0x0) at xterm.c:26401
> #2 0x000055555573a8ee in x_catch_errors (dpy=0x0) at xterm.c:26410
> #3 0x0000555555764014 in x_atom_to_symbol (dpyinfo=0x555573366f30, atom=508) at xselect.c:256
> #4 0x000055555576570e in x_handle_selection_request (event=0x7fffffffb680) at xselect.c:1116
> #5 0x00005555557661ed in x_handle_selection_event (event=0x7fffffffb680) at xselect.c:1374
> #6 0x000055555578d226 in process_special_events () at keyboard.c:4557
> #7 0x000055555578d278 in swallow_events (do_display=false) at keyboard.c:4599
> #8 0x00005555557882c2 in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fffffffbaa9, end_time=0x0) at keyboard.c:2668
What is "atom = 508" in frame #3 above?
> #9 0x000055555579ce34 in read_key_sequence (keybuf=0x7fffffffbcd0, prompt=..., dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:10743
> #10 0x00005555557842df in command_loop_1 () at keyboard.c:1429
> #11 0x000055555586f099 in internal_condition_case (bfun=0x555555783e91 <command_loop_1>, handlers=..., hfun=0x555555783284 <cmd_error>) at eval.c:1613
> #12 0x0000555555783a34 in command_loop_2 (handlers=...) at keyboard.c:1168
> #13 0x000055555586e3c8 in internal_catch (tag=..., func=0x555555783a06 <command_loop_2>, arg=...) at eval.c:1292
> #14 0x0000555555783946 in command_loop () at keyboard.c:1138
> #15 0x0000555555782d06 in recursive_edit_1 () at keyboard.c:754
> #16 0x00005555557dd5b9 in read_minibuf (map=..., initial=..., prompt=..., expflag=false, histvar=..., histpos=..., defalt=..., allow_props=false, inherit_input_method=false) at minibuf.c:905
> #17 0x00005555557df080 in Fread_from_minibuffer (prompt=..., initial_contents=..., keymap=..., read=..., hist=..., default_value=..., inherit_input_method=...) at minibuf.c:1394
If you can build the current master branch, it would be good to know
whether the same problems happen there, since we don't plan any
further releases from the emacs-30 branch.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79839: emacs 30.1 crashes with XNextRequest..Frecursive_edit stack
Resent-From: andrei.elkin@HIDDEN
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 15 Nov 2025 12:26:01 +0000
Resent-Message-ID: <handler.79839.B79839.176320952317497 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79839
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 79839 <at> debbugs.gnu.org
Received: via spool by 79839-submit <at> debbugs.gnu.org id=B79839.176320952317497
(code B ref 79839); Sat, 15 Nov 2025 12:26:01 +0000
Received: (at 79839) by debbugs.gnu.org; 15 Nov 2025 12:25:23 +0000
Received: from localhost ([127.0.0.1]:34265 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vKFLH-0004XP-3F
for submit <at> debbugs.gnu.org; Sat, 15 Nov 2025 07:25:23 -0500
Received: from smtpout03.dka.mailcore.net ([185.138.56.203]:23831)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <andrei.elkin@HIDDEN>)
id 1vKFLE-0004SP-C6
for 79839 <at> debbugs.gnu.org; Sat, 15 Nov 2025 07:25:21 -0500
Received: from SMTP.DKA.mailcore.net (unknown [10.1.0.53])
by SMTPOUT01.DKA.mailcore.net (Postfix) with ESMTP id 66B66E0073;
Sat, 15 Nov 2025 13:25:14 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=inet.fi; s=mailcore;
t=1763209514; bh=SWHmEqLHaYEnURdbFYHKd9niAVLnAcVNk39ZOovxRaY=;
h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
b=CDUsn+fG/QAe20dZl3Yv6F8WYhblPVdIE0uEAY1GPPv2oV37Wtli05VWu/mvpE31G
IexDsBMxcP66Hk+30iuro8lsmTfwGwuyPU8p4brSFoFFpFsG/d3wCZuIDaA31UVda7
3s8pzPSI2ddE0gEMUJAJ19Poo+OGhAn3h1KWG6c5yaPHjny6WxtTn6UWk/FLwgtuyZ
4edoDxMzyEfqSjGdyTDca9pI7J4JCtAr/tZEiIYiT3uo6aG+SmG5+yeopXReS3q39M
1UZlXqI7d6wmjWXn5U/3lmiJzpWL7CMdL+/RWLeV1MmAn7MnJ3sjDQRmrnHXnlOgcV
uCykkbIc+OySg==
Received: from quad (mobile-user-2e84b9-5.dhcp.inet.fi [46.132.185.5])
by SMTP.DKA.mailcore.net (Postfix) with ESMTPSA id 1A9F440138;
Sat, 15 Nov 2025 13:25:14 +0100 (CET)
From: andrei.elkin@HIDDEN
Organization: Home sweet home
References: <87ecpzwqie.fsf@quad> <867bvro6tg.fsf@HIDDEN>
Date: Sat, 15 Nov 2025 14:24:54 +0200
In-Reply-To: <867bvro6tg.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 15 Nov
2025 13:48:11 +0200")
Message-ID: <87a50nwkix.fsf@quad>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
Howdy Eli!
>> From: andrei.elkin--- via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>>
>> emacs-30.1 0974418f2a8 built
>> ...
> The backtrace seems to suggest that the segfault happened when Emacs
> was processing a selection request, while you were in recursive-edit
> due to reading from the minibuffer:
>
>> Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
>> 0x00007ffff7ba83fb in XNextRequest () from /lib/x86_64-linux-gnu/libX11.so.6
>> +bt
>> #0 0x00007ffff7ba83fb in XNextRequest () at /lib/x86_64-linux-gnu/libX11.so.6
>> #1 0x000055555573a8a3 in x_catch_errors_with_handler (dpy=0x0,
>> handler=0x0, handler_data=0x0) at xterm.c:26401
>> #2 0x000055555573a8ee in x_catch_errors (dpy=0x0) at xterm.c:26410
>> #3 0x0000555555764014 in x_atom_to_symbol (dpyinfo=0x555573366f30, atom=508) at xselect.c:256
>> #4 0x000055555576570e in x_handle_selection_request (event=0x7fffffffb680) at xselect.c:1116
>> #5 0x00005555557661ed in x_handle_selection_event (event=0x7fffffffb680) at xselect.c:1374
>> #6 0x000055555578d226 in process_special_events () at keyboard.c:4557
>> #7 0x000055555578d278 in swallow_events (do_display=false) at keyboard.c:4599
>> #8 0x00005555557882c2 in read_char (commandflag=1, map=...,
>> prev_event=..., used_mouse_menu=0x7fffffffbaa9, end_time=0x0) at
>> keyboard.c:2668
>
> What is "atom = 508" in frame #3 above?
the value comes from the #4
/usr/local/src/emacs/git/WTs/emacs-30/src/xselect.c:1116:31492:beg:0x55555576570e
(gdb) li
+li
1111 Time local_selection_time;
1112 struct x_display_info *dpyinfo = SELECTION_EVENT_DPYINFO (event);
1113 Atom selection = SELECTION_EVENT_SELECTION (event);
1114 Lisp_Object selection_symbol = x_atom_to_symbol (dpyinfo, selection);
1115 Atom target = SELECTION_EVENT_TARGET (event);
1116 Lisp_Object target_symbol = x_atom_to_symbol (dpyinfo, target);
1117 Atom property = SELECTION_EVENT_PROPERTY (event);
1118 Lisp_Object local_selection_data;
1119 bool success = false;
1120 specpdl_ref count = SPECPDL_INDEX ();
(gdb) p target
+p target
$3 = 508
(gdb) p event
+p event
$4 = (struct selection_input_event *) 0x7fffffffb680
(gdb) p *event
+p *event
$5 = {
kind = SELECTION_REQUEST_EVENT,
dpyinfo = 0x555573366f30,
requestor = 18874370,
selection = 1,
target = 508,
property = 1360,
time = 700680442
}
>
>> #9 0x000055555579ce34 in read_key_sequence (keybuf=0x7fffffffbcd0,
>> prompt=..., dont_downcase_last=false, can_return_switch_frame=true,
>> fix_current_buffer=true, prevent_redisplay=false,
>> disable_text_conversion_p=false) at keyboard.c:10743
>> #10 0x00005555557842df in command_loop_1 () at keyboard.c:1429
>> #11 0x000055555586f099 in internal_condition_case
>> (bfun=0x555555783e91 <command_loop_1>, handlers=...,
>> hfun=0x555555783284 <cmd_error>) at eval.c:1613
>> #12 0x0000555555783a34 in command_loop_2 (handlers=...) at keyboard.c:1168
>> #13 0x000055555586e3c8 in internal_catch (tag=...,
>> func=0x555555783a06 <command_loop_2>, arg=...) at eval.c:1292
>> #14 0x0000555555783946 in command_loop () at keyboard.c:1138
>> #15 0x0000555555782d06 in recursive_edit_1 () at keyboard.c:754
>> #16 0x00005555557dd5b9 in read_minibuf (map=..., initial=...,
>> prompt=..., expflag=false, histvar=..., histpos=..., defalt=...,
>> allow_props=false, inherit_input_method=false) at minibuf.c:905
>> #17 0x00005555557df080 in Fread_from_minibuffer (prompt=...,
>> initial_contents=..., keymap=..., read=..., hist=...,
>> default_value=..., inherit_input_method=...) at minibuf.c:1394
>
> If you can build the current master branch, it would be good to know
> whether the same problems happen there, since we don't plan any
> further releases from the emacs-30 branch.
Sure, let me do that and I'll share with that comes after that.
Thanks!
/ndrei
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.