GNU bug report logs - #75968
31.0.50; festure/igc: crashes during interaction with pass (1) the unix standard password manager

Previous Next

Package: emacs;

Reported by: Gregor Zattler <telegraph <at> gmx.net>

Date: Fri, 31 Jan 2025 11:45:02 UTC

Severity: normal

Found in version 31.0.50

Done: Pip Cet <pipcet <at> protonmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 75968 in the body.
You can then email your comments to 75968 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 11:45:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Gregor Zattler <telegraph <at> gmx.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 31 Jan 2025 11:45:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gregor Zattler <telegraph <at> gmx.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 31.0.50; festure/igc: crashes during interaction with pass (1) the
 unix standard password manager
Date: Fri, 31 Jan 2025 12:43:24 +0100
Dear Emacs developers,

Emacs crashed when I did

pass edit ...

which should open a GPG encrypted file
in Emacs in a new frame on the terminal
(while there is a graphical frame open
already).

This crashes Emacs.  See below for
configuration and even further below for
the GDB output of "bt" and "xbacktrace"
(which is, why the last lines are rather
the same -- is it possible to configure
GDB to echo it's input?).

The GDB session is still open, please
give specific instructions if asking for
infos to be fetched off GDB.

HTH, Gregor


In GNU Emacs 31.0.50 (build 1,
 x86_64-pc-linux-gnu, cairo version
 1.16.0) of 2025-01-29 built on no
Repository revision: 4fda39cb1670106eac8b912a77d03586eafc18a2
Repository branch: feature/igc
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure
 --infodir=/usr/share/info/emacs
 --with-json
 --with-file-notification=yes
 --with-libsystemd --with-cairo
 --with-x=yes --with-x-toolkit=no
 --without-toolkit-scroll-bars
 --without-gsettings
 --enable-check-lisp-object-type
 --enable-checking=yes,glyphs
 --with-native-compilation=yes
 --with-mps=yes 'CFLAGS=-ggdb3 -O3
 -ffile-prefix-map=/home/grfz/src/emacs-igc=. -fstack-protector-strong
 -Wformat -Werror=format-security
 -fno-omit-frame-pointer'
 'CPPFLAGS=-I/home/grfz/mps-artifacts
 -Wdate-time -D_FORTIFY_SOURCE=2'
 'LDFLAGS=-L/home/grfz/mps-artifacts
 -Wl,-z,relro''

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

Important settings:
  value of $LC_ALL:
  value of $LC_COLLATE: de_DE.utf8
  value of $LC_CTYPE: de_DE.utf8
  value of $LC_MESSAGES: POSIX
  value of $LC_MONETARY: de_DE.utf8
  value of $LC_NUMERIC: de_DE.utf8
  value of $LC_TIME: de_DE.utf8
  value of $LANG: de_DE.utf8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  rainbow-delimiters-mode: t
  winner-mode: t
  which-key-mode: t
  mail-abbrevs-mode: t
  savehist-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  delete-selection-mode: t
  minibuffer-depth-indicate-mode: t
  which-function-mode: t
  windmove-mode: t
  xterm-mouse-mode: t
  key-chord-mode: t
  find-function-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/grfz/src/notmuch/emacs/notmuch-lib hides /usr/local/share/emacs/site-lisp/notmuch-lib
/home/grfz/src/notmuch/emacs/coolj hides /usr/local/share/emacs/site-lisp/coolj
/home/grfz/src/notmuch/emacs/notmuch-address hides /usr/local/share/emacs/site-lisp/notmuch-address
/home/grfz/src/notmuch/emacs/notmuch-hello hides /usr/local/share/emacs/site-lisp/notmuch-hello
/home/grfz/src/notmuch/emacs/notmuch-parser hides /usr/local/share/emacs/site-lisp/notmuch-parser
/home/grfz/src/notmuch/emacs/notmuch-show hides /usr/local/share/emacs/site-lisp/notmuch-show
/home/grfz/src/notmuch/emacs/notmuch-wash hides /usr/local/share/emacs/site-lisp/notmuch-wash
/home/grfz/src/notmuch/emacs/notmuch-draft hides /usr/local/share/emacs/site-lisp/notmuch-draft
/home/grfz/src/notmuch/emacs/notmuch-tree hides /usr/local/share/emacs/site-lisp/notmuch-tree
/home/grfz/src/notmuch/emacs/notmuch-version hides /usr/local/share/emacs/site-lisp/notmuch-version
/home/grfz/src/notmuch/emacs/notmuch-jump hides /usr/local/share/emacs/site-lisp/notmuch-jump
/home/grfz/src/notmuch/emacs/notmuch-company hides /usr/local/share/emacs/site-lisp/notmuch-company
/home/grfz/src/notmuch/emacs/notmuch hides /usr/local/share/emacs/site-lisp/notmuch
/home/grfz/src/notmuch/emacs/notmuch-crypto hides /usr/local/share/emacs/site-lisp/notmuch-crypto
/home/grfz/src/notmuch/emacs/notmuch-compat hides /usr/local/share/emacs/site-lisp/notmuch-compat
/home/grfz/src/notmuch/emacs/notmuch-maildir-fcc hides /usr/local/share/emacs/site-lisp/notmuch-maildir-fcc
/home/grfz/src/notmuch/emacs/notmuch-tag hides /usr/local/share/emacs/site-lisp/notmuch-tag
/home/grfz/src/notmuch/emacs/notmuch-message hides /usr/local/share/emacs/site-lisp/notmuch-message
/home/grfz/src/notmuch/emacs/notmuch-print hides /usr/local/share/emacs/site-lisp/notmuch-print
/home/grfz/src/notmuch/emacs/notmuch-mua hides /usr/local/share/emacs/site-lisp/notmuch-mua
/home/grfz/src/notmuch/emacs/notmuch-query hides /usr/local/share/emacs/site-lisp/notmuch-query
/home/grfz/src/notmuch/emacs/notmuch-address hides /home/grfz/.config/emacs/elisp/notmuch-address
/home/grfz/src/ol-notmuch/ol-notmuch hides /home/grfz/.config/emacs/elisp/ol-notmuch
/home/grfz/.config/emacs/elpa-31.0/magit-4.2.0/magit-autorevert hides /home/grfz/.config/emacs/elpa-31.0/magit-section-4.2.0/magit-autorevert
/home/grfz/.config/emacs/elpa-31.0/eglot-1.18/eglot hides /home/grfz/src/emacs-igc/lisp/progmodes/eglot
/home/grfz/.config/emacs/elpa-31.0/idlwave-6.5.1/idlw-shell hides /home/grfz/src/emacs-igc/lisp/obsolete/idlw-shell
/home/grfz/.config/emacs/elpa-31.0/idlwave-6.5.1/idlwave hides /home/grfz/src/emacs-igc/lisp/obsolete/idlwave
/home/grfz/.config/emacs/elpa-31.0/idlwave-6.5.1/idlw-toolbar hides /home/grfz/src/emacs-igc/lisp/obsolete/idlw-toolbar
/home/grfz/.config/emacs/elpa-31.0/idlwave-6.5.1/idlw-help hides /home/grfz/src/emacs-igc/lisp/obsolete/idlw-help
/home/grfz/.config/emacs/elpa-31.0/idlwave-6.5.1/idlw-complete-structtag hides /home/grfz/src/emacs-igc/lisp/obsolete/idlw-complete-structtag

Features:
(shadow sort orgalist wcheck-mode
ecomplete mail-extr emacsbug tramp
trampver tramp-integration files-x
tramp-message tramp-compat shell
parse-time iso8601 tramp-loaddefs
add-log rainbow-delimiters winner
which-key ol-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 diff-mode track-changes
coolj goto-addr icalendar diary-lib
diary-loaddefs notmuch-tag crm
notmuch-lib notmuch-version
notmuch-compat hl-line mm-view mml-smime
smime gnutls dig compat org-contrib
org-crypt org-protocol org-clock dbus
xml ob-plantuml gnus-alias advice
message yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa
derived epg rfc6068 epg-config gnus-util
text-property-search mm-decode mm-bodies
mm-encode mail-parse rfc2231 gmm-utils
mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils
finder-inf mailabbrev savehist
auth-source-pass holidays
holiday-loaddefs ws-butler delsel
modus-operandi-theme modus-themes
mb-depth which-func imenu windmove
xt-mouse edmacro kmacro key-chord comp
comp-cstr cl-extra help-mode warnings
comp-run comp-common org ob ob-ref
ob-lob ob-table ob-exp org-macro
org-pcomplete pcomplete org-list
org-footnote org-faces org-entities
time-date noutline outline ob-emacs-lisp
org-table org-loaddefs thingatpt
find-func cal-menu calendar cal-loaddefs
ob-tangle ol org-src sh-script rx smie
treesit executable org-keys oc ob-comint
comint ansi-osc ansi-color ring ob-core
org-cycle org-fold org-fold-core
org-compat ob-eval org-version org-macs
format-spec use-package
use-package-ensure use-package-delight
use-package-diminish
use-package-bind-key bind-key easy-mmode
use-package-core async-autoloads
csv-mode-autoloads debbugs-autoloads
dired-git-info-autoloads eglot-autoloads
hyperbole-autoloads kotl-autoloads hact
set hhist idlwave-autoloads
key-chord-autoloads magit-autoloads
pcase magit-section-autoloads
dash-autoloads minibuffer-line-autoloads
org-contrib-autoloads org-autoloads
orgalist-autoloads paredit-autoloads
rainbow-delimiters-autoloads
wcheck-mode-autoloads info
with-editor-autoloads
ws-butler-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 password-cache json subr-x map
byte-opt gv bytecomp byte-compile
url-vars 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 font-render-setting
cairo xinput2 x multi-tty move-toolbar
make-network-process tty-child-frames
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 992 0))




