Subject: 29.0.50; crashes while compiling native code

From: Gregor Zattler <[email-masked]>
Date: Sun, 31 Jul 2022 20:58:49 +0200

Dear emacs developers, earlier today a did build with the
then most recent Emacs sources
(107f832577123ea7ebe867cba55601d0142f546f) on a up-to-date
Debian bullseye.  This was *not* a fresh checkout / make bootstrap.

GNU Emacs 29.0.50 (build 6, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0) of 2022-07-31

This Emacs build was configured like so:

./autogen.sh && ./configure -C $PREFIX
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/${EMACSMAJORVERSION}.${EMACSMINORVERSION}/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/${EMACSMAJORVERSION}.${EMACSMINORVERSION}/site-lisp:/usr/share/emacs/site-lisp
--with-sound=yes --without-gconf --with-mailutils --build
x86_64-linux-gnu
--infodir=/usr/local/share/info:/usr/share/info --with-json
--with-file-notification=yes --with-cairo --with-x=yes
--with-x-toolkit=lucid --without-toolkit-scroll-bars
--enable-checking=yes,glyphs --enable-check-lisp-object-type
--with-native-compilation

CFLAGS=-g3 -O0 -ffile-prefix-map=/home/grfz/src/emacs-master=. -fstack-protector-strong -Wformat -Werror=format-security

After starting up Emacs with my configuration it started
compiling native code and after a few minutes it crashed.  I
realized that this also happens with

emacs -Q -nw init.el

(I wanted to outcomment something):

first (I took a "screenshot" of the whole terminal emulator.
Interesting perhaps is the right hand emacs window):

  ;; I do not use vcsh atm since it's clumsy                                                   | ?  Warning (comp): /usr/local/stow/emacs-snapshot/share/emacs/29.0.50/lisp/emacs-lisp/rx.el.g\
  ;; ;; Define /vcsh:repo: tramp method for use in init files.                                 |z: Error: Wrong type argument integer-or-marker-p
  ;; (use-package tramp                                                                        | ?  Warning (comp): /usr/local/stow/emacs-snapshot/share/emacs/29.0.50/lisp/emacs-lisp/icons.e\
  ;;   :ensure nil                                                                             |l.gz: Error: Wrong type argument integer-or-marker-p
  ;;   :config                                                                                 | ?  Warning (comp): /usr/local/stow/emacs-snapshot/share/emacs/29.0.50/lisp/emacs-lisp/subr-x.\
  ;;   (setq ange-ftp-ftp-program-name "ftp"                                                   |el.gz: Error: Wrong type argument integer-or-marker-p
  ;;         tramp-use-ssh-controlmaster-options nil)                                          | ?  Warning (comp): /usr/local/stow/emacs-snapshot/share/emacs/29.0.50/lisp/emacs-lisp/comp-cs\
  ;;   (add-to-list 'tramp-methods '("vcsh"                                                    |tr.el.gz: Error: Wrong type argument integer-or-marker-p
  ;;                                 (tramp-login-program "vcsh")                              | ?  Warning (comp): /usr/local/stow/emacs-snapshot/share/emacs/29.0.50/lisp/emacs-lisp/warning\
  ;;                                 (tramp-login-args                                         |s.el.gz: Error: Wrong type argument integer-or-marker-p
  ;;                                  (("enter")                                               | ?  Warning (comp): /usr/local/stow/emacs-snapshot/share/emacs/29.0.50/lisp/emacs-lisp/comp.el\
  ;;                                   ("%h")))                                                |.gz: Error: Wrong type argument integer-or-marker-p
  ;;                                 (tramp-remote-shell "/bin/sh")                            | ?  Warning (comp): /usr/local/stow/emacs-snapshot/share/emacs/29.0.50/lisp/misearch.el.gz: Er\
  ;;                                 (tramp-remote-shell-args                                  |ror: Wrong type argument integer-or-marker-p
  ;;                                  ("-c")))))                                               |
