unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland
@ 2024-09-03 19:13 Eval EXEC
  2024-09-04 11:52 ` Eli Zaretskii
  2024-09-04 13:40 ` Pip Cet
  0 siblings, 2 replies; 6+ messages in thread
From: Eval EXEC @ 2024-09-03 19:13 UTC (permalink / raw)
  To: emacs-devel



Hello,

I'm help to test scratch/igc branch, and I have a crash When I editing
a rust file, M-x kill-process rust-analyzer, lsp-restart-workspace, 
scrolling, and moving around the rust file buffer.

Sorry, I don't know how to reproduce it. The backtrace is:

```
(gdb) bt
#0  0x00000000006dfe09 in record_backtrace.lto_priv ()
#1  0x00000000006e03df in deliver_profiler_signal ()
#2  <signal handler called>
#3  0x00000000007dea30 in sigHandle ()
#4  <signal handler called>
#5  0x0000000000649910 in plist_get ()
#6  0x000000000051d9bd in resolve_face_name.lto_priv ()
#7  0x00000000005222e1 in get_lface_attributes.lto_priv ()
#8  0x0000000000528bab in lookup_named_face ()
#9  0x00000000004803f8 in extend_face_to_end_of_line.lto_priv ()
#10 0x000000000048d365 in display_line.lto_priv ()
#11 0x000000000047f30f in try_window ()
#12 0x00000000004874d6 in redisplay_window.lto_priv ()
#13 0x000000000047585b in redisplay_window_0 ()
#14 0x000000000064053c in internal_condition_case_1 ()
#15 0x000000000047551e in redisplay_windows ()
#16 0x000000000047c36a in redisplay_internal.lto_priv ()
#17 0x0000000000764211 in redisplay_preserve_echo_area.isra ()
#18 0x000000000074b00c in wait_reading_process_output.constprop ()
#19 0x00000000005933ac in kbd_buffer_get_event ()
#20 0x00000000005962e6 in read_char ()
#21 0x0000000000677266 in Fread_event ()
#22 0x00007f1d6d8efdcf in F7369742d666f72_sit_for_0 ()
   from /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/bin/../lib/emacs/31.0.50/native-lisp/31.0.50-622392ba/preloaded/subr-13adf6a6-cdd9cb44.eln
#23 0x0000000000646450 in Ffuncall ()
#24 0x00007f1d52a7651a in F636f6d70696c6174696f6e2d7374617274_compilation_start_0 ()
   from /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/lib/emacs/31.0.50/native-lisp/31.0.50-622392ba/compile-91e1c2a0-4bfebfca.eln
#25 0x0000000000646450 in Ffuncall ()
#26 0x00007f1d08adfd74 in F72672d72756e_rg_run_0 () from /home/exec/.emacs.d/eln-cache/31.0.50-622392ba/rg-de1efc87-f2936685.eln
#27 0x0000000000646450 in Ffuncall ()
#28 0x0000000000646aa4 in Fapply ()
#29 0x000000000069effa in exec_byte_code ()
#30 0x0000000000646450 in Ffuncall ()
#31 0x00007f1d08ae34a1 in F72672d6477696d2d63757272656e742d66696c65_rg_dwim_current_file_0 () from /home/exec/.emacs.d/eln-cache/31.0.50-622392ba/rg-de1efc87-f2936685.eln
#32 0x0000000000646450 in Ffuncall ()
#33 0x0000000000633c3c in Ffuncall_interactively ()
#34 0x0000000000646450 in Ffuncall ()
#35 0x0000000000646c48 in Fapply ()
#36 0x000000000063d0f6 in Fcall_interactively ()
#37 0x00007f1d08ae35cc in F72672d6477696d2d63757272656e742d66696c652d2d7472616e7369656e74_rg_dwim_current_file__transient_0 () from /home/exec/.emacs.d/eln-cache/31.0.50-622392ba/rg-de1efc87-f2936685.eln
#38 0x0000000000646450 in Ffuncall ()
#39 0x0000000000646c48 in Fapply ()
#40 0x000000000069effa in exec_byte_code ()
#41 0x0000000000646450 in Ffuncall ()
#42 0x0000000000633c3c in Ffuncall_interactively ()
#43 0x0000000000646450 in Ffuncall ()
#44 0x0000000000646d26 in Fapply ()
#45 0x000000000069effa in exec_byte_code ()
#46 0x0000000000646450 in Ffuncall ()
#47 0x0000000000646c48 in Fapply ()
#48 0x000000000069effa in exec_byte_code ()
#49 0x0000000000646450 in Ffuncall ()
#50 0x0000000000633c3c in Ffuncall_interactively ()
#51 0x0000000000646450 in Ffuncall ()
#52 0x0000000000646c48 in Fapply ()
#53 0x000000000063d0f6 in Fcall_interactively ()
#54 0x00007f1d6d6ed885 in F636f6d6d616e642d65786563757465_command_execute_0 ()
   from /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/bin/../lib/emacs/31.0.50/native-lisp/31.0.50-622392ba/preloaded/simple-fab5b0cf-6cd62745.eln
--Type <RET> for more, q to quit, c to continue without paging--c
#55 0x0000000000646450 in Ffuncall ()
#56 0x000000000058d117 in command_loop_1.lto_priv ()
#57 0x00000000006363b7 in internal_condition_case ()
#58 0x000000000058a8f6 in command_loop_2 ()
#59 0x00000000006361d4 in internal_catch ()
#60 0x000000000058cc11 in command_loop.lto_priv ()
#61 0x00000000007608ac in recursive_edit_1.isra ()
#62 0x000000000058eb40 in Frecursive_edit ()
#63 0x0000000000436739 in main ()
(gdb)


```



In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.42, cairo version 1.18.0) of 2024-09-03 built on Mufasa
Repository revision: 6682d0e6c96b0279929e3f47ae0820dd8a513d4b
Repository branch: scratch/igc
Windowing system distributor 'The X.Org Foundation', version 11.0.12401000
System Description: NixOS 24.05 (Uakari)

Configured using:
 'configure 'CFLAGS=-O3 -mtune=native -march=native'
 --prefix=/home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc
 --with-mps=yes --with-imagemagick --with-modules --with-x-toolkit=gtk3
 --without-compress-install --without-toolkit-scroll-bars
 --with-native-compilation --with-mailutils
 --enable-link-time-optimization --with-tree-sitter --with-xinput2
 --with-dbus --with-native-compilation=aot
 --with-file-notification=inotify'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG LCMS2 LIBOTF LIBXML2 MODULES MPS NATIVE_COMP NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TREE_SITTER WEBP X11
XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $EMACSLOADPATH: /nix/store/r6awdsxz4r0zbj5a58c8a93asy5ciqqx-emacs-mu4e-1.12.5/share/emacs/site-lisp/elpa/mu4e-1.12.5:/nix/store/r6awdsxz4r0zbj5a58c8a93asy5ciqqx-emacs-mu4e-1.12.5/share/emacs/site-lisp:
  value of $LC_COLLATE: C
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=fcitx
  locale-coding-system: utf-8-unix

Major mode: mu4e:main

Minor modes in effect:
  flycheck-status-emoji-mode: t
  flycheck-pos-tip-mode: t
  savehist-mode: t
  marginalia-mode: t
  keycast-tab-bar-mode: t
  global-treesit-auto-mode: t
  restore-point-mode: t
  global-atomic-chrome-edit-mode: t
  tab-line-nerd-icons-global-mode: t
  global-tab-line-mode: t
  tab-line-mode: t
  project-x-mode: t
  org-roam-db-autosync-mode: t
  global-org-modern-mode: t
  mu4e-marker-icons-mode: t
  treemacs-project-follow-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  mu4e-search-minor-mode: t
  mu4e-update-minor-mode: t
  mu4e-context-minor-mode: t
  mu4e-modeline-mode: t
  corfu-popupinfo-mode: t
  global-corfu-mode: t
  corfu-mode: t
  editorconfig-mode: t
  activities-tabs-mode: t
  activities-mode: t
  burly-tabs-mode: t
  global-form-feed-st-mode: t
  eat-eshell-mode: t
  sly-symbol-completion-mode: t
  minions-mode: t
  engine-mode: t
  hes-mode: t
  global-hungry-delete-mode: t
  hungry-delete-mode: t
  super-save-mode: t
  windmove-mode: t
  save-place-mode: t
  recentf-mode: t
  winner-mode: t
  pdf-occur-global-minor-mode: t
  persistent-scratch-autosave-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  nerd-icons-completion-mode: t
  global-diff-hl-show-hunk-mouse-mode: t
  diff-hl-show-hunk-mouse-mode: t
  diff-hl-flydiff-mode: t
  diff-hl-margin-mode: t
  global-diff-hl-mode: t
  sudo-edit-indicator-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-visualstar-mode: t
  evil-visualstar-mode: t
  evil-commentary-mode: t
  global-evil-mc-mode: t
  evil-mc-mode: t
  evil-lion-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  global-evil-collection-unimpaired-mode: t
  evil-collection-unimpaired-mode: t
  TeX-PDF-mode: t
  global-git-commit-mode: t
  server-mode: t
  global-dash-fontify-mode: t
  el-patch-use-package-mode: t
  global-auto-revert-mode: t
  evil-mode: t
  evil-local-mode: t
  general-override-mode: t
  which-key-mode: t
  elpaca-use-package-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: -1
  line-number-mode: -1
  global-visual-line-mode: t
  visual-line-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:
/home/exec/.emacs.d/elpaca/builds/modus-themes/theme-loaddefs hides /home/exec/.emacs.d/elpaca/builds/standard-themes/theme-loaddefs
/home/exec/.emacs.d/elpaca/builds/modus-themes/theme-loaddefs hides /home/exec/.emacs.d/elpaca/builds/ef-themes/theme-loaddefs
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-core hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-core
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-conf-mode hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-conf-mode
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-tools hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-tools
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-fnmatch hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-fnmatch
/home/exec/.emacs.d/elpaca/builds/which-key/which-key hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/which-key
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-core-handle hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-core-handle
/home/exec/.emacs.d/elpaca/builds/modus-themes/theme-loaddefs hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/theme-loaddefs
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig
/home/exec/.emacs.d/elpaca/builds/transient/transient hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug dired-aux nerd-icons-dired diredfl
gptel-curl dabbrev cape consult-imenu symbol-overlay elisp-autofmt
highlight-defined info-colors lsp-diagnostics lsp-modeline lsp-ui
lsp-ui-flycheck lsp-ui-doc evil-collection-lsp-ui-imenu lsp-ui-imenu
lsp-ui-peek lsp-ui-sideline lsp-ui-util lsp-zig lsp-yang lsp-yaml
lsp-xml lsp-wgsl lsp-volar lsp-vimscript lsp-vhdl lsp-vetur lsp-html
lsp-verilog lsp-vala lsp-v lsp-typeprof lsp-ttcn3 lsp-trunk lsp-toml
lsp-tilt lsp-tex lsp-terraform lsp-svelte lsp-steep lsp-sqls lsp-sql
lsp-sorbet lsp-solidity lsp-solargraph lsp-semgrep lsp-rust lsp-ruff-lsp
lsp-ruby-syntax-tree lsp-ruby-lsp lsp-rubocop lsp-roslyn lsp-rf
lsp-remark lsp-racket lsp-r lsp-qml lsp-pyright lsp-pylsp lsp-pyls
lsp-pwsh lsp-purescript lsp-pls lsp-php lsp-perlnavigator lsp-perl
lsp-openscad lsp-ocaml lsp-nushell lsp-nix lsp-nim lsp-nginx lsp-move
lsp-mojo lsp-mint lsp-meson lsp-mdx lsp-marksman lsp-markdown lsp-magik
lsp-lua lsp-lisp lsp-kotlin lsp-json lsp-jq lsp-javascript lsp-idris
lsp-haxe lsp-hack lsp-groovy lsp-graphql lsp-golangci-lint lsp-glsl
lsp-gleam lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang
lsp-emmet lsp-elm lsp-elixir lsp-earthly lsp-dockerfile lsp-dhall lsp-d
lsp-cypher lsp-cucumber lsp-css lsp-csharp lsp-crystal lsp-credo
lsp-cobol lsp-cmake lsp-clojure lsp-clangd lsp-bufls lsp-go
lsp-completion lsp-beancount lsp-bash lsp-awk lsp-autotools lsp-astro
lsp-asm lsp-ansible lsp-angular lsp-ada lsp-semantic-tokens
lsp-actionscript copilot copilot-balancer jsonrpc flycheck-status-emoji
flycheck-pos-tip pos-tip sideline-flycheck rust-ts-mode savehist
marginalia keycast treesit-auto restore-point
evil-collection-atomic-chrome atomic-chrome go-translate gt-text-utility
gt-engine-echo gt-engine-libre gt-engine-chatgpt gt-engine-youdao
gt-engine-stardict gt-engine-deepl gt-engine-google-rpc gt-engine-google
gt-engine-bing gt-extension gt-faces gt-core gt-httpx alert gntp sdcv
cap-words superword subword transient-dwim tab-line-nerd-icons
evil-collection-imenu-list imenu-list hideshow tab-line smartparens-rust
rust-utils rust-prog-mode rust-mode rust-playpen rust-compile rust-cargo
rust-common rust-rustfmt rg-info-hack rg-menu rg-ibuffer rg-result
wgrep-rg rg-history rg-header project-x smartparens-config
smartparens-javascript smartparens-rst smartparens-org
smartparens-python smartparens-markdown smartparens-text
smartparens-latex smartparens-html smartparens-go smartparens-ess
smartparens-clojure smartparens-c smartparens loadhist
evil-collection-org-roam org-roam-migrate org-roam-log org-roam-mode
org-roam-capture org-roam-id org-roam-node org-roam-db
emacsql-sqlite-builtin sqlite org-roam-utils org-roam-compat org-roam
org-capture org-attach emacsql-sqlite org-journal org-crypt cal-iso
org-modern orderless mu4e-marker-icons dap-java dap-mode dap-tasks
dap-launch lsp-docker dap-overlays lsp-java treemacs-nerd-icons
lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib
treemacs-git-commit-diff-mode treemacs-project-follow-mode zoom 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
treemacs-logging treemacs-customization treemacs-macros lsp-mode
lsp-protocol network-stream consult-lsp copilot-chat copilot-chat-org
copilot-chat-markdown copilot-chat-copilot gptel-quick
go-translate-autoloads alert-autoloads gntp-autoloads sdcv-autoloads
transient-dwim-autoloads tab-line-nerd-icons-autoloads
rust-mode-autoloads rg-autoloads transient-autoloads project-x-autoloads
smartparens-autoloads consult-org-roam-autoloads org-roam-autoloads
org-journal-autoloads org-modern-autoloads orderless-autoloads
mu4e-marker-icons-autoloads lsp-java-autoloads dap-mode-autoloads
bui-autoloads lsp-treemacs-autoloads lsp-docker-autoloads
lsp-pyright-autoloads consult-lsp-autoloads lsp-ui-autoloads
lsp-mode-autoloads imenu-list-autoloads copilot-chat-autoloads
gptel-quick-autoloads evil-collection-rg rg pixel-scroll cua-base piper
evil-collection-mu4e mu4e mu4e-org mu4e-notification mu4e-main smtpmail
mu4e-view mu4e-mime-parts mu4e-headers mu4e-thread mu4e-actions
mu4e-compose mu4e-draft gnus-msg gnus-art mm-uu mml2015 gnus-sum
gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail
mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win mu4e-search
mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message flow-fill mule-util
mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items
mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window
ido mu4e-obsolete molecule-mode lsp hyperbole pangu-spacing breadcrumb
pr-review pr-review-render pr-review-action pr-review-input
pr-review-api pr-review-common evil-collection-forge forge-repos
forge-tablist forge-topics forge-commands forge-semi forge-bitbucket
buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github
ghub-graphql treepy gsexp ghub forge-notify forge-revnote forge-pullreq
forge-issue forge-topic yaml eieio-custom bug-reference forge-post
forge-repo forge forge-core forge-db closql emacsql-sqlite-common
emacsql emacsql-compiler eieio-base cargo-mode
evil-collection-markdown-mode markdown-mode gptel-transient gptel-ollama
gptel gptel-org gptel-openai gotest fzf sideline flycheck-inline
quick-peek consult-flycheck evil-collection-flycheck flycheck
evil-collection-ement ement-room-list ement ement-notifications
ement-notify notifications ement-room ement-lib ement-api ement-structs
ement-macros taxy-magit-section taxy dns ellama llm-ollama
llm-provider-utils llm-request-plz plz-event-source plz-media-type plz
llm corfu-terminal popon corfu-popupinfo kind-icon svg-lib
evil-collection-corfu corfu editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch clojure-ts-mode
chatgpt-shell shell-maker ielm evil-collection-eshell em-prompt eshell
esh-mode esh-var esh-cmd esh-ext esh-proc esh-opt esh-io esh-arg
esh-module esh-module-loaddefs esh-util activities-tabs activities
cnfonts burly-tabs burly frameset prism compile-multi form-feed-st
google-this echo-bar evil-collection-eat eat term/xterm xterm
evil-collection-term term ehelp evil-collection-python python
evil-collection-cider cider tramp-sh cider-debug cider-browse-ns
cider-mode cider-xref-backend cider-find cider-inspector
cider-completion cider-profile cider-eval cider-jar cider-repl-history
pulse cider-repl cider-resolve cider-test cider-overlays
cider-stacktrace cider-doc cider-browse-spec cider-clojuredocs
cider-eldoc cider-docstring cider-client cider-common
cider-completion-context cider-connection cider-popup sesman-browser
nrepl-client cider-util sesman queue nrepl-dict clojure-mode parseedn
parseclj-parser parseclj-lex parseclj-alist ox-reveal ox-odt rng-loc
rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table
ox-ascii ox-publish ox org-element org-persist org-id org-refile
org-element-ast inline avl-tree htmlize wakatime-mode
evil-collection-explain-pause-mode explain-pause-mode explain-pause-top
explain-pause-log-to-socket evil-collection-profiler profiler
weather-metno solar cal-dst url-cache display-wttr kdeconnect vuiet
evil-collection-ivy ivy delsel ivy-faces ivy-overlay colir mpv org-timer
org-clock evil-collection-org org ob ob-tangle ob-ref ob-lob ob-table
ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote
org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
org-compat org-macs versuri esqlite pcsv esxml-query lastfm elquery
memoize anaphora spotify crux pest-mode popwin modus-themes
blackboard-theme standard-themes nimbus-theme tok-theme
danneskjold-theme srcery-theme subatomic256-theme iscroll xml+
multiple-cursors mc-separate-operations rectangular-region-mode
mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more
sgml-mode mc-cycle-cursors multiple-cursors-core
evil-textobj-tree-sitter evil-textobj-tree-sitter-thing-at-point
evil-textobj-tree-sitter-core citre citre-xref-adapter citre-global
citre-tags citre-ctags citre-readtags citre-readtags-tables
citre-ui-peek citre-ui-jump citre-backend-interface citre-common-tag
citre-common-util ctable line-reminder ov ht fringe-helper
solarized-theme solarized solarized-faces vscode-dark-plus-theme
gruvbox-theme gruvbox sqlup-mode evil-collection-bm bm simplicity-theme
twilight-bright-theme flatui-theme zen-mode origami origami-parsers cl
evil-collection-sly sly sly-completion sly-buttons sly-messages
sly-common evil-collection-apropos apropos evil-collection-arc-mode
arc-mode archive-mode hyperspec sicp dired-hacks dired-preview morlock
sexy-monochrome-theme nofrils-acme-theme inverse-acme-theme acme-theme
dracula-theme professional-theme plan9-theme ayu-theme base16-theme
idea-darkula-theme hybrid-reverse-theme sublime-themes material-theme
doom-themes doom-themes-base diminish nyan-mode organic-green-theme
inkpot-theme github-dark-vscode-theme almost-mono-themes cyberpunk-theme
soothe-theme soothe-tva zenburn-theme mindre-theme kaolin-themes
kaolin-themes-lib tron-legacy-theme wildcharm-theme atom-one-dark-theme
parchment-theme autothemer visual-fill-column transpose-frame cyphejor
minions gameoflife evil-collection-docker docker docker-context
docker-volume docker-network docker-image docker-container docker-faces
docker-core docker-compose docker-process docker-utils docker-group
dockerfile-mode evil-collection-sh-script sh-script executable
emacs-everywhere cus-dir empv yeetube yeetube-mpv socks engine-mode
dumb-jump evil-collection-popup popup websocket bindat bing-dict
bing-dict-cache hl-todo atom-dark-theme ef-themes uwu-theme vagrant
evil-collection-ag ag vc-svn find-dired alarm-clock pinentry
evil-collection-hackernews hackernews evil-collection-notmuch notmuch
notmuch-tree notmuch-jump notmuch-hello notmuch-show notmuch-print
notmuch-crypto notmuch-mua notmuch-message notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash coolj goto-addr icalendar diary-lib diary-loaddefs
notmuch-tag notmuch-lib notmuch-compat mm-view mml-smime smime gnutls
dig fussy flx affe clang-format apheleia apheleia-rcs apheleia-dp
apheleia-formatters apheleia-utils apheleia-log
apheleia-formatter-context vimrc-mode netease-cloud-music
netease-cloud-music-functions gnuplot olivetti highlight-numbers
parent-mode highlight-escape-sequences rainbow-delimiters
evil-collection-hungry-delete hungry-delete super-save
evil-collection-helpful helpful cc-langs trace cl-print
evil-collection-edebug edebug evil-collection-debug debug backtrace
info-look evil-collection-info info help-fns radix-tree solidity-mode
solidity-common evil-collection-git-timemachine git-timemachine web-mode
disp-table adoc-mode tempo evil-collection-go-mode go-mode find-file
evil-collection-js2-mode js2-mode etags fileloop evil-collection-xref
xref gptel-autoloads gotest-autoloads fzf-autoloads
sideline-flycheck-autoloads sideline-autoloads flycheck-inline-autoloads
quick-peek-autoloads flycheck-pos-tip-autoloads pos-tip-autoloads
flycheck-status-emoji-autoloads consult-flycheck-autoloads
flycheck-autoloads ement-autoloads taxy-magit-section-autoloads
taxy-autoloads ellama-autoloads llm-autoloads plz-autoloads
dogears-autoloads corfu-terminal-autoloads popon-autoloads
corfu-autoloads copilot-autoloads editorconfig-autoloads
clojure-ts-mode-autoloads chatgpt-shell-autoloads shell-maker-autoloads
breadcrumb-autoloads treemacs-nerd-icons-autoloads treemacs-autoloads
pfuture-autoloads cfrs-autoloads activities-autoloads cargo-autoloads
pr-review-autoloads forge-autoloads closql-autoloads emacsql-autoloads
ghub-autoloads treepy-autoloads markdown-mode-autoloads yaml-autoloads
cnfonts-autoloads bufler-autoloads burly-autoloads
pretty-hydra-autoloads prism-autoloads compile-multi-autoloads
form-feed-st-autoloads google-this-autoloads echo-bar-autoloads
zoom-autoloads eat-autoloads vterm-autoloads chatgpt-autoloads
polymode-autoloads cider-autoloads clojure-mode-autoloads
parseedn-autoloads parseclj-autoloads queue-autoloads sesman-autoloads
ox-reveal-autoloads htmlize-autoloads wordreference-autoloads
wakatime-mode-autoloads explain-pause-mode-autoloads
weather-metno-autoloads display-wttr-autoloads kdeconnect-autoloads
vuiet-autoloads lastfm-autoloads memoize-autoloads elquery-autoloads
versuri-autoloads anaphora-autoloads esqlite-autoloads pcsv-autoloads
ivy-autoloads emms-autoloads spotify-autoloads crux-autoloads
pest-mode-autoloads popwin-autoloads modus-themes-autoloads
blackboard-theme-autoloads standard-themes-autoloads
nimbus-theme-autoloads tok-theme-autoloads danneskjold-theme-autoloads
srcery-theme-autoloads subatomic256-theme-autoloads iscroll-autoloads
xml+-autoloads multiple-cursors-autoloads
evil-textobj-tree-sitter-autoloads evil-numbers-autoloads
citre-autoloads ctable-autoloads line-reminder-autoloads
fringe-helper-autoloads ov-autoloads solarized-theme-autoloads
vscode-dark-plus-theme-autoloads gruvbox-theme-autoloads
sqlup-mode-autoloads bm-autoloads simplicity-theme-autoloads
twilight-bright-theme-autoloads flatui-theme-autoloads
zen-mode-autoloads origami-autoloads sly-autoloads
expand-region-autoloads dired-hacks-autoloads dired-preview-autoloads
diredfl-autoloads morlock-autoloads highlight-defined-autoloads
sexy-monochrome-theme-autoloads nofrils-acme-theme-autoloads
inverse-acme-theme-autoloads acme-theme-autoloads
dracula-theme-autoloads professional-theme-autoloads
plan9-theme-autoloads ayu-theme-autoloads base16-theme-autoloads
idea-darkula-theme-autoloads hybrid-reverse-theme-autoloads
sublime-themes-autoloads material-theme-autoloads doom-themes-autoloads
diminish-autoloads nyan-mode-autoloads organic-green-theme-autoloads
inkpot-theme-autoloads github-dark-vscode-theme-autoloads
almost-mono-themes-autoloads cyberpunk-theme-autoloads
soothe-theme-autoloads zenburn-theme-autoloads mindre-theme-autoloads
kaolin-themes-autoloads tron-legacy-theme-autoloads
wildcharm-theme-autoloads atom-one-dark-theme-autoloads
parchment-theme-autoloads autothemer-autoloads writeroom-mode-autoloads
visual-fill-column-autoloads transpose-frame-autoloads
cyphejor-autoloads minions-autoloads gameoflife-autoloads
docker-autoloads dockerfile-mode-autoloads emacs-everywhere-autoloads
cus-dir-autoloads empv-autoloads yeetube-autoloads engine-mode-autoloads
makefile-executor-autoloads dumb-jump-autoloads popup-autoloads
bing-dict-autoloads hl-todo-autoloads atom-dark-theme-autoloads
ef-themes-autoloads uwu-theme-autoloads vagrant-autoloads ag-autoloads
alarm-clock-autoloads pinentry-autoloads hackernews-autoloads
notmuch-autoloads fussy-autoloads flx-autoloads affe-autoloads
clang-format-autoloads apheleia-autoloads elisp-autofmt-autoloads
vimrc-mode-autoloads netease-cloud-music-autoloads mpv-autoloads
gnuplot-autoloads mermaid-mode-autoloads atomic-chrome-autoloads
websocket-autoloads restore-point-autoloads pangu-spacing-autoloads
ace-window-autoloads avy-autoloads olivetti-autoloads nov-autoloads
esxml-autoloads kv-autoloads hungry-delete-autoloads
super-save-autoloads helpful-autoloads solidity-mode-autoloads
git-timemachine-autoloads treesit-auto-autoloads web-mode-autoloads
adoc-mode-autoloads go-mode-autoloads js2-mode-autoloads
cargo-mode-autoloads rust-playground-autoloads consult-gh-autoloads
consult-dir-autoloads consult-ag-autoloads vertico-posframe-autoloads
windmove consult-ripgrep-all dired-x evil-collection-eww eww url-queue
epa-file saveplace recentf tree-widget winner edit-list refine loop
list-utils evil-collection-leetcode leetcode log4e spinner aio graphql
mm-url evil-collection-gnus gnus nnheader range prompts file-info
browse-at-remote f image-roll toc-mode evil-collection-pdf pdf-history
pdf-occur ibuf-ext pdf-isearch let-alist pdf-misc pdf-loader pdf-tools
pdf-view jka-compr pdf-cache pdf-info pdf-util pdf-macs
evil-collection-image image-mode exif rst ibuffer-sidebar
evil-collection-ibuffer ibuffer ibuffer-loaddefs scratch sql
evil-collection-view view persistent-scratch exercism persist
async-await iter2 generator promise url-http url-auth url-gw nsm
promise-rejection-tracking promise-finally promise-done
promise-es6-extensions promise-core async request a indent-bars
evil-collection-outline noutline outline mode-line-bell powerthesaurus
jeison evil-collection-consult consult evil-collection-ripgrep ripgrep
evil-collection-wgrep wgrep evil-collection-grep grep yasnippet-capf
yasnippet-snippets yasnippet evil-collection-vlf vlf vlf-base vlf-tune
gptai ctrlf hl-line nerd-icons-completion disable-mouse mingus libmpdee
evil-collection-mpdel mpdel mpdel-browser libmpdel-directory
mpdel-playlist mpdel-tablist mpdel-song mpdel-core navigel
evil-collection-bookmark magit-bookmark bookmark evil-collection-tablist
tablist tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet libmpdel tq
time-stamp exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating
xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh
xcb-icccm xcb xcb-xproto xcb-types xcb-debug posframe esup esup-child
ssh-config-mode jq-mode json-mode json-snatcher js c-ts-common treesit
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs evil-collection-yaml-mode yaml-mode toml-mode conf-mode
align evil-collection-elisp-refs elisp-refs s highlight facemenu
diff-hl-show-hunk diff-hl-inline-popup diff-hl-flydiff diff-hl-margin
diff-hl-dired evil-collection-diff-hl diff-hl evil-collection-log-view
log-view evil-collection-vc-dir vc-dir ewoc nix-mode ffap smie nix-repl
nix-shell nix-store nix-log nix-instantiate nix-shebang nix-format nix
sudo-edit tramp trampver tramp-integration files-x tramp-message
tramp-compat xdg parse-time iso8601 tramp-loaddefs
evil-collection-devdocs devdocs zig-mode reformatter
evil-terminal-cursor-changer evil-surround evil-visualstar
evil-commentary evil-commentary-integration evil-collection-evil-mc
evil-mc evil-mc-command-execute evil-mc-command-record
evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo
evil-mc-vars evil-mc-known-commands evil-mc-common evil-exchange
evil-lion evil-args smartscan timeout ess lisp-mnt ess-utils ess-custom
vertico-multiform evil-collection-vertico vertico
evil-collection-unimpaired evil-collection-which-key
evil-collection-vc-git evil-collection-tabulated-list
evil-collection-tab-bar evil-collection-simple evil-collection-replace
evil-collection-process-menu evil-collection-package-menu
evil-collection-minibuffer evil-collection-magit-section
evil-collection-magit-repos evil-collection-magit evil-collection-man
evil-collection-log-edit evil-collection-kmacro evil-collection-indent
evil-collection-imenu evil-collection-help evil-collection-flymake
evil-collection-epa evil-collection-elisp-mode evil-collection-eldoc
evil-collection-elpaca evil-collection-ediff evil-collection-dired
evil-collection-diff-mode evil-collection-custom evil-collection-compile
evil-collection-comint evil-collection-calendar
evil-collection-buff-menu evil-collection annalist sqlite3 sqlite3-api
treebundel vc-git minimap git-link texfrag face-remap shr pixel-fill
kinsoku url-file svg dom preview latex latex-flymake flymake project
compile tex-ispell tex-style tex dbus xml texmathp auctex
display-line-numbers elec-pair find-func magit-file-icons nerd-icons
nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon
nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon
nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon
nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon el-patch-template
magit-delta 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 package url-handlers magit-repos magit-apply magit-wip magit-log
which-func imenu magit-diff smerge-mode diff diff-mode track-changes
git-commit log-edit message sendmail yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa 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 magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
shell pcomplete comint ansi-osc server magit-mode browse-url magit-git
magit-base magit-section derived benchmark cursor-sensor crm dash compat
xterm-color edit-list-autoloads refine-autoloads list-utils-autoloads
loop-autoloads leetcode-autoloads graphql-autoloads spinner-autoloads
aio-autoloads log4e-autoloads prompts-autoloads file-info-autoloads
hydra-autoloads lv-autoloads browse-at-remote-autoloads
image-roll-autoloads saveplace-pdf-view-autoloads pdfgrep-autoloads
toc-mode-autoloads pdf-tools-autoloads ibuffer-sidebar-autoloads
scratch-autoloads persistent-scratch-autoloads exercism-autoloads
a-autoloads async-autoloads async-await-autoloads promise-autoloads
iter2-autoloads persist-autoloads indent-bars-autoloads
rainbow-delimiters-autoloads mode-line-bell-autoloads
powerthesaurus-autoloads transient format-spec hydra lv jeison-autoloads
keycast-autoloads yasnippet-snippets-autoloads ripgrep-autoloads
wgrep-autoloads yasnippet-capf-autoloads yasnippet-autoloads
cape-autoloads kind-icon-autoloads svg-lib-autoloads vlf-autoloads
gptai-autoloads popper-autoloads ctrlf-autoloads
nerd-icons-dired-autoloads nerd-icons-completion-autoloads
marginalia-autoloads embark-consult-autoloads consult-autoloads
embark-autoloads disable-mouse-autoloads mingus-autoloads
libmpdee-autoloads mpdel-autoloads libmpdel-autoloads navigel-autoloads
tablist-autoloads exwm-autoloads xelb-autoloads posframe-autoloads
esup-autoloads quickrun-autoloads ht-autoloads ssh-config-mode-autoloads
jq-mode-autoloads json-mode-autoloads json-snatcher-autoloads
yaml-mode-autoloads toml-mode-autoloads elisp-refs-autoloads
symbol-overlay-autoloads highlight-escape-sequences-autoloads
highlight-autoloads highlight-numbers-autoloads parent-mode-autoloads
diff-hl-autoloads nix-mode-autoloads sudo-edit-autoloads
attrap-autoloads f-autoloads s-autoloads webpaste-autoloads
request-autoloads devdocs-autoloads zig-mode-autoloads
reformatter-autoloads evil-terminal-cursor-changer-autoloads
evil-surround-autoloads evil-visualstar-autoloads
evil-commentary-autoloads evil-mc-autoloads evil-exchange-autoloads
evil-lion-autoloads evil-args-autoloads smartscan-autoloads
timeout-autoloads ess-autoloads vertico-autoloads info-colors-autoloads
evil-collection-autoloads annalist-autoloads sqlite3-autoloads
treebundel-autoloads minimap-autoloads git-link-autoloads
texfrag-autoloads auctex-autoloads tex-site magit-file-icons-autoloads
nerd-icons-autoloads el-patch-autoloads el-patch el-patch-stub
magit-delta-autoloads magit-autoloads git-commit-autoloads
magit-section-autoloads dash-autoloads with-editor-autoloads
xterm-color-autoloads ispell man ansi-color autorevert filenotify
cal-menu calendar cal-loaddefs ediff ediff-merg ediff-mult ediff-wind
ediff-diff ediff-help ediff-init ediff-util evil evil-integration
evil-maps evil-commands evil-digraphs pcase reveal evil-jumps
evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core comp comp-cstr warnings comp-run
comp-common rx advice evil-common thingatpt rect evil-vars ring goto-chg
evil-autoloads goto-chg-autoloads general which-key
sanityinc-tomorrow-bright-theme color-theme-sanityinc-tomorrow color
general-autoloads which-key-autoloads
color-theme-sanityinc-tomorrow-autoloads edmacro kmacro vc vc-dispatcher
cl-extra help-mode elpaca-use-package use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
easy-mmode use-package-core elpaca-use-package-autoloads elpaca-log
elpaca-ui url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars mailcap cl-seq elpaca elpaca-process
elpaca-autoloads early-init cus-edit pp cus-load icons wid-edit
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 dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo gtk
x-toolkit xinput2 x multi-tty move-toolbar make-network-process
native-compile mps emacs)

Memory information:
((conses 24 0 0) (symbols 56 0 0) (strings 40 0 0) (string-bytes 1 0)
 (vectors 24 0) (vector-slots 8 0 0) (floats 24 0 0)
 (intervals 64 0 0) (buffers 1000 0))

-- 



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland
  2024-09-03 19:13 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland Eval EXEC
@ 2024-09-04 11:52 ` Eli Zaretskii
  2024-09-04 12:21   ` Eval EXEC
  2024-09-04 13:40 ` Pip Cet
  1 sibling, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2024-09-04 11:52 UTC (permalink / raw)
  To: Eval EXEC; +Cc: emacs-devel

> From: Eval EXEC <execvy@gmail.com>
> Date: Wed, 04 Sep 2024 03:13:36 +0800
> 
> I'm help to test scratch/igc branch, and I have a crash When I editing
> a rust file, M-x kill-process rust-analyzer, lsp-restart-workspace, 
> scrolling, and moving around the rust file buffer.
> 
> Sorry, I don't know how to reproduce it. The backtrace is:
> 
> ```
> (gdb) bt
> #0  0x00000000006dfe09 in record_backtrace.lto_priv ()
> #1  0x00000000006e03df in deliver_profiler_signal ()
> #2  <signal handler called>
> #3  0x00000000007dea30 in sigHandle ()
> #4  <signal handler called>
> #5  0x0000000000649910 in plist_get ()

This shows we had SIGPROF delivered to Emacs while profiling.  Why are
you saying this was a crash?

Or maybe record_backtrace triggered SIGSEGV?



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland
  2024-09-04 11:52 ` Eli Zaretskii
@ 2024-09-04 12:21   ` Eval EXEC
  0 siblings, 0 replies; 6+ messages in thread
From: Eval EXEC @ 2024-09-04 12:21 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Eval EXEC <execvy@gmail.com>
>> Date: Wed, 04 Sep 2024 03:13:36 +0800
>> 
>> I'm help to test scratch/igc branch, and I have a crash When I editing
>> a rust file, M-x kill-process rust-analyzer, lsp-restart-workspace, 
>> scrolling, and moving around the rust file buffer.
>> 
>> Sorry, I don't know how to reproduce it. The backtrace is:
>> 
>> ```
>> (gdb) bt
>> #0  0x00000000006dfe09 in record_backtrace.lto_priv ()
>> #1  0x00000000006e03df in deliver_profiler_signal ()
>> #2  <signal handler called>
>> #3  0x00000000007dea30 in sigHandle ()
>> #4  <signal handler called>
>> #5  0x0000000000649910 in plist_get ()
>
> This shows we had SIGPROF delivered to Emacs while profiling.  Why are
> you saying this was a crash?
>

> Or maybe record_backtrace triggered SIGSEGV?

-- 

> Or maybe record_backtrace triggered SIGSEGV?
I think so. May be it's related to profiler.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland
  2024-09-03 19:13 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland Eval EXEC
  2024-09-04 11:52 ` Eli Zaretskii
@ 2024-09-04 13:40 ` Pip Cet
  2024-09-04 14:25   ` Eli Zaretskii
  2024-09-04 15:15   ` Helmut Eller
  1 sibling, 2 replies; 6+ messages in thread
From: Pip Cet @ 2024-09-04 13:40 UTC (permalink / raw)
  To: Eval EXEC; +Cc: emacs-devel, Helmut Eller

"Eval EXEC" <execvy@gmail.com> writes:

> I'm help to test scratch/igc branch, and I have a crash When I editing
> a rust file, M-x kill-process rust-analyzer, lsp-restart-workspace,
> scrolling, and moving around the rust file buffer.
>
> Sorry, I don't know how to reproduce it. The backtrace is:
>
> ```
> (gdb) bt
> #0  0x00000000006dfe09 in record_backtrace.lto_priv ()
> #1  0x00000000006e03df in deliver_profiler_signal ()
> #2  <signal handler called>
> #3  0x00000000007dea30 in sigHandle ()
> #4  <signal handler called>

That looks like the SIGPROF hit at a very bad time, after sigHandle was
called but before it had time to lock the arena, which would have
stopped the profiler handler from accessing memory.

Helmut, do you have any ideas?  Maybe we'll have to add SIGPROF to the
SIGSEGV sa_mask after all and explicitly unblock it in the handler after
setting a "just count this" flag?

Pip




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland
  2024-09-04 13:40 ` Pip Cet
@ 2024-09-04 14:25   ` Eli Zaretskii
  2024-09-04 15:15   ` Helmut Eller
  1 sibling, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2024-09-04 14:25 UTC (permalink / raw)
  To: Pip Cet; +Cc: execvy, emacs-devel, eller.helmut

> Date: Wed, 04 Sep 2024 13:40:02 +0000
> From: Pip Cet <pipcet@protonmail.com>
> Cc: emacs-devel@gnu.org, Helmut Eller <eller.helmut@gmail.com>
> 
> "Eval EXEC" <execvy@gmail.com> writes:
> 
> > I'm help to test scratch/igc branch, and I have a crash When I editing
> > a rust file, M-x kill-process rust-analyzer, lsp-restart-workspace,
> > scrolling, and moving around the rust file buffer.
> >
> > Sorry, I don't know how to reproduce it. The backtrace is:
> >
> > ```
> > (gdb) bt
> > #0  0x00000000006dfe09 in record_backtrace.lto_priv ()
> > #1  0x00000000006e03df in deliver_profiler_signal ()
> > #2  <signal handler called>
> > #3  0x00000000007dea30 in sigHandle ()
> > #4  <signal handler called>
> 
> That looks like the SIGPROF hit at a very bad time, after sigHandle was
> called but before it had time to lock the arena, which would have
> stopped the profiler handler from accessing memory.
> 
> Helmut, do you have any ideas?  Maybe we'll have to add SIGPROF to the
> SIGSEGV sa_mask after all and explicitly unblock it in the handler after
> setting a "just count this" flag?

Shouldn't sigHandle block all signals until it locks the arena?



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland
  2024-09-04 13:40 ` Pip Cet
  2024-09-04 14:25   ` Eli Zaretskii
@ 2024-09-04 15:15   ` Helmut Eller
  1 sibling, 0 replies; 6+ messages in thread
From: Helmut Eller @ 2024-09-04 15:15 UTC (permalink / raw)
  To: Pip Cet; +Cc: Eval EXEC, emacs-devel

On Wed, Sep 04 2024, Pip Cet wrote:
>> #0  0x00000000006dfe09 in record_backtrace.lto_priv ()
>> #1  0x00000000006e03df in deliver_profiler_signal ()
>> #2  <signal handler called>
>> #3  0x00000000007dea30 in sigHandle ()
>> #4  <signal handler called>
>
> That looks like the SIGPROF hit at a very bad time, after sigHandle was
> called but before it had time to lock the arena, which would have
> stopped the profiler handler from accessing memory.

If sigHandle hasn't acquired the lock, then accessing memory by the
profiler should trigger another SIGSEGV and a nested call to sigHandle
should then be able to acquire the lock.

Looking at the code of ArenaAccess, it seems that there are two locks
involved: a global lock and an arena lock.  And igc_busy_p only checks
the arena lock.  Hmm.

> Helmut, do you have any ideas?

I think it would work, if we could check the global lock instead for the
arena lock.  Unfortunately, MPS offers no public function for that.

> Maybe we'll have to add SIGPROF to the
> SIGSEGV sa_mask after all and explicitly unblock it in the handler after
> setting a "just count this" flag?

That would probably also work. 



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-09-04 15:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-03 19:13 31.0.50; Emacs scratch/igc 6682d0e6c96 Crash on Linux, wayland Eval EXEC
2024-09-04 11:52 ` Eli Zaretskii
2024-09-04 12:21   ` Eval EXEC
2024-09-04 13:40 ` Pip Cet
2024-09-04 14:25   ` Eli Zaretskii
2024-09-04 15:15   ` Helmut Eller

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).