Starting program: /home/grfz/src/emacs-igc/src/emacs --debug-init -xrm --init-directory="${USER_EMACS_DIRECTORY}" --fg-daemon="${EMACS_SERVER_NAME}"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Detaching after vfork from child process 129566]
[Detaching after vfork from child process 129567]
[Detaching after vfork from child process 129568]
[Detaching after vfork from child process 129569]
[Detaching after vfork from child process 129571]
[Detaching after vfork from child process 129572]
[Detaching after vfork from child process 132533]

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.
[Detaching after vfork from child process 132903]
[Detaching after vfork from child process 132904]
[Detaching after vfork from child process 132905]
[Detaching after vfork from child process 132906]
[Detaching after vfork from child process 133010]
[Detaching after vfork from child process 133013]
[Detaching after vfork from child process 133017]
[Detaching after vfork from child process 133018]

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.

Program received signal SIGSEGV, Segmentation fault.
[Detaching after vfork from child process 133489]
[Detaching after vfork from child process 133490]
[Detaching after vfork from child process 133513]

Breakpoint 1, terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
432	{
#0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
#1  0x00005555555b8f0f in die (msg=msg <at> entry=0x5555559b5608 "!FRAME_WINDOW_P (XFRAME (w->frame))", file=file <at> entry=0x5555559b5004 "dispnew.c", line=line <at> entry=3215) at ./src/alloc.c:8300
#2  0x000055555559e8a7 in window_to_frame_hpos (w=<optimized out>, hpos=0) at ./src/dispnew.c:3213
#3  window_to_frame_hpos (hpos=0, w=<optimized out>) at ./src/dispnew.c:3213
#4  tty_set_cursor () at ./src/dispnew.c:5641
#5  write_matrix (f=<optimized out>, inhibit_id_p=<optimized out>, set_cursor_p=true, updating_menu_p=false) at ./src/dispnew.c:5684
#6  0x00005555555e12a1 in combine_updates_for_frame (f=<optimized out>, inhibit_scrolling=inhibit_scrolling <at> entry=false) at ./src/dispnew.c:3990
#7  0x00005555555e1347 in combine_updates (roots=Python Exception <class 'gdb.error'>: value has been optimized out
, roots <at> entry=XIL(0x7fffd481bbb3)) at ./src/dispnew.c:4024
#8  0x000055555564c995 in redisplay_internal () at ./src/xdisp.c:17603
#9  0x000055555564ec15 in redisplay_preserve_echo_area (from_where=from_where <at> entry=2) at ./src/xdisp.c:17842
#10 0x00005555555d3d4a in Fredisplay (force=Python Exception <class 'gdb.error'>: value has been optimized out
) at ./src/dispnew.c:6929
#11 Fredisplay (force=Python Exception <class 'gdb.error'>: value has been optimized out
) at ./src/dispnew.c:6918
#12 0x0000555555824fa0 in funcall_subr (subr=0x555556073a20 <Sredisplay>, numargs=0, args=<optimized out>) at ./src/eval.c:3183
#13 0x00005555558217ff in Ffuncall (nargs=1, args=0x7fffffffcb10) at ./src/eval.c:3115
#14 0x00007fffde81d634 in F6e6f746d7563682d73686f772d636f6d6d616e642d686f6f6b_notmuch_show_command_hook_0 () at /home/grfz/.config/emacs/eln-cache/31.0.50-dab21728/notmuch-show-4bac79e4-e389e56a.eln
#15 0x00005555558217ff in Ffuncall (nargs=1, args=0x7fffffffcbe8) at ./src/eval.c:3115
#16 0x000055555581faae in internal_condition_case_n (bfun=bfun <at> entry=0x555555763540 <safe_run_hooks_1>, nargs=nargs <at> entry=2, args=args <at> entry=0x7fffffffcbe0, handlers=handlers <at> entry=XIL(0x38), hfun=hfun <at> entry=0x555555765c20 <safe_run_hooks_error>) at ./src/eval.c:1707
#17 0x0000555555763d25 in safe_run_hook_funcall (nargs=2, args=0x7fffffffccb0) at ./src/lisp.h:1229
#18 0x00005555558205d1 in run_hook_with_args (nargs=2, args=0x7fffffffccb0, funcall=0x555555763c70 <safe_run_hook_funcall>) at ./src/eval.c:2975
#19 0x00005555558207bf in run_hook_with_args (nargs=<optimized out>, args=<optimized out>, funcall=<optimized out>) at ./src/lisp.h:782
#20 0x00005555557636dc in safe_run_hooks_maybe_narrowed (hook=hook <at> entry=XIL(0x11b80), w=<optimized out>) at ./src/keyboard.c:1988
#21 0x0000555555780479 in command_loop_1 () at ./src/lisp.h:1229
#22 0x000055555581f6a6 in internal_condition_case (bfun=bfun <at> entry=0x55555577fe60 <command_loop_1>, handlers=handlers <at> entry=XIL(0xa8), hfun=hfun <at> entry=0x555555764040 <cmd_error>) at ./src/eval.c:1627
#23 0x0000555555762c7e in command_loop_2 (handlers=handlers <at> entry=XIL(0xa8)) at ./src/keyboard.c:1174
#24 0x000055555581f42f in internal_catch (tag=tag <at> entry=XIL(0x15498), func=func <at> entry=0x555555762c50 <command_loop_2>, arg=Python Exception <class 'gdb.error'>: value has been optimized out
, arg <at> entry=XIL(0xa8)) at ./src/eval.c:1306
#25 0x0000555555762c19 in command_loop () at ./src/lisp.h:1229
#26 0x000055555576f725 in recursive_edit_1 () at ./src/keyboard.c:760
#27 0x000055555576fad5 in Frecursive_edit () at ./src/keyboard.c:843
#28 0x00005555555d20b5 in main (argc=5, argv=<optimized out>) at ./src/emacs.c:2658

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)
"redisplay" (0xffffcb18)
"notmuch-show-command-hook" (0xffffcbf0)
"redisplay_internal (C function)" (0x0)
"redisplay" (0xffffcb18)
"notmuch-show-command-hook" (0xffffcbf0)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 12:04:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> protonmail.com>
To: bug-gnu-emacs <at> gnu.org, 75968 <at> debbugs.gnu.org,
 Gregor Zattler <telegraph <at> gmx.net>,
 Gerd Möllmann <gerd.moellmann <at> gmail.com>
