Subject: 31.0.50; igc: crash

From: Óscar Fuentes <[email-masked]>
Date: Sun, 02 Mar 2025 21:32:07 +0100

Emacs just crashed on a session started more than a week ago, IIRC.

The following backtrace is from the core dump. Sorry for not being more
helpful.

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
    at ./nptl/pthread_kill.c:44
#1  0x00007f487751de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6)
    at ./nptl/pthread_kill.c:78
#2  0x00007f48774c9d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x0000556e0ead9d68 in terminate_due_to_signal
    (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at ../../emacs/src/emacs.c:463
#4  0x0000556e0ed16d73 in set_state (state=IGC_STATE_DEAD) at ../../emacs/src/igc.c:1023
#5  set_state (state=IGC_STATE_DEAD) at ../../emacs/src/igc.c:1002
#6  igc_assert_fail (file=<optimized out>, line=<optimized out>, msg=<optimized out>)
    at ../../emacs/src/igc.c:306
#7  0x0000556e0edd0c10 in shieldFlushEntries ()
#8  0x0000556e0edd1b89 in ShieldLeave ()
#9  0x0000556e0edd1d9e in ArenaLeave ()
#10 0x0000556e0eddbd31 in mps_ap_fill ()
#11 0x0000556e0ed164d6 in alloc_impl
    (size=size@entry=88, type=type@entry=IGC_OBJ_VECTOR, ap=0x7f4868001900) at ../../emacs/src/igc.c:4095
#12 0x0000556e0ed1afa8 in alloc (size=88, type=IGC_OBJ_VECTOR) at ../../emacs/src/igc.c:4008
#13 igc_alloc_pseudovector
    (nwords_mem=nwords_mem@entry=9, nwords_lisp=nwords_lisp@entry=0, nwords_zero=nwords_zero@entry=0, tag=tag@entry=PVEC_HASH_TABLE) at ../../emacs/src/igc.c:4277
#14 0x0000556e0ec65bae in allocate_pseudovector
    (memlen=memlen@entry=9, lisplen=lisplen@entry=0, zerolen=zerolen@entry=0, tag=tag@entry=PVEC_HASH_TABLE) at ../../emacs/src/alloc.c:3687
#15 0x0000556e0ec938d4 in allocate_hash_table () at ../../emacs/src/fns.c:4842
#16 make_hash_table (test=0x556e0ee7bf80 <hashtest_equal>, size=2, weak=<optimized out>)
    at ../../emacs/src/fns.c:4897
#17 0x0000556e0ed2a96a in json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1608
#18 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#19 0x0000556e0ed2a61a in json_parse_object_member_value (parser=0x7ffd3b15cdd0)
    at ../../emacs/src/json.c:1522
#20 json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1554
#21 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#22 0x0000556e0ed2a7fa in json_parse_array (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1454
#23 json_parse_value (parser=0x7ffd3b15cdd0, c=91) at ../../emacs/src/json.c:1657
#24 0x0000556e0ed2a61a in json_parse_object_member_value (parser=0x7ffd3b15cdd0)
    at ../../emacs/src/json.c:1522
#25 json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1554
#26 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#27 0x0000556e0ed2a7fa in json_parse_array (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1454
#28 json_parse_value (parser=0x7ffd3b15cdd0, c=91) at ../../emacs/src/json.c:1657
#29 0x0000556e0ed2a61a in json_parse_object_member_value (parser=0x7ffd3b15cdd0)
    at ../../emacs/src/json.c:1522
#30 json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1554
#31 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#32 0x0000556e0ed2a7fa in json_parse_array (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1454
#33 json_parse_value (parser=0x7ffd3b15cdd0, c=91) at ../../emacs/src/json.c:1657
#34 0x0000556e0ed2a61a in json_parse_object_member_value (parser=0x7ffd3b15cdd0)
    at ../../emacs/src/json.c:1522
#35 json_parse_object (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1554
#36 json_parse_value (parser=0x7ffd3b15cdd0, c=<optimized out>) at ../../emacs/src/json.c:1655
#37 0x0000556e0ed2aef5 in json_parse (parser=0x7ffd3b15cdd0) at ../../emacs/src/json.c:1705
#38 Fjson_parse_buffer (nargs=<optimized out>, args=<optimized out>) at ../../emacs/src/json.c:1812
#39 0x0000556e0ecd9cba in exec_byte_code
    (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>)
    at ../../emacs/src/lisp.h:2290
#40 0x0000556e0ec8d858 in Ffuncall (nargs=nargs@entry=3, args=0x7ffd3b15d3d0)
    at ../../emacs/src/eval.c:3115
#41 0x0000556e0ec8dbe4 in Fapply (nargs=nargs@entry=2, args=args@entry=0x7ffd3b15d460)
    at ../../emacs/src/eval.c:2787
#42 0x0000556e0ec8df63 in apply1 (fn=<optimized out>, arg=<optimized out>) at ../../emacs/src/eval.c:3003
#43 0x0000556e0ec88fa2 in internal_condition_case_1
    (bfun=bfun@entry=0x556e0ece67b0 <read_process_output_call>, arg=0x7f4767c4805b, handlers=handlers@entry=0xa8, hfun=hfun@entry=0x556e0ece66f0 <read_process_output_error_handler>) at ../../emacs/src/eval.c:1650
#44 0x0000556e0ece93a6 in read_and_dispose_of_process_output
    (p=<optimized out>, chars=0x556e40d23290 ",{\"detail\":\"void (lxw_workbook *, decltype(lxw_workbook::options))\",\"kind\":6,\"name\":\"w\",\"range\":{\"end\":{\"character\":57,\"line\":12784},\"start\":{\"character\":0,\"line\":12784}},\"selectionRange\":{\"end\":{\"cha"..., nbytes=335897, coding=0x556e2eba74b0)
    at ../../emacs/src/process.c:6523
#45 read_process_output (proc=proc@entry=0x7f4761f7966d, channel=channel@entry=25)
    at ../../emacs/src/process.c:6291
#46 0x0000556e0ecf0c8b in wait_reading_process_output
    (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=true, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=0)
    at ../../emacs/src/process.c:5972
#47 0x0000556e0ec06a2f in kbd_buffer_get_event
    (kbp=<synthetic pointer>, used_mouse_menu=<optimized out>, end_time=<optimized out>)
    at ../../emacs/src/keyboard.c:4115
#48 read_event_from_main_queue
    (end_time=end_time@entry=0x0, local_getcjmp=local_getcjmp@entry=0x7ffd3b15dd20, used_mouse_menu=used_mouse_menu@entry=0x7ffd3b15e00b) at ../../emacs/src/keyboard.c:2336
#49 0x0000556e0ec0c5b6 in read_decoded_event_from_main_queue
    (end_time=<optimized out>, local_getcjmp=<optimized out>, prev_event=<optimized out>, used_mouse_menu=<optimized out>) at ../../emacs/src/keyboard.c:2399
#50 read_char
    (commandflag=1, map=map@entry=0x7f4766b23feb, prev_event=0x0, used_mouse_menu=used_mouse_menu@entry=0x7ffd3b15e00b, end_time=end_time@entry=0x0) at ../../emacs/src/keyboard.c:3031
#51 0x0000556e0ec0f651 in read_key_sequence
    (keybuf=keybuf@entry=0x7ffd3b15e140, prompt=prompt@entry=0x0, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, disable_text_conversion_p=false)
    at ../../emacs/src/keyboard.c:10790
#52 0x0000556e0ec114d8 in command_loop_1 () at ../../emacs/src/keyboard.c:1435
#53 0x0000556e0ec88f26 in internal_condition_case
    (bfun=bfun@entry=0x556e0ec11320 <command_loop_1>, handlers=handlers@entry=0xa8, hfun=hfun@entry=0x556e0ec04560 <cmd_error>) at ../../emacs/src/eval.c:1626
#54 0x0000556e0ebfc43e in command_loop_2 (handlers=handlers@entry=0xa8) at ../../emacs/src/keyboard.c:1174
#55 0x0000556e0ec88e52 in internal_catch
    (tag=tag@entry=0x14dd0, func=func@entry=0x556e0ebfc410 <command_loop_2>, arg=arg@entry=0xa8)
    at ../../emacs/src/eval.c:1305
#56 0x0000556e0ebfc3d3 in command_loop () at ../../emacs/src/keyboard.c:1152
#57 0x0000556e0ec040d6 in recursive_edit_1 () at ../../emacs/src/keyboard.c:760
#58 0x0000556e0ec04488 in Frecursive_edit () at ../../emacs/src/keyboard.c:843
#59 0x0000556e0eae3296 in main (argc=<optimized out>, argv=0x7ffd3b15e5d8) at ../../emacs/src/emacs.c:2580
(gdb) 

In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.18.2) of 2025-02-13 built on zen
Repository revision: 4b28c41c4f2b43add865f9a8727879cb53dad107
Repository branch: feature/igc
Windowing system distributor 'The X.Org Foundation', version 11.0.12101015
System Description: Debian GNU/Linux trixie/sid