-UUU:---  F1  init.el        67%   L104  Git-master  (ELisp/l ElDoc) --------------------------|-UUU:%*-  F1  *Warnings*     All   L2     (Special) -------------------------------------------
Fatal error 6: Aborted
Backtrace:
emacs(+0x219994)[0x55ab7b17b994]
emacs(+0x57602)[0x55ab7afb9602]
emacs(+0x5f412)[0x55ab7afc1412]
emacs(+0x6bb03)[0x55ab7afcdb03]
emacs(+0x2aef60)[0x55ab7b210f60]
emacs(+0x2b04e1)[0x55ab7b2124e1]
emacs(+0x313510)[0x55ab7b275510]
emacs(+0x2aef60)[0x55ab7b210f60]
emacs(+0x1f8d57)[0x55ab7b15ad57]
emacs(+0x1f933d)[0x55ab7b15b33d]
emacs(+0x1f9523)[0x55ab7b15b523]
emacs(+0x1ff118)[0x55ab7b161118]
emacs(+0x32fe03)[0x55ab7b291e03]
emacs(+0x846c8)[0x55ab7afe66c8]
emacs(+0x201689)[0x55ab7b163689]
emacs(+0x202b59)[0x55ab7b164b59]
emacs(+0x204eb6)[0x55ab7b166eb6]
emacs(+0x2ad447)[0x55ab7b20f447]
emacs(+0x1e81f2)[0x55ab7b14a1f2]
emacs(+0x2ad38c)[0x55ab7b20f38c]
emacs(+0x1ea73f)[0x55ab7b14c73f]
emacs(+0x1f336b)[0x55ab7b15536b]
emacs(+0x1f39d4)[0x55ab7b1559d4]
emacs(+0x752d2)[0x55ab7afd72d2]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea)[0x7f62b8f5cd0a]
emacs(+0x762fa)[0x55ab7afd82fa]
Aborted
134

second:

Fatal error 6: Aborted
Backtrace:
emacs(+0x219994)[0x55b7b88da994]
emacs(+0x57602)[0x55b7b8718602]
emacs(+0x5f412)[0x55b7b8720412]
emacs(+0x6b94d)[0x55b7b872c94d]
emacs(+0x6bb1c)[0x55b7b872cb1c]
emacs(+0x2aef60)[0x55b7b896ff60]
emacs(+0x2b04e1)[0x55b7b89714e1]
emacs(+0x313510)[0x55b7b89d4510]
emacs(+0x2aef60)[0x55b7b896ff60]
emacs(+0x2b04e1)[0x55b7b89714e1]
emacs(+0x313510)[0x55b7b89d4510]
emacs(+0x2aef60)[0x55b7b896ff60]
emacs(+0x2b04e1)[0x55b7b89714e1]
emacs(+0x313510)[0x55b7b89d4510]
emacs(+0x2aef60)[0x55b7b896ff60]
emacs(+0x2b04e1)[0x55b7b89714e1]
emacs(+0x313510)[0x55b7b89d4510]
emacs(+0x2aef60)[0x55b7b896ff60]
emacs(+0x1f8d57)[0x55b7b88b9d57]
emacs(+0x1f933d)[0x55b7b88ba33d]
emacs(+0x1f9523)[0x55b7b88ba523]
emacs(+0x1ff118)[0x55b7b88c0118]
emacs(+0x32fe03)[0x55b7b89f0e03]
emacs(+0x846c8)[0x55b7b87456c8]
emacs(+0x201689)[0x55b7b88c2689]
emacs(+0x202b59)[0x55b7b88c3b59]
emacs(+0x204eb6)[0x55b7b88c5eb6]
emacs(+0x2ad447)[0x55b7b896e447]
emacs(+0x1e81f2)[0x55b7b88a91f2]
emacs(+0x2ad38c)[0x55b7b896e38c]
emacs(+0x1ea73f)[0x55b7b88ab73f]
emacs(+0x1f336b)[0x55b7b88b436b]
emacs(+0x1f39d4)[0x55b7b88b49d4]
emacs(+0x752d2)[0x55b7b87362d2]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea)[0x7f5f154a1d0a]
emacs(+0x762fa)[0x55b7b87372fa]
Aborted

third from within gdb (here also the right hand emacs window is not important):

lisp.h:3549: Emacs fatal error: assertion failed: pdl->kind == SPECPDL_BACKTRACE

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:420
420

(gdb) bt                                                                                       |  ;; I do not use vcsh atm since it's clumsy
#0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:420                 |  ;; ;; Define /vcsh:repo: tramp method for use in init files.
#1  0x00005555555b3412 in die (msg=<optimized out>, file=<optimized out>, line=<optimized out>) at alloc.c:7670ge tramp
#2  0x00005555555bfb03 in backtrace_debug_on_exit (pdl=<optimized out>) at lisp.h:3547         |  ;;   :ensure nil
#3  backtrace_debug_on_exit (pdl=<optimized out>) at lisp.h:3547                               |  ;;   :config
#4  exec_byte_code (fun=XIL(0x54), args_template=2147483647, nargs=93825007119635, args=0x7fffef3e40a0) at bytecode.c:887-program-name "ftp"
#5  0x0000555555802f60 in Ffuncall (nargs=1, args=0x7fffef3e4050) at eval.c:2958               |  ;;         tramp-use-ssh-controlmaster-options nil)
#6  0x00005555558044e1 in Fapply (nargs=2, args=0x7fffef3e4050) at eval.c:2582                 |  ;;   (add-to-list 'tramp-methods '("vcsh"
#7  0x0000555555867510 in exec_byte_code (fun=XIL(0x54), args_template=2147483647, nargs=2, args=0x7fffef3e4050) at bytecode.c:809   (tramp-login-program "vcsh")
#8  0x0000555555802f60 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffc820) at eval.c:2958                              (tramp-login-args
#9  0x000055555574cd57 in call1Python Exception <class 'gdb.error'> value has been optimized out: ;;                                  (("enter")
 (arg1=XIL(0x555555eea69d), fn=) at lisp.h:3239                                                |  ;;                                   ("%h")))