Subject: Re: bug#75968: 31.0.50;
 festure/igc: crashes during interaction with pass (1) the unix
 standard password manager
Date: Fri, 31 Jan 2025 12:02:48 +0000
"Gregor Zattler via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" <bug-gnu-emacs <at> gnu.org> writes:

> Dear Emacs developers,
>
> Emacs crashed when I did
>
> pass edit ...

Thanks for the report!

> which should open a GPG encrypted file
> in Emacs in a new frame on the terminal
> (while there is a graphical frame open
> already).

So you're using Emacs with a windowing system and from a virtual
terminal (xterm? Linux console?) simultaneously?

> This crashes Emacs.  See below for
> configuration and even further below for
> the GDB output of "bt" and "xbacktrace"

Can you also include output of "bt full"?

> (which is, why the last lines are rather
> the same -- is it possible to configure
> GDB to echo it's input?).

Sorry, I'm not sure I understand this question.  If it's about GDB, Eli
would probably be the person to ask.

> The GDB session is still open, please
> give specific instructions if asking for
> infos to be fetched off GDB.

Can you first save a coredump file (run "gcore" in gdb), along with the
Emacs executable (the "emacs" file you were running) and the emacs.pdmp
file?  If this is an IGC bug it'll be easier to find that way.

Is this reproducible?

>  --with-mps=yes 'CFLAGS=-ggdb3 -O3
>  -ffile-prefix-map=/home/grfz/src/emacs-igc=. -fstack-protector-strong
>  -Wformat -Werror=format-security
>  -fno-omit-frame-pointer'

Those CFLAGS are a little unusual, but I don't think we know any of them
to be causing trouble, so far.  I'll have a look at
-fstack-protector-strong.

> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.
>
> Program received signal SIGSEGV, Segmentation fault.

At some point we might want to stop printing every single SIGSEGV in the
GDB log.  Not yet, though.

> Breakpoint 1, terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
> 432	{
> #0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
> #1  0x00005555555b8f0f in die (msg=msg <at> entry=0x5555559b5608 "!FRAME_WINDOW_P (XFRAME (w->frame))", file=file <at> entry=0x5555559b5004 "dispnew.c", line=line <at> entry=3215) at ./src/alloc.c:8300
> #2  0x000055555559e8a7 in window_to_frame_hpos (w=<optimized out>, hpos=0) at ./src/dispnew.c:3213
> #3  window_to_frame_hpos (hpos=0, w=<optimized out>) at ./src/dispnew.c:3213
> #4  tty_set_cursor () at ./src/dispnew.c:5641

As a very vague guess, is it possible we called tty_set_cursor on a
graphical frame here?  Gerd, I think you were working with that code?




> #5  write_matrix (f=<optimized out>, inhibit_id_p=<optimized out>, set_cursor_p=true, updating_menu_p=false) at ./src/dispnew.c:5684
> #6  0x00005555555e12a1 in combine_updates_for_frame (f=<optimized out>, inhibit_scrolling=inhibit_scrolling <at> entry=false) at ./src/dispnew.c:3990
> #7  0x00005555555e1347 in combine_updates (roots=Python Exception <class 'gdb.error'>: value has been optimized out
> , roots <at> entry=XIL(0x7fffd481bbb3)) at ./src/dispnew.c:4024

Can you go up to that stack frame in gdb and run

"pp roots"

after ensuring you've sourced src/.gdbinit?

Thanks.  I'm not sure this is igc specific so CCing Gerd in case it is
and CCing Gerd in case it's not.

Pip





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 12:04:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 13:17:01 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gregor Zattler <telegraph <at> gmx.net>
To: Pip Cet <pipcet <at> protonmail.com>, bug-gnu-emacs <at> gnu.org,
 75968 <at> debbugs.gnu.org, Gerd Möllmann
 <gerd.moellmann <at> gmail.com>
Subject: Re: bug#75968: 31.0.50; festure/igc: crashes during interaction
 with pass (1) the unix standard password manager
Date: Fri, 31 Jan 2025 14:15:45 +0100
Hi Pip,
* Pip Cet <pipcet <at> protonmail.com> [2025-01-31; 12:02 GMT]:
> "Gregor Zattler via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" <bug-gnu-emacs <at> gnu.org> writes:
>> which should open a GPG encrypted file
>> in Emacs in a new frame on the terminal
>> (while there is a graphical frame open
>> already).
>
> So you're using Emacs with a windowing system and from a virtual
> terminal (xterm? Linux console?) simultaneously?

I usually start Emacs server in a GDB
session and later open a graphical X11
frame with emacsclient.  This was the
case here too.  Later I did

pass edit ...

which opened a frame in a screen session
on an rxtv-unicode terminal which was
alos open already.


>> This crashes Emacs.  See below for
>> configuration and even further below for
>> the GDB output of "bt" and "xbacktrace"
>
> Can you also include output of "bt full"?


#0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
#1  0x00005555555b8f0f in die (msg=msg <at> entry=0x5555559b5608 "!FRAME_WINDOW_P (XFRAME (w->frame))", file=file <at> entry=0x5555559b5004 "dispnew.c", line=line <at> entry=3215) at ./src/alloc.c:8300
#2  0x000055555559e8a7 in window_to_frame_hpos (w=<optimized out>, hpos=0) at ./src/dispnew.c:3213
        x = <optimized out>
        y = <optimized out>
        f = 0x7fffe5f5bc20
        first_row = <optimized out>
        last_row = 43
#3  window_to_frame_hpos (hpos=0, w=<optimized out>) at ./src/dispnew.c:3213
        x = <optimized out>
        y = <optimized out>
        f = 0x7fffe5f5bc20
        first_row = <optimized out>
        last_row = 43
#4  tty_set_cursor () at ./src/dispnew.c:5641
        x = <optimized out>
        y = <optimized out>
        f = 0x7fffe5f5bc20
        first_row = <optimized out>
        last_row = 43
#5  write_matrix (f=<optimized out>, inhibit_id_p=<optimized out>, set_cursor_p=true, updating_menu_p=false) at ./src/dispnew.c:5684
        first_row = <optimized out>
        last_row = 43
#6  0x00005555555e12a1 in combine_updates_for_frame (f=<optimized out>, inhibit_scrolling=inhibit_scrolling <at> entry=false) at ./src/dispnew.c:3990
        root = 0x7fffd388ed50
        topmost_child = 0x0
#7  0x00005555555e1347 in combine_updates (roots=Python Exception <class 'gdb.error'>: value has been optimized out
, roots <at> entry=XIL(0x7fffd481bbb3)) at ./src/dispnew.c:4024
#8  0x000055555564c995 in redisplay_internal () at ./src/xdisp.c:17603
        tty_root_frames = XIL(0x7fffd481bbb3)
        w = <optimized out>
        sw = <optimized out>
        must_finish = <optimized out>
        match_p = <optimized out>
        tlbufpos = {
          charpos = <optimized out>,
          bytepos = <optimized out>
        }
        tlendpos = {
          charpos = <optimized out>,
          bytepos = <optimized out>
        }
        number_of_visible_frames = <optimized out>
        sf = <optimized out>
        polling_stopped_here = true
        tail = XIL(0)
        frame = Python Exception <class 'gdb.error'>: value has been optimized out

        hscroll_retries = 0
        garbaged_frame_retries = 0
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = <optimized out>
        previous_frame = <optimized out>
        current_matrices_cleared = <optimized out>
        new_count = <optimized out>
