Subject: bug#69762: X11 versions of Emacs 29 on sparc fail at startup

From: Ali Bahrami <[email-masked]>
Date: Wed, 13 Mar 2024 23:56:28 -0600

On 3/13/24 6:17 PM, Po Lu wrote:
> Please run Emacs under gdb (or some other suitable debugger, e.g. dbx)
> with the command-line options:
> 
>    -q -xrm 'Emacs.synchronous: True'
> 
> exactly as written above, break on xterm.c:x_error_quitter, and reply
> with the backtrace generated after this breakpoint is hit.

The gdb output follows. Thanks.

- Ali

-----
% gdb src/emacs
GNU gdb (GDB) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.11".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
     <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from src/emacs...
(gdb) break xterm.c:x_error_quitter
warning: could not convert 'x_error_quitter' from the host encoding (ISO-8859-1) to UTF-32.
This normally should not happen, please file a bug report.
Breakpoint 1 at 0x1001acebc: file xterm.c, line 26129.
(gdb) run -q -xrm 'Emacs.synchronous: True'
alib-us:~ alib$ cat Desktop/emacs-x.dbg
% gdb src/emacs
GNU gdb (GDB) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.11".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
     <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from src/emacs...
(gdb) break xterm.c:x_error_quitter
warning: could not convert 'x_error_quitter' from the host encoding (ISO-8859-1) to UTF-32.
This normally should not happen, please file a bug report.
Breakpoint 1 at 0x1001acebc: file xterm.c, line 26129.
(gdb) run -q -xrm 'Emacs.synchronous: True'
Starting program: /builds2/alib/emacs292/emacs-29.2/src/emacs -q -xrm 'Emacs.synchronous: True'
[Thread debugging using libthread_db enabled]
[New Thread 1 (LWP 1)]
[New LWP    2        ]
[New Thread 2 (LWP 2)]
[Switching to Thread 1 (LWP 1)]

Thread 2 hit Breakpoint 1, x_error_quitter (display=0x101534ab0,
     event=0xffffffff7fffdc70) at xterm.c:26129
26129   {
(gdb) where
#0  x_error_quitter (display=0x101534ab0, event=0xffffffff7fffdc70)
     at xterm.c:26129
#1  0x00000001001acff0 in x_error_handler
     (display=<optimized out>, event=0xffffffff7fffdc70) at xterm.c:26117
#2  0x00007ffff09f7ec4 in _XError () at /usr/lib/64/libX11.so.4
#3  0x00007ffff09f27fc in handle_error () at /usr/lib/64/libX11.so.4
#4  0x00007ffff09f3a60 in _XReply () at /usr/lib/64/libX11.so.4
#5  0x00007ffff09e8230 in XSync () at /usr/lib/64/libX11.so.4
#6  0x00007ffff09e82e0 in _XSyncFunction () at /usr/lib/64/libX11.so.4
#7  0x00007ffff0211018 in XSyncCreateFence () at /usr/lib/64/libXext.so.0
#8  0x00000001001a4328 in x_sync_init_fences (f=0x1016fd3e8) at xterm.c:7064
#9  0x00000001001ceb20 in Fx_create_frame (parms=0x1015067d3) at xfns.c:5222
#10 0x0000000100281c40 in funcall_subr
     (subr=0x1008c16b0 <Sx_create_frame>, numargs=1, args=<optimized out>)
     at eval.c:3038
#11 0x00000001002d2cc8 in exec_byte_code
     (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at /builds2/alib/emacs292/emacs-29.2/src/lisp.h:2211
#12 0x000000010027e0f4 in Ffuncall (nargs=2, args=0x1010efe78) at eval.c:2999
#13 0x000000010027e634 in Fapply (nargs=2, args=0x1010efe78) at eval.c:2627
#14 0x0000000100281bc8 in funcall_subr
     (subr=0x1008c89c0 <Sapply>, numargs=2, args=0x1010efe78) at eval.c:3063
#15 0x00000001002d2cc8 in exec_byte_code
     (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at /builds2/alib/emacs292/emacs-29.2/src/lisp.h:2211
#16 0x0000000100283fbc in apply_lambda
     (fun=0xffffffff7ea0fa5d, args=<optimized out>, count=...) at eval.c:3107
#17 0x00000001002820d8 in eval_sub (form=<optimized out>) at eval.c:2592
#18 0x0000000100285260 in Feval
     (form=0xffffffff7eb9242b, lexical=<optimized out>) at eval.c:2365
#19 0x000000010027c4e0 in internal_condition_case
     (bfun=0x1001df06c <top_level_2>, handlers=0x90, hfun=0x1001e792c <cmd_error>) at eval.c:1474
#20 0x00000001001dfbbc in top_level_1 (ignore=<optimized out>)
     at keyboard.c:1150
#21 0x000000010027c414 in internal_catch
     (tag=0xf9c0, func=0x1001dfb74 <top_level_1>, arg=0x0) at eval.c:1197
#22 0x00000001001defdc in command_loop () at keyboard.c:1110
#23 0x00000001001e7328 in recursive_edit_1 () at keyboard.c:720
#24 0x00000001001e785c in Frecursive_edit () at keyboard.c:803
#25 0x00000001001ddd1c in main (argc=4, argv=<optimized out>) at emacs.c:2521