Configured using:
 'configure CPPFLAGS=-I/home/oscar/dev/include/mps
 LDFLAGS=-L/home/oscar/dev/other/mps/code --with-native-compilation
 --with-tree-sitter --without-toolkit-scroll-bars --with-x-toolkit=lucid
 --with-modules --without-imagemagick --with-mps=yes'

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

Important settings:
  value of $LANG: C
  locale-coding-system: nil

Major mode: Lisp Interaction

Minor modes in effect:
  xterm-mouse-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  org-roam-db-autosync-mode: t
  fancy-compilation-mode: t
  global-git-commit-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  evil-owl-mode: t
  evil-paredit-mode: t
  evil-local-mode: t
  key-chord-mode: t
  paredit-mode: t
  server-mode: t
  display-fill-column-indicator-mode: t
  vertico-multiform-mode: t
  marginalia-mode: t
  vertico-mode: t
  which-key-mode: t
  global-anzu-mode: t
  anzu-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/oscar/elisp/singles/flx hides /home/oscar/.emacs.d/elpa/flx-20240205.356/flx
/home/oscar/elisp/magit/lisp/magit-section hides /home/oscar/.emacs.d/elpa/magit-section-20250301.1617/magit-section
/home/oscar/elisp/singles/which-key hides /home/oscar/dev/emacs/emacs/lisp/which-key