#10 timer_check_2Python Exception <class 'gdb.error'> value has been optimized out:            |  ;;                                 (tramp-remote-shell "/bin/sh")
 (idle_timers=, timers=XIL(0)) at keyboard.c:4636                                              |  ;;                                 (tramp-remote-shell-args
#11 timer_check () at keyboard.c:4702                                                          |  ;;                                  ("-c")))))
#12 0x000055555574d33d in readable_events (flags=1) at keyboard.c:3484-------------------------|-UUU:---  F1  init.el        67%   L104  Git-master  (ELisp/l ElDoc) --------------------------
#13 0x000055555574d523 in get_input_pending (flags=1) at keyboard.c:7277
#14 0x0000555555753118 in detect_input_pending_run_timers (do_display=do_display@entry=true) at keyboard.c:10807
#15 0x0000555555883e03 in wait_reading_process_outputPython Exception <class 'gdb.error'> value has been optimized out:

    (time_limit=time_limit@entry=30, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=do_display@entry=true, wait_for_cell=, wait_proc=wait_proc@entry=0x0, just_wait_proc=0)
    at process.c:5732
#16 0x00005555555d86c8 in sit_forPython Exception <class 'gdb.error'> value has been optimized out:
 (timeout=, reading=<optimized out>, display_option=<optimized out>) at dispnew.c:6238
#17 0x0000555555755689 in read_charPython Exception <class 'gdb.error'> value has been optimized out:
Python Exception <class 'gdb.error'> value has been optimized out:
 (commandflag=1, map=, prev_event=, used_mouse_menu=0x7fffffffd11b, end_time=0x0) at lisp.h:760
#18 0x0000555555756b59 in read_key_sequencePython Exception <class 'gdb.error'> value has been optimized out:

    (keybuf=<optimized out>, prompt=, dont_downcase_last=<optimized out>, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9984
#19 0x0000555555758eb6 in command_loop_1 () at lisp.h:1162
#20 0x0000555555801447 in internal_condition_casePython Exception <class 'gdb.error'> value has been optimized out:
 (bfun=bfun@entry=0x555555758c80 <command_loop_1>, handlers=, handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555747c80 <cmd_error>)
    at eval.c:1485
#21 0x000055555573c1f2 in command_loop_2 (handlers=handlers@entry=XIL(0x90)) at keyboard.c:1132
#22 0x000055555580138c in internal_catchPython Exception <class 'gdb.error'> value has been optimized out:
Python Exception <class 'gdb.error'> value has been optimized out:
 (tag=, func=func@entry=0x55555573c1d0 <command_loop_2>, arg=, arg@entry=XIL(0x90)) at eval.c:1208
#23 0x000055555573e73f in command_loop () at keyboard.c:1110
#24 0x000055555574736b in recursive_edit_1 () at keyboard.c:719
#25 0x00005555557479d4 in Frecursive_edit () at keyboard.c:802
#26 0x00005555555c92d2 in main (argc=<optimized out>, argv=<optimized out>) at emacs.c:2517

Lisp Backtrace:

eval.c:116: Emacs fatal error: assertion failed: pdl->kind == SPECPDL_BACKTRACE

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:420
420     {
The program being debugged stopped while in a function called from GDB.
Evaluation of the expression containing the function
(backtrace_function) will be abandoned.
When the function is done executing, GDB will silently stop.
(gdb)

(gdb) xbacktrace

eval.c:116: Emacs fatal error: assertion failed: pdl->kind == SPECPDL_BACKTRACE

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:420
420     {
The program being debugged stopped while in a function called from GDB.
Evaluation of the expression containing the function
(backtrace_function) will be abandoned.
When the function is done executing, GDB will silently stop.

I hope this is somewhat helpful.  Please feel free to ask me
questions but consider that all this is very foreign for me.
So please be very specific.

Ciao,
--
Gregor