Subject: bug#61917: 29.0.60; native compilation issues

From: Naofumi Yasufuku <[email-masked]>
Date: Sun, 26 Mar 2023 04:55:27 +0900

Andrea Corallo <[email-masked]> writes:

> Naofumi Yasufuku <[email-masked]> writes:
>>
>> My latest emacs-29 08fbc133756 build (includes bug#61917 fixes)
>> fails to start with the following errors after recompiling eln-cache:
>>
>> ------------------------------------------------------------------------
>> Loading /Users/naofumi/.ddskk/init (native compiled elisp)...done
>> skk-emacs-prepare-modeline-properties: Wrong type argument: listp, :type
>> Error in post-command-hook (yas--post-command-handler): (wrong-number-of-arguments #<subr signal> 1) [2 times]
>> ------------------------------------------------------------------------
>
> Hi Naofumi,
>
> could you please provide a reproducer so we can investigate this issue?
>

Hello, Andrea

I tried to find some simple recipe, but I couldn't.
The following is a bit complicated YASnippet case:

STEP 1) Clone YASnippet, E.g.

  $ mkdir ~/.emacs.d/site-lisp-29
  $ cd ~/.emacs.d/site-lisp-29
  $ git clone https://github.com/joaotavora/yasnippet.git

STEP 2) emacs -Q

STEP 3) Byte compile yasnippet.el, then enable yas-global-mode

  (push (locate-user-emacs-file "site-lisp-29/yasnippet") load-path)
  (byte-compile-file (locate-user-emacs-file "site-lisp-29/yasnippet/yasnippet.el"))
  (require 'yasnippet)
  (yas-global-mode 1)

----------------------------
 *Warnings*
----------------------------
⛔ Warning (comp): yasnippet.el:475:2: Warning: defvar `yas-after-exit-snippet-hook' docstring wider than 80 characters
⛔ Warning (comp): yasnippet.el:557:2: Warning: custom-declare-variable `yas-keymap-disable-hook' docstring wider than 80 characters
⛔ Warning (comp): yasnippet.el:1810:2: Warning: docstring wider than 80 characters
⛔ Warning (comp): yasnippet.el:2982:2: Warning: docstring wider than 80 characters
⛔ Warning (comp): yasnippet.el:3732:4: Warning: `declare' after `interactive'
⛔ Warning (comp): yasnippet.el:4735:2: Warning: docstring wider than 80 characters
⛔ Warning (comp): lisp.h:1289: Emacs fatal error: assertion failed: FIXNUMP (a)

----------------------------
 *Async-native-compile-log*
----------------------------
Compiling /home/naofumi/.emacs.d/site-lisp-29/yasnippet/yasnippet.el...

In toplevel form:
yasnippet.el:475:2: Warning: defvar `yas-after-exit-snippet-hook' docstring wider than 80 characters
yasnippet.el:557:2: Warning: custom-declare-variable `yas-keymap-disable-hook' docstring wider than 80 characters

In yas-define-snippets:
yasnippet.el:1810:2: Warning: docstring wider than 80 characters

In yas-longest-key-from-whitespace:
yasnippet.el:2982:2: Warning: docstring wider than 80 characters

In yas-skip-and-clear-or-delete-char:
yasnippet.el:3732:4: Warning: `declare' after `interactive'

In yas--field-parse-create:
yasnippet.el:4735:2: Warning: docstring wider than 80 characters

lisp.h:1289: Emacs fatal error: assertion failed: FIXNUMP (a)
Fatal error 6: Aborted
Backtrace:
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x24efa0)[0x560461b30fa0]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x2147f1)[0x560461af67f1]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x2cad55)[0x560461bacd55]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x36f6f5)[0x560461c516f5]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x3735ca)[0x560461c555ca]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x37478a)[0x560461c5678a]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x37a2fd)[0x560461c5c2fd]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x37c1b0)[0x560461c5e1b0]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309cac)[0x560461bebcac]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x30973f)[0x560461beb73f]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309a8d)[0x560461beba8d]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/native-lisp/29.0.60-1d11f894/comp-7672a6ed-a5895679.eln(F636f6d702d636f6d70696c652d637478742d746f2d66696c65_comp_compile_ctxt_to_file_0+0x1a1)[0x7fd2331d45c1]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309cac)[0x560461bebcac]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x30973f)[0x560461beb73f]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309a8d)[0x560461beba8d]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/native-lisp/29.0.60-1d11f894/comp-7672a6ed-a5895679.eln(F636f6d702d66696e616c31_comp_final1_0+0xc5)[0x7fd2331d47e5]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309c96)[0x560461bebc96]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x30973f)[0x560461beb73f]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309a8d)[0x560461beba8d]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/native-lisp/29.0.60-1d11f894/comp-7672a6ed-a5895679.eln(F636f6d702d66696e616c_comp_final_0+0xe7)[0x7fd2331d4a17]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309cac)[0x560461bebcac]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x30973f)[0x560461beb73f]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309a8d)[0x560461beba8d]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/native-lisp/29.0.60-1d11f894/comp-7672a6ed-a5895679.eln(F636f6d702d2d6e61746976652d636f6d70696c65_comp__native_compile_0+0x822)[0x7fd2331d8ea2]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x308227)[0x560461bea227]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x34efc5)[0x560461c30fc5]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x34f825)[0x560461c31825]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x34fb6e)[0x560461c31b6e]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/../native-lisp/29.0.60-1d11f894/preloaded/mule-3352613d-8856059e.eln(F6c6f61642d776974682d636f64652d636f6e76657273696f6e_load_with_code_conversion_0+0x384)[0x7fd234843d74]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309d72)[0x560461bebd72]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x30973f)[0x560461beb73f]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309a8d)[0x560461beba8d]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x348a8c)[0x560461c2aa8c]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x34cbcb)[0x560461c2ebcb]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/../native-lisp/29.0.60-1d11f894/preloaded/startup-bbc6ea72-10e8addb.eln(F636f6d6d616e642d6c696e652d31_command_line_1_0+0x1719)[0x7fd234889fa9]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309cac)[0x560461bebcac]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x30973f)[0x560461beb73f]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309a8d)[0x560461beba8d]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/../native-lisp/29.0.60-1d11f894/preloaded/startup-bbc6ea72-10e8addb.eln(F636f6d6d616e642d6c696e65_command_line_0+0x1afc)[0x7fd2348810cc]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309c96)[0x560461bebc96]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x30973f)[0x560461beb73f]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x309a8d)[0x560461beba8d]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/../native-lisp/29.0.60-1d11f894/preloaded/startup-bbc6ea72-10e8addb.eln(F6e6f726d616c2d746f702d6c6576656c_normal_top_level_0+0xde7)[0x7fd23487ccc7]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x30819c)[0x560461bea19c]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x307828)[0x560461be9828]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x21ce67)[0x560461afee67]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x305054)[0x560461be7054]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x21ceaf)[0x560461afeeaf]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x304284)[0x560461be6284]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x21cd86)[0x560461afed86]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x21c160)[0x560461afe160]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x21c37d)[0x560461afe37d]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x217b24)[0x560461af9b24]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea)[0x7fd239049d0a]
/home/naofumi/src/git.sv.gnu.org/debug/emacs-29/src/emacs(+0x4978a)[0x56046192b78a]
Compilation finished.
--------------------------------