Features:
(shadow sort mail-extr emacsbug vertico-directory help-fns radix-tree
mule-util fussy xt-mouse term/xterm xterm meteo-radar lsp-dart
lsp-dart-commands lsp-dart-flutter-widget-guide
lsp-dart-flutter-fringe-colors lsp-dart-flutter-colors lsp-dart-outline
lsp-dart-code-lens lsp-lens lsp-dart-test-tree lsp-treemacs
lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs
treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-faces treemacs-icons
treemacs-scope treemacs-themes treemacs-core-utils pfuture hl-line
treemacs-logging treemacs-customization treemacs-macros
lsp-dart-test-output lsp-dart-test-support lsp-dart-dap
lsp-dart-devtools lsp-dart-flutter-daemon jsonrpc dap-utils dom xml
dap-mode dap-tasks dap-launch lsp-docker yaml posframe dap-overlays
lsp-dart-closing-labels lsp-dart-utils lsp-dart-protocol lsp-mode
lsp-protocol tree-widget spinner network-stream nsm markdown-mode lv f
ewoc flymake flycheck lp0-ts-mode lp0-mode symbol-overlay company-ctags
find-file company-fuzzy ht company aggressive-indent deft orgit
emacsql-sqlite-builtin sqlite org-roam-migrate org-roam-log
org-roam-mode org-roam-capture org-roam-id org-roam-node org-roam-db
org-roam-utils org-roam-compat org-roam org-attach emacsql-sqlite
emacsql emacsql-compiler org-noter org-element org-persist org-id
org-element-ast inline avl-tree org-protocol org-capture org-refile
org-crypt org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-src sh-script smie treesit executable ob-comint org-pcomplete
org-list org-footnote org-faces org-entities noutline outline
ob-emacs-lisp ob-core ob-eval org-cycle org-table org-keys oc
org-loaddefs find-func etags-select etags fileloop generator xref
project ol org-fold org-fold-core org-compat org-version org-macs
fancy-compilation ffap magit-bookmark bookmark git-rebase magit-extras
magit-sparse-checkout magit-gitignore magit-ediff ediff magit-subtree
magit-patch magit-submodule magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode
diff git-commit magit-core magit-autorevert autorevert filenotify
magit-margin magit-transient magit-process with-editor shell pcomplete
magit-mode transient magit-git magit-base which-func imenu vc-git
files-x vc-dispatcher magit-section benchmark cursor-sensor crm pulsar
pulse color evil-owl format-spec buffer-flip evil-paredit evil-anzu evil
evil-keybindings evil-integration evil-maps evil-commands reveal
evil-jumps evil-command-window evil-types evil-search evil-ex
evil-macros evil-repeat evil-states evil-core evil-common rect evil-vars
mini-echo mini-echo-segments let-alist hide-mode-line face-remap wgrep
grep ag vc-svn compile comint ansi-osc ansi-color find-dired s dash
key-chord comp comp-cstr warnings comp-run comp-common cmake-mode rx
paredit-menu paredit edmacro kmacro server yasnippet lisp-mnt cl-extra
help-mode psvn wid-edit log-edit message sendmail yank-media puny rfc822
mml mml-sec epa derived epg rfc6068 epg-config gnus-util
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log diff-mode
track-changes pp elp ediff-merg ediff-mult ediff-wind ediff-diff
ediff-help ediff-init ediff-util dired dired-loaddefs
display-fill-column-indicator vertico-multiform marginalia vertico
flx-rs-core flx-rs flx goto-chg avy ring highlight-parentheses ws-butler
which-key diminish cl anzu easy-mmode thingatpt tmr pcase compat solar
cal-dst cal-menu calendar cal-loaddefs finder-inf advice disp-table
company-posframe-autoloads company-autoloads consult-flycheck-autoloads
consult-lsp-autoloads consult-org-roam-autoloads deadgrep-autoloads
eat-autoloads ellama-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads flutter-autoloads flycheck-autoloads
fussy-autoloads flx-autoloads groovy-mode-autoloads llm-autoloads
lsp-dart-autoloads dart-mode-autoloads dap-mode-autoloads bui-autoloads
lsp-docker-autoloads lsp-treemacs-autoloads lsp-ui-autoloads
lsp-mode-autoloads f-autoloads marginalia-autoloads
markdown-mode-autoloads org-roam-autoloads magit-section-autoloads
llama-autoloads emacsql-autoloads plz-event-source-autoloads
plz-media-type-autoloads plz-autoloads pomm-autoloads alert-autoloads
log4e-autoloads gntp-autoloads shell-maker-autoloads spinner-autoloads
symbol-overlay-autoloads treemacs-autoloads cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads info
dash-autoloads vertico-autoloads wgrep-ag-autoloads
wgrep-deadgrep-autoloads wgrep-autoloads yaml-autoloads package
browse-url xdg url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads inotify dynamic-setting
system-font-setting font-render-setting cairo x-toolkit x multi-tty
move-toolbar make-network-process tty-child-frames native-compile mps
emacs)

_________________________________________________________________
________________________________________________________
Your E-Mail. Your Cloud. Your Office. eclipso Mail Europe. https://www.eclipso.de