#9  0x000055555564ec15 in redisplay_preserve_echo_area (from_where=from_where <at> entry=2) at ./src/xdisp.c:17842
#10 0x00005555555d3d4a in Fredisplay (force=Python Exception <class 'gdb.error'>: value has been optimized out
) at ./src/dispnew.c:6929
#11 Fredisplay (force=Python Exception <class 'gdb.error'>: value has been optimized out
) at ./src/dispnew.c:6918
#12 0x0000555555824fa0 in funcall_subr (subr=0x555556073a20 <Sredisplay>, numargs=0, args=<optimized out>) at ./src/eval.c:3183
        argbuf = {XIL(0), XIL(0x3), XIL(0x1), XIL(0xbde0), XIL(0), XIL(0x7fffffffc990), XIL(0x7fffffffc9a0), XIL(0x5555558266dd)}
        a = <optimized out>
        maxargs = 1
#13 0x00005555558217ff in Ffuncall (nargs=1, args=0x7fffffffcb10) at ./src/eval.c:3115
        val = Python Exception <class 'gdb.error'>: value has been optimized out

#14 0x00007fffde81d634 in F6e6f746d7563682d73686f772d636f6d6d616e642d686f6f6b_notmuch_show_command_hook_0 () at /home/grfz/.config/emacs/eln-cache/31.0.50-dab21728/notmuch-show-4bac79e4-e389e56a.eln
#15 0x00005555558217ff in Ffuncall (nargs=1, args=0x7fffffffcbe8) at ./src/eval.c:3115
        val = Python Exception <class 'gdb.error'>: value has been optimized out

#16 0x000055555581faae in internal_condition_case_n (bfun=bfun <at> entry=0x555555763540 <safe_run_hooks_1>, nargs=nargs <at> entry=2, args=args <at> entry=0x7fffffffcbe0, handlers=handlers <at> entry=XIL(0x38), hfun=hfun <at> entry=0x555555765c20 <safe_run_hooks_error>) at ./src/eval.c:1707
        val = XIL(0x5c)
        c = 0x7fffedf5ba50
#17 0x0000555555763d25 in safe_run_hook_funcall (nargs=2, args=0x7fffffffccb0) at ./src/lisp.h:1229
        fun = Python Exception <class 'gdb.error'>: value has been optimized out

        hook = Python Exception <class 'gdb.error'>: value has been optimized out

        sa_avail = <optimized out>
        newargs = 0x7fffffffcbe0
#18 0x00005555558205d1 in run_hook_with_args (nargs=2, args=0x7fffffffccb0, funcall=0x555555763c70 <safe_run_hook_funcall>) at ./src/eval.c:2975
        global_vals = Python Exception <class 'gdb.error'>: value has been optimized out

        sym = Python Exception <class 'gdb.error'>: value has been optimized out

        val = XIL(0x7fffd88edc5b)
        ret = XIL(0)
#19 0x00005555558207bf in run_hook_with_args (nargs=<optimized out>, args=<optimized out>, funcall=<optimized out>) at ./src/lisp.h:782
        ret = XIL(0)
#20 0x00005555557636dc in safe_run_hooks_maybe_narrowed (hook=hook <at> entry=XIL(0x11b80), w=<optimized out>) at ./src/keyboard.c:1988
#21 0x0000555555780479 in command_loop_1 () at ./src/lisp.h:1229
        cmd = Python Exception <class 'gdb.error'>: value has been optimized out

        keybuf = {XIL(0x7fffd48198e3), make_fixnum(3), make_fixnum(106), make_fixnum(110), make_fixnum(106), XIL(0x7fffec0d9005), XIL(0x7fffffffce20), XIL(0x5555558214a3), XIL(0x7fffffffd04c), XIL(0x3), XIL(0xc), XIL(0x140b0), XIL(0x38), XIL(0x7fffec0d9005), XIL(0x7fffffffce20), XIL(0x7fffffffce60), XIL(0x60), XIL(0x555555764040), XIL(0x7fffffffd04c), XIL(0x7fffffffd747), XIL(0x7fffffffceb0), XIL(0x555555764237), XIL(0), XIL(0), XIL(0x2aaa9653f440), XIL(0x7fffd6046693), XIL(0x7fffec08f004), XIL(0x2aaa967e0f30), XIL(0x7fffffffce00), XIL(0x5555558214a3)}
        i = <optimized out>
        last_pt = <optimized out>
        prev_modiff = 7
        prev_buffer = 0x7fffd4745000