STEP 3') Native compile yasnippet.el

  (native-compile (locate-user-emacs-file "site-lisp-29/yasnippet/yasnippet.el"))

----------------------------
 *Backtrace*
----------------------------
Debugger entered--Lisp error: (wrong-type-argument "~/.emacs.d/site-lisp-29/yasnippet/yasnippet.el" number-or-marker-p "Aborted")
  signal(wrong-type-argument ("~/.emacs.d/site-lisp-29/yasnippet/yasnippet.el" number-or-marker-p "Aborted"))
  comp--native-compile("~/.emacs.d/site-lisp-29/yasnippet/yasnippet.el" nil nil)
  native-compile("~/.emacs.d/site-lisp-29/yasnippet/yasnippet.el")
  (progn (native-compile (locate-user-emacs-file "site-lisp-29/yasnippet/yasnippet.el")))
  elisp--eval-last-sexp(t)
  eval-last-sexp(t)
  eval-print-last-sexp(nil)
  funcall-interactively(eval-print-last-sexp nil)
  command-execute(eval-print-last-sexp)

----------------------------
In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw3d scroll bars) of 2023-03-26 built on titan
Repository revision: 08fbc133756be38c02f04f64dbe0e2c9c1d0f228
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12101006
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure 'CFLAGS=-g3 -O0' TMPDIR=/home/naofumi/tmp
 --enable-checking=yes,glyphs --enable-check-lisp-object-type
 --prefix=/home/naofumi/.local/emacs/emacs-29 --with-x
 --with-x-toolkit=lucid --with-mailutils --with-native-compilation'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XAW3D XDBE XIM XINPUT2 XPM
LUCID ZLIB

Important settings:
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_TIME: C
  value of $LANG: ja_JP.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  yas-global-mode: t
  yas-minor-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: 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 message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa epg rfc6068
epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils help-fns radix-tree cl-print debug
backtrace find-func time-date mule-util display-line-numbers yasnippet
derived easy-mmode byte-opt cl-loaddefs comp comp-cstr warnings icons
subr-x rx cl-seq cl-macs gv cl-extra help-mode cl-lib compile
text-property-search comint ansi-osc ansi-color ring bytecomp
byte-compile japan-util 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 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-tty make-network-process native-compile emacs)

Memory information:
((conses 16 322848 67914)
 (symbols 48 9729 0)
 (strings 32 29727 10387)
 (string-bytes 1 995899)
 (vectors 16 107890)
 (vector-slots 8 3759985 357996)
 (floats 8 37 258)
 (intervals 56 766 39)
 (buffers 984 17))

----------------------------

Best regards,
  Naofumi