#22 0x000055555581f6a6 in internal_condition_case (bfun=bfun <at> entry=0x55555577fe60 <command_loop_1>, handlers=handlers <at> entry=XIL(0xa8), hfun=hfun <at> entry=0x555555764040 <cmd_error>) at ./src/eval.c:1627
        val = XIL(0x5c)
        c = 0x7fffe1e64a28
#23 0x0000555555762c7e in command_loop_2 (handlers=handlers <at> entry=XIL(0xa8)) at ./src/keyboard.c:1174
#24 0x000055555581f42f in internal_catch (tag=tag <at> entry=XIL(0x15498), func=func <at> entry=0x555555762c50 <command_loop_2>, arg=Python Exception <class 'gdb.error'>: value has been optimized out
, arg <at> entry=XIL(0xa8)) at ./src/eval.c:1306
        val = XIL(0x5c)
        c = 0x7fffe1e3d420
#25 0x0000555555762c19 in command_loop () at ./src/lisp.h:1229
#26 0x000055555576f725 in recursive_edit_1 () at ./src/keyboard.c:760
        val = Python Exception <class 'gdb.error'>: value has been optimized out

#27 0x000055555576fad5 in Frecursive_edit () at ./src/keyboard.c:843
#28 0x00005555555d20b5 in main (argc=5, argv=<optimized out>) at ./src/emacs.c:2658
        stack_bottom_variable = 0x7ffff3e92c60
        old_argc = <optimized out>
        no_loadup = <optimized out>
        junk = 0x0
        dname_arg = 0x7fffffffd7a9 "EMACS-MPS=yes"
        ch_to_dir = 0x0
        original_pwd = <optimized out>
        dump_mode = <optimized out>
        skip_args = 1
        temacs = 0x0
        attempt_load_pdump = <optimized out>
        only_version = <optimized out>
        rlim = {
          rlim_cur = 10022912,
          rlim_max = 18446744073709551615
        }
        lc_all = <optimized out>
        sockfd = <optimized out>
        module_assertions = <optimized out>

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)
"redisplay" (0xffffcb18)
"notmuch-show-command-hook" (0xffffcbf0)




>> (which is, why the last lines are rather
>> the same -- is it possible to configure
>> GDB to echo it's input?).
>
> Sorry, I'm not sure I understand this question.  If it's about GDB, Eli
> would probably be the person to ask.

I should have googled first, seems

set trace-commands on

is what I'm searching for.  I'll give it
a try.


>> The GDB session is still open, please
>> give specific instructions if asking for
>> infos to be fetched off GDB.
>
> Can you first save a coredump file (run "gcore" in gdb), along with the
> Emacs executable (the "emacs" file you were running) and the emacs.pdmp
> file?  If this is an IGC bug it'll be easier to find that way.

I will send to you only the emacs binary,
emacs.pdmp and the core-file in a
seperate email since I do not want the
core file to be preserved in a public
mailing list.

> Is this reproducible?

When I tried to reproduce

~/src/emacs-igc/src/emacs --daemon=test
EDITOR="/home/grfz/src/emacs-igc/lib-src/emacsclient -t -s test" pass edit ...

Emacs did not crash but a pinentry
dialog appeared.  If that was not the
case when it crashed because the
passphrase was already cached or if the
attempt to display a pinentry dialog
crashed Emacs, I don't know.

>>  --with-mps=yes 'CFLAGS=-ggdb3 -O3
>>  -ffile-prefix-map=/home/grfz/src/emacs-igc=. -fstack-protector-strong
>>  -Wformat -Werror=format-security
>>  -fno-omit-frame-pointer'
>
> Those CFLAGS are a little unusual, but I don't think we know any of them
> to be causing trouble, so far.  I'll have a look at
> -fstack-protector-strong.
>
>>
>> Program received signal SIGSEGV, Segmentation fault.
>>
>> Program received signal SIGSEGV, Segmentation fault.
[...]

> At some point we might want to stop printing every single SIGSEGV in the
> GDB log.  Not yet, though.

Sorry, forgot to delete them.


>> Breakpoint 1, terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
>> 432	{
>> #0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
>> #1  0x00005555555b8f0f in die (msg=msg <at> entry=0x5555559b5608 "!FRAME_WINDOW_P (XFRAME (w->frame))", file=file <at> entry=0x5555559b5004 "dispnew.c", line=line <at> entry=3215) at ./src/alloc.c:8300
>> #2  0x000055555559e8a7 in window_to_frame_hpos (w=<optimized out>, hpos=0) at ./src/dispnew.c:3213
>> #3  window_to_frame_hpos (hpos=0, w=<optimized out>) at ./src/dispnew.c:3213
>> #4  tty_set_cursor () at ./src/dispnew.c:5641
>
> As a very vague guess, is it possible we called tty_set_cursor on a
> graphical frame here?  Gerd, I think you were working with that code?
>
>
>
>
>> #5  write_matrix (f=<optimized out>, inhibit_id_p=<optimized out>, set_cursor_p=true, updating_menu_p=false) at ./src/dispnew.c:5684
>> #6  0x00005555555e12a1 in combine_updates_for_frame (f=<optimized out>, inhibit_scrolling=inhibit_scrolling <at> entry=false) at ./src/dispnew.c:3990
>> #7  0x00005555555e1347 in combine_updates (roots=Python Exception <class 'gdb.error'>: value has been optimized out
>> , roots <at> entry=XIL(0x7fffd481bbb3)) at ./src/dispnew.c:4024
>
> Can you go up to that stack frame in gdb and run
>
> "pp roots"

I entered "up" seven times and then pp
roots but this is rather disappointing:

(gdb) pp roots
value has been optimized out




> after ensuring you've sourced src/.gdbinit?

It's sourced at startup.

> Thanks.  I'm not sure this is igc specific so CCing Gerd in case it is
> and CCing Gerd in case it's not.

Ciao; Gregor




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 13:17:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 13:54:02 GMT) Full text and rfc822 format available.

Message #20 received at 75968 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gregor Zattler <telegraph <at> gmx.net>
Cc: 75968 <at> debbugs.gnu.org, gerd.moellmann <at> gmail.com, pipcet <at> protonmail.com
Subject: Re: bug#75968: 31.0.50;
 festure/igc: crashes during interaction with pass (1) the unix
 standard password manager
Date: Fri, 31 Jan 2025 15:53:21 +0200
> Date: Fri, 31 Jan 2025 14:15:45 +0100
> From:  Gregor Zattler via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> I usually start Emacs server in a GDB
> session and later open a graphical X11
> frame with emacsclient.  This was the
> case here too.  Later I did
> 
> pass edit ...
> 
> which opened a frame in a screen session
> on an rxtv-unicode terminal which was
> alos open already.

Is it wise to try debugging these problems before we merge from
master?  A lot of problems with TTY frames and cursor positions were
fixed recently on master, so it's quite possible what you see is
already solved on master.  And in any case, I don't see anything in
the backtrace that would tell us this is specific to the igc branch
and MPS.

> #0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
> #1  0x00005555555b8f0f in die (msg=msg <at> entry=0x5555559b5608 "!FRAME_WINDOW_P (XFRAME (w->frame))", file=file <at> entry=0x5555559b5004 "dispnew.c", line=line <at> entry=3215) at ./src/alloc.c:8300
> #2  0x000055555559e8a7 in window_to_frame_hpos (w=<optimized out>, hpos=0) at ./src/dispnew.c:3213
>         x = <optimized out>
>         y = <optimized out>
>         f = 0x7fffe5f5bc20
>         first_row = <optimized out>
>         last_row = 43
> #3  window_to_frame_hpos (hpos=0, w=<optimized out>) at ./src/dispnew.c:3213
>         x = <optimized out>
>         y = <optimized out>
>         f = 0x7fffe5f5bc20
>         first_row = <optimized out>
>         last_row = 43
> #4  tty_set_cursor () at ./src/dispnew.c:5641
>         x = <optimized out>
>         y = <optimized out>
>         f = 0x7fffe5f5bc20
>         first_row = <optimized out>
>         last_row = 43
> #5  write_matrix (f=<optimized out>, inhibit_id_p=<optimized out>, set_cursor_p=true, updating_menu_p=false) at ./src/dispnew.c:5684
>         first_row = <optimized out>
>         last_row = 43
> #6  0x00005555555e12a1 in combine_updates_for_frame (f=<optimized out>, inhibit_scrolling=inhibit_scrolling <at> entry=false) at ./src/dispnew.c:3990
>         root = 0x7fffd388ed50
>         topmost_child = 0x0
> #7  0x00005555555e1347 in combine_updates (roots=Python Exception <class 'gdb.error'>: value has been optimized out
> , roots <at> entry=XIL(0x7fffd481bbb3)) at ./src/dispnew.c:4024
> #8  0x000055555564c995 in redisplay_internal () at ./src/xdisp.c:17603

The above tells me that Emacs mistakenly tried to handle a GUI frame
as if it were a TTY frame, just because there were some TTY frames in
the same session.  If you can reproduce this with the code on the
master branch, I'm sure Gerd or someone else will look into it and
fix this.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:18:02 GMT) Full text and rfc822 format available.

Message #23 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> protonmail.com>
To: Gregor Zattler <telegraph <at> gmx.net>
Cc: 75968 <at> debbugs.gnu.org,
 Gerd Möllmann <gerd.moellmann <at> gmail.com>,
 bug-gnu-emacs <at> gnu.org
Subject: Re: bug#75968: 31.0.50;
 festure/igc: crashes during interaction with pass (1) the unix
 standard password manager
Date: Fri, 31 Jan 2025 14:17:30 +0000
"Gregor Zattler" <telegraph <at> gmx.net> writes:

> Hi Pip,
> * Pip Cet <pipcet <at> protonmail.com> [2025-01-31; 12:02 GMT]:
>> "Gregor Zattler via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" <bug-gnu-emacs <at> gnu.org> writes:
>>> which should open a GPG encrypted file
>>> in Emacs in a new frame on the terminal
>>> (while there is a graphical frame open
>>> already).
>>
>> So you're using Emacs with a windowing system and from a virtual
>> terminal (xterm? Linux console?) simultaneously?
>
> I usually start Emacs server in a GDB
> session and later open a graphical X11
> frame with emacsclient.  This was the
> case here too.  Later I did
>
> pass edit ...
>
> which opened a frame in a screen session
> on an rxtv-unicode terminal which was
> alos open already.
>
>
>>> This crashes Emacs.  See below for
>>> configuration and even further below for
>>> the GDB output of "bt" and "xbacktrace"
>>
>> Can you also include output of "bt full"?
>
>
> #0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
> #1  0x00005555555b8f0f in die (msg=msg <at> entry=0x5555559b5608 "!FRAME_WINDOW_P (XFRAME (w->frame))", file=file <at> entry=0x5555559b5004 "dispnew.c", line=line <at> entry=3215) at ./src/alloc.c:8300
> #2  0x000055555559e8a7 in window_to_frame_hpos (w=<optimized out>, hpos=0) at ./src/dispnew.c:3213
>         x = <optimized out>
>         y = <optimized out>
>         f = 0x7fffe5f5bc20

Thanks.  Now we know what the frame is!
>>> The GDB session is still open, please
>>> give specific instructions if asking for
>>> infos to be fetched off GDB.
>>
>> Can you first save a coredump file (run "gcore" in gdb), along with the
>> Emacs executable (the "emacs" file you were running) and the emacs.pdmp
>> file?  If this is an IGC bug it'll be easier to find that way.
>
> I will send to you only the emacs binary,
> emacs.pdmp and the core-file in a
> seperate email since I do not want the
> core file to be preserved in a public
> mailing list.

Thanks.  You're absolutely correct not to want to share those files, I
should have been more explicit that they are only for saving, not for
distribution.

>> Is this reproducible?
>
> When I tried to reproduce
>
> ~/src/emacs-igc/src/emacs --daemon=test
> EDITOR="/home/grfz/src/emacs-igc/lib-src/emacsclient -t -s test" pass edit ...
>
> Emacs did not crash but a pinentry
> dialog appeared.  If that was not the
> case when it crashed because the
> passphrase was already cached or if the
> attempt to display a pinentry dialog
> crashed Emacs, I don't know.

Oh.  I know very little about the paranoid security theatre that
prevents me entering passwords in a terminal.  On my system, there's
something called gnome-keyring-daemon, which launches automatically but
needs to be killed manually so it works again...

>>>  --with-mps=yes 'CFLAGS=-ggdb3 -O3
>>>  -ffile-prefix-map=/home/grfz/src/emacs-igc=. -fstack-protector-strong
>>>  -Wformat -Werror=format-security
>>>  -fno-omit-frame-pointer'
>>
>> Those CFLAGS are a little unusual, but I don't think we know any of them
>> to be causing trouble, so far.  I'll have a look at
>> -fstack-protector-strong.
>>
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
> [...]
>
>> At some point we might want to stop printing every single SIGSEGV in the
>> GDB log.  Not yet, though.
>
> Sorry, forgot to delete them.

No reason to apologize.  They're important right now, because they
make it clear that some GC did happen and there was no immediate crash.

>>> #5  write_matrix (f=<optimized out>, inhibit_id_p=<optimized out>, set_cursor_p=true, updating_menu_p=false) at ./src/dispnew.c:5684
>>> #6  0x00005555555e12a1 in combine_updates_for_frame (f=<optimized out>, inhibit_scrolling=inhibit_scrolling <at> entry=false) at ./src/dispnew.c:3990
>>> #7  0x00005555555e1347 in combine_updates (roots=Python Exception <class 'gdb.error'>: value has been optimized out
>>> , roots <at> entry=XIL(0x7fffd481bbb3)) at ./src/dispnew.c:4024
>>
>> Can you go up to that stack frame in gdb and run
>>
>> "pp roots"
>
> I entered "up" seven times and then pp
> roots but this is rather disappointing:
>
> (gdb) pp roots
> value has been optimized out

Oh.  I messed up!  roots <at> entry was what we were looking for, i.e.

(gdb) pp 0x7fffd481bbb3

But let's wait for Gerd to chime in :-)

Pip





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:18:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:28:03 GMT) Full text and rfc822 format available.

Message #29 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gregor Zattler <telegraph <at> gmx.net>
To: Pip Cet <pipcet <at> protonmail.com>
Cc: 75968 <at> debbugs.gnu.org,
 Gerd Möllmann <gerd.moellmann <at> gmail.com>,
 bug-gnu-emacs <at> gnu.org
Subject: Re: bug#75968: 31.0.50; festure/igc: crashes during interaction
 with pass (1) the unix standard password manager
Date: Fri, 31 Jan 2025 15:26:44 +0100
Hi Pip,
* Pip Cet <pipcet <at> protonmail.com> [2025-01-31; 14:17 GMT]:
> "Gregor Zattler" <telegraph <at> gmx.net> writes:
>> * Pip Cet <pipcet <at> protonmail.com> [2025-01-31; 12:02 GMT]:
>>> Can you also include output of "bt full"?
>>
>>
>> #0  terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at ./src/emacs.c:432
>> #1  0x00005555555b8f0f in die (msg=msg <at> entry=0x5555559b5608 "!FRAME_WINDOW_P (XFRAME (w->frame))", file=file <at> entry=0x5555559b5004 "dispnew.c", line=line <at> entry=3215) at ./src/alloc.c:8300
>> #2  0x000055555559e8a7 in window_to_frame_hpos (w=<optimized out>, hpos=0) at ./src/dispnew.c:3213
>>         x = <optimized out>
>>         y = <optimized out>
>>         f = 0x7fffe5f5bc20
>
> Thanks.  Now we know what the frame is!
>>>> The GDB session is still open, please
>>>> give specific instructions if asking for
>>>> infos to be fetched off GDB.


>>> Is this reproducible?
>>
>> When I tried to reproduce
>>
>> ~/src/emacs-igc/src/emacs --daemon=test
>> EDITOR="/home/grfz/src/emacs-igc/lib-src/emacsclient -t -s test" pass edit ...
>>
>> Emacs did not crash but a pinentry
>> dialog appeared.  If that was not the
>> case when it crashed because the
>> passphrase was already cached or if the
>> attempt to display a pinentry dialog
>> crashed Emacs, I don't know.
>
> Oh.  I know very little about the paranoid security theatre that
> prevents me entering passwords in a terminal.  On my system, there's
> something called gnome-keyring-daemon, which launches automatically but
> needs to be killed manually so it works again...




>>>> #5  write_matrix (f=<optimized out>, inhibit_id_p=<optimized out>, set_cursor_p=true, updating_menu_p=false) at ./src/dispnew.c:5684
>>>> #6  0x00005555555e12a1 in combine_updates_for_frame (f=<optimized out>, inhibit_scrolling=inhibit_scrolling <at> entry=false) at ./src/dispnew.c:3990
>>>> #7  0x00005555555e1347 in combine_updates (roots=Python Exception <class 'gdb.error'>: value has been optimized out
>>>> , roots <at> entry=XIL(0x7fffd481bbb3)) at ./src/dispnew.c:4024
>>>
>>> Can you go up to that stack frame in gdb and run
>>>
>>> "pp roots"
>>
>> I entered "up" seven times and then pp
>> roots but this is rather disappointing:
>>
>> (gdb) pp roots
>> value has been optimized out
>
> Oh.  I messed up!  roots <at> entry was what we were looking for, i.e.
>
> (gdb) pp 0x7fffd481bbb3

(gdb) pp 0x7fffd481bbb3
(#<frame F2 0x7fffd388ed50>)

Ciao; Gregor




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:28:04 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:29:03 GMT) Full text and rfc822 format available.

Message #35 received at 75968 <at> debbugs.gnu.org (full text, mbox):

From: Gregor Zattler <telegraph <at> gmx.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 75968 <at> debbugs.gnu.org, gerd.moellmann <at> gmail.com, pipcet <at> protonmail.com
Subject: Re: bug#75968: 31.0.50; festure/igc: crashes during interaction
 with pass (1) the unix standard password manager
Date: Fri, 31 Jan 2025 15:28:05 +0100
Hi Eli,
* Eli Zaretskii <eliz <at> gnu.org> [2025-01-31; 15:53 +02]:

[... 52 Zeilen gelöscht ...]
> The above tells me that Emacs mistakenly tried to handle a GUI frame
> as if it were a TTY frame, just because there were some TTY frames in
> the same session.  If you can reproduce this with the code on the
> master branch, I'm sure Gerd or someone else will look into it and
> fix this.

Sorry, I'm not able to reproduce neither
with nore without MPS :-( 


Ciao; Gregor




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:32:01 GMT) Full text and rfc822 format available.

Message #38 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Pip Cet <pipcet <at> protonmail.com>
Cc: 75968 <at> debbugs.gnu.org, Gregor Zattler <telegraph <at> gmx.net>,
 bug-gnu-emacs <at> gnu.org
Subject: Re: bug#75968: 31.0.50; festure/igc: crashes during interaction
 with pass (1) the unix standard password manager
Date: Fri, 31 Jan 2025 15:30:50 +0100
Pip Cet <pipcet <at> protonmail.com> writes:

> But let's wait for Gerd to chime in :-)

I'm pretty sure that's fixed in master.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:32:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:49:02 GMT) Full text and rfc822 format available.

Message #44 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Pip Cet <pipcet <at> protonmail.com>
Cc: 75968 <at> debbugs.gnu.org, Gregor Zattler <telegraph <at> gmx.net>,
 bug-gnu-emacs <at> gnu.org
Subject: Re: bug#75968: 31.0.50; festure/igc: crashes during interaction
 with pass (1) the unix standard password manager
Date: Fri, 31 Jan 2025 15:48:10 +0100
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:

> Pip Cet <pipcet <at> protonmail.com> writes:
>
>> But let's wait for Gerd to chime in :-)
>
> I'm pretty sure that's fixed in master.

Tried a merge, but something changed in igc that prevents it from
building without mps. Sorry, haven't been following what's going on it
the alloca department. Maybe someone else could take a look, and do the
merge.

scroll.c:253:22: warning: invalid application of 'sizeof' to a void type [-Wpointer-arith]
  253 |   char *retained_p = SAFE_ALLOCA (window_size);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
./lisp.h:6140:6: note: expanded from macro 'SAFE_ALLOCA'
 6140 |      SAFE_NALLOCA (buf, size, 1);                       \
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./lisp.h:6123:39: note: expanded from macro 'SAFE_NALLOCA'
 6123 |     if ((nitems) <= sa_avail / sizeof *(buf) / (multiplier))     \
      |                                       ^~~~~~


/* Temporarily avoid bug#75754.  The code above is painstakingly written
   to avoid statement expressions; no easy way to do that in this case,
   unfortunately.

   FIXME/igc: find a permanent fix for these bugs.  */
#undef SAFE_ALLOCA
#define SAFE_ALLOCA(size)				\
  ({ void *buf;						\
     ^^^^^^^^^^?
     SAFE_NALLOCA (buf, size, 1);			\
     buf; })








Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 14:49:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 15:42:01 GMT) Full text and rfc822 format available.

Message #50 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> protonmail.com>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: 75968 <at> debbugs.gnu.org, Gregor Zattler <telegraph <at> gmx.net>,
 bug-gnu-emacs <at> gnu.org
Subject: Re: bug#75968: 31.0.50;
 festure/igc: crashes during interaction with pass (1) the unix
 standard password manager
Date: Fri, 31 Jan 2025 15:41:32 +0000
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:

> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>
>> Pip Cet <pipcet <at> protonmail.com> writes:
>>
>>> But let's wait for Gerd to chime in :-)
>>
>> I'm pretty sure that's fixed in master.
>
> Tried a merge, but something changed in igc that prevents it from
> building without mps.

My fault.  I forgot a clang/GCC difference in void * arithmetic.

(Also my fault: wrong bug number in the commit).

> Sorry, haven't been following what's going on it
> the alloca department. Maybe someone else could take a look, and do the
> merge.

Fixed it (Famous last words).

Paul replaced some switch statements by arrays, turning some of their
arguments into void * instead, which caused merge conflicts.  I'll take
a few more minutes to make sure we merge that properly (hopefully, we'll
go back to switch statements as a result of bug#75964, and then we won't
have to do this again).

> #undef SAFE_ALLOCA
> #define SAFE_ALLOCA(size)				\
>   ({ void *buf;						\
>      ^^^^^^^^^^?
>      SAFE_NALLOCA (buf, size, 1);			\
>      buf; })

SAFE_NALLOCA does have a strange API, yes, but I assumed clang would
still support the old GCC convention for void * arithmetic :-)

Sorry for the code churn.

Pip





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 15:42:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 15:48:02 GMT) Full text and rfc822 format available.

Message #56 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Pip Cet <pipcet <at> protonmail.com>
Cc: 75968 <at> debbugs.gnu.org, Gregor Zattler <telegraph <at> gmx.net>,
 bug-gnu-emacs <at> gnu.org
Subject: Re: bug#75968: 31.0.50; festure/igc: crashes during interaction
 with pass (1) the unix standard password manager
Date: Fri, 31 Jan 2025 16:46:59 +0100
Pip Cet <pipcet <at> protonmail.com> writes:

> Paul replaced some switch statements by arrays, turning some of their
> arguments into void * instead, which caused merge conflicts.  I'll take
> a few more minutes to make sure we merge that properly (hopefully, we'll
> go back to switch statements as a result of bug#75964, and then we won't
> have to do this again).

IIRC from merging that to my Emacs, the conflicts are because Paul
changed functions that don't exist in igc, because Helmut changed
lispfwd. I resolved that by choosing HEAD.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 15:48:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 16:46:01 GMT) Full text and rfc822 format available.

Message #62 received at 75968 <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> protonmail.com>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: 75968 <at> debbugs.gnu.org, Gregor Zattler <telegraph <at> gmx.net>,
 bug-gnu-emacs <at> gnu.org
Subject: Re: bug#75968: 31.0.50;
 festure/igc: crashes during interaction with pass (1) the unix
 standard password manager
Date: Fri, 31 Jan 2025 16:45:42 +0000
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:

> Pip Cet <pipcet <at> protonmail.com> writes:
>
>> Paul replaced some switch statements by arrays, turning some of their
>> arguments into void * instead, which caused merge conflicts.  I'll take
>> a few more minutes to make sure we merge that properly (hopefully, we'll
>> go back to switch statements as a result of bug#75964, and then we won't
>> have to do this again).
>
> IIRC from merging that to my Emacs, the conflicts are because Paul
> changed functions that don't exist in igc, because Helmut changed
> lispfwd. I resolved that by choosing HEAD.

Pushed.  I was going to wait for some resolution to the "Not protecting
Lisp objects from GC" compromise before pushing to feature/igc again,
but this was clearly my mistake, so I've fixed that but not the
outstanding GTK/X bugs.  Sorry if it slowed you down.

Pip





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 16:47:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 17:07:02 GMT) Full text and rfc822 format available.

Message #68 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Pip Cet <pipcet <at> protonmail.com>
Cc: 75968 <at> debbugs.gnu.org, Gregor Zattler <telegraph <at> gmx.net>,
 bug-gnu-emacs <at> gnu.org
Subject: Re: bug#75968: 31.0.50; festure/igc: crashes during interaction
 with pass (1) the unix standard password manager
Date: Fri, 31 Jan 2025 18:06:24 +0100
Pip Cet <pipcet <at> protonmail.com> writes:

> Sorry if it slowed you down.

Not me, no worries. I just wanted to merge because of the child frame
problem.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 31 Jan 2025 17:07:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#75968; Package emacs. (Fri, 21 Feb 2025 18:20:02 GMT) Full text and rfc822 format available.

Message #74 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> protonmail.com>
To: "Gregor Zattler via \"Bug reports for GNU Emacs the Swiss army knife of
 text editors\"" <bug-gnu-emacs <at> gnu.org>, 75968-done <at> debbugs.gnu.org,
 Gregor Zattler <telegraph <at> gmx.net>
Subject: Re: bug#75968: 31.0.50;
 festure/igc: crashes during interaction with pass (1) the unix
 standard password manager
Date: Fri, 21 Feb 2025 18:19:09 +0000
"Gregor Zattler via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" <bug-gnu-emacs <at> gnu.org> writes:

> Dear Emacs developers,
>
> Emacs crashed when I did
>
> pass edit ...

Dear Gregor,
many things have been changed since, both on master and on feature/igc.
Can you try reproducing this bug and opening a new bug report if it's
still reproducible?  I'm afraid debugging this given all the changes
would be too hard.

Thanks for the report!

Pip





Reply sent to Pip Cet <pipcet <at> protonmail.com>:
You have taken responsibility. (Fri, 21 Feb 2025 18:20:03 GMT) Full text and rfc822 format available.

Notification sent to Gregor Zattler <telegraph <at> gmx.net>:
bug acknowledged by developer. (Fri, 21 Feb 2025 18:20:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 22 Mar 2025 11:24:17 GMT) Full text and rfc822 format available.

This bug report was last modified 108 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.