Subject: 26.0.50; SIGSEGV when reading undo-tree file

From: Pedro Silva <[email-masked]>
Date: Sat, 10 Dec 2016 17:31:23 +0100

The undo-tree package produces some files that appear to, when read, SIGSEGV
emacs. I've not been able to determine under which circumstances this happens.

You should be able to replicate the issue by reconstructing the original
directory structure, running 'emacs -Q', then loading the '.emacs' file
below and attempting to open the source file at
/home/psilva/src/pedrosilva/xs/src/xs.c (files attached.)

--8<---------------cut here---------------start------------->8---
/home/psilva/src/pedrosilva/xs/src/xs.c
/home/psilva/.emacs.d/undo-tree/.!home!psilva!src!pedrosilva.pt!xs!src!xs.c.~undo-tree~
--8<---------------cut here---------------end--------------->8---

Here's a minimal 'emacs -Q':

--8<---------------cut here---------------start------------->8---
(package-initialize)
(package-install 'undo-tree)
(global-undo-tree-mode)
(setq undo-tree-auto-save-history t
      undo-tree-history-directory-alist
      '(("." . "~/.emacs.d/undo-tree")))
--8<---------------cut here---------------end--------------->8---

Output from the below commands is attached:

--8<---------------cut here---------------start------------->8---
source .gdbinit
set logging on /home/psilva/emacs-undo-tree-segfault/gdb.log
run
backtrace full
xbacktrace
quit
--8<---------------cut here---------------end--------------->8---

In GNU Emacs 26.0.50.1 (x86_64-unknown-linux-gnu)
 of 2016-12-10 built on latitude-e7240
Repository revision: fc0fd24c105bde4c001ebebe4b8b7e1f96cd2871
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
Recent messages:
Making completion list... [3 times]
Quit [2 times]
Type C-x 1 to delete the help window, C-M-v to scroll help.
C-h C-b is undefined
Mark saved where search started
Mark set
Quit
ad-handle-definition: ‘eudc-expand-inline’ got redefined
Loading eudcb-ldap...done
byte-code: The mark is not set now, so there is no region

Configured using:
 'configure 'CFLAGS=-O0 -ggdb -g3' --prefix=/usr --sysconfdir=/etc
 --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man
 --with-gameuser=:games --with-sound=alsa --with-xft --with-modules
 --with-x-toolkit=no --without-gconf --without-gsettings'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS NOTIFY ACL GNUTLS
LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB X11 MODULES LIBSYSTEMD

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

Major mode: Lisp Interaction

Minor modes in effect:
  linum-mode: t
  company-mode: t
  global-edit-server-edit-mode: t
  flx-ido-mode: t
  ido-everywhere: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-hl-line-mode: t
  winner-mode: t
  savehist-mode: t
  show-paren-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
~/src/git/hive-el/hive hides /home/psilva/.emacs.d/elpa/hive-20131217.712/hive
/home/psilva/.emacs.d/elpa/org-20161118/ob-scala hides /home/psilva/.emacs.d/elpa/scala-mode-20161122.2325/ob-scala
/home/psilva/.emacs.d/elpa/org-20161118/ox-texinfo hides /home/psilva/src/git/emacs/lisp/org/ox-texinfo
/home/psilva/.emacs.d/elpa/org-20161118/ox-odt hides /home/psilva/src/git/emacs/lisp/org/ox-odt
/home/psilva/.emacs.d/elpa/org-20161118/ox-publish hides /home/psilva/src/git/emacs/lisp/org/ox-publish
/home/psilva/.emacs.d/elpa/org-20161118/ox-org hides /home/psilva/src/git/emacs/lisp/org/ox-org
/home/psilva/.emacs.d/elpa/org-20161118/ox-md hides /home/psilva/src/git/emacs/lisp/org/ox-md
/home/psilva/.emacs.d/elpa/org-20161118/ox-latex hides /home/psilva/src/git/emacs/lisp/org/ox-latex
/home/psilva/.emacs.d/elpa/org-20161118/ox-man hides /home/psilva/src/git/emacs/lisp/org/ox-man
/home/psilva/.emacs.d/elpa/org-20161118/ox-icalendar hides /home/psilva/src/git/emacs/lisp/org/ox-icalendar
/home/psilva/.emacs.d/elpa/org-20161118/ox-html hides /home/psilva/src/git/emacs/lisp/org/ox-html
/home/psilva/.emacs.d/elpa/org-20161118/ox hides /home/psilva/src/git/emacs/lisp/org/ox
/home/psilva/.emacs.d/elpa/org-20161118/ox-beamer hides /home/psilva/src/git/emacs/lisp/org/ox-beamer
/home/psilva/.emacs.d/elpa/org-20161118/ox-ascii hides /home/psilva/src/git/emacs/lisp/org/ox-ascii
/home/psilva/.emacs.d/elpa/org-20161118/org-table hides /home/psilva/src/git/emacs/lisp/org/org-table
/home/psilva/.emacs.d/elpa/org-20161118/org-w3m hides /home/psilva/src/git/emacs/lisp/org/org-w3m
/home/psilva/.emacs.d/elpa/org-20161118/org-timer hides /home/psilva/src/git/emacs/lisp/org/org-timer
/home/psilva/.emacs.d/elpa/org-20161118/org-rmail hides /home/psilva/src/git/emacs/lisp/org/org-rmail
/home/psilva/.emacs.d/elpa/org-20161118/org-protocol hides /home/psilva/src/git/emacs/lisp/org/org-protocol
/home/psilva/.emacs.d/elpa/org-20161118/org-plot hides /home/psilva/src/git/emacs/lisp/org/org-plot
/home/psilva/.emacs.d/elpa/org-20161118/org-src hides /home/psilva/src/git/emacs/lisp/org/org-src
/home/psilva/.emacs.d/elpa/org-20161118/org-mouse hides /home/psilva/src/git/emacs/lisp/org/org-mouse
/home/psilva/.emacs.d/elpa/org-20161118/org-mobile hides /home/psilva/src/git/emacs/lisp/org/org-mobile
/home/psilva/.emacs.d/elpa/org-20161118/org-mhe hides /home/psilva/src/git/emacs/lisp/org/org-mhe
/home/psilva/.emacs.d/elpa/org-20161118/org-pcomplete hides /home/psilva/src/git/emacs/lisp/org/org-pcomplete
/home/psilva/.emacs.d/elpa/org-20161118/org-list hides /home/psilva/src/git/emacs/lisp/org/org-list
/home/psilva/.emacs.d/elpa/org-20161118/org-irc hides /home/psilva/src/git/emacs/lisp/org/org-irc
/home/psilva/.emacs.d/elpa/org-20161118/org-macro hides /home/psilva/src/git/emacs/lisp/org/org-macro
/home/psilva/.emacs.d/elpa/org-20161118/org-macs hides /home/psilva/src/git/emacs/lisp/org/org-macs
/home/psilva/.emacs.d/elpa/org-20161118/org-inlinetask hides /home/psilva/src/git/emacs/lisp/org/org-inlinetask
/home/psilva/.emacs.d/elpa/org-20161118/org-info hides /home/psilva/src/git/emacs/lisp/org/org-info
/home/psilva/.emacs.d/elpa/org-20161118/org-indent hides /home/psilva/src/git/emacs/lisp/org/org-indent
/home/psilva/.emacs.d/elpa/org-20161118/org-id hides /home/psilva/src/git/emacs/lisp/org/org-id
/home/psilva/.emacs.d/elpa/org-20161118/org-habit hides /home/psilva/src/git/emacs/lisp/org/org-habit
/home/psilva/.emacs.d/elpa/org-20161118/org hides /home/psilva/src/git/emacs/lisp/org/org
/home/psilva/.emacs.d/elpa/org-20161118/org-gnus hides /home/psilva/src/git/emacs/lisp/org/org-gnus
/home/psilva/.emacs.d/elpa/org-20161118/org-feed hides /home/psilva/src/git/emacs/lisp/org/org-feed
/home/psilva/.emacs.d/elpa/org-20161118/org-eshell hides /home/psilva/src/git/emacs/lisp/org/org-eshell
/home/psilva/.emacs.d/elpa/org-20161118/org-footnote hides /home/psilva/src/git/emacs/lisp/org/org-footnote
/home/psilva/.emacs.d/elpa/org-20161118/org-element hides /home/psilva/src/git/emacs/lisp/org/org-element
/home/psilva/.emacs.d/elpa/org-20161118/org-faces hides /home/psilva/src/git/emacs/lisp/org/org-faces
/home/psilva/.emacs.d/elpa/org-20161118/org-entities hides /home/psilva/src/git/emacs/lisp/org/org-entities
/home/psilva/.emacs.d/elpa/org-20161118/org-docview hides /home/psilva/src/git/emacs/lisp/org/org-docview
/home/psilva/.emacs.d/elpa/org-20161118/org-datetree hides /home/psilva/src/git/emacs/lisp/org/org-datetree
/home/psilva/.emacs.d/elpa/org-20161118/org-ctags hides /home/psilva/src/git/emacs/lisp/org/org-ctags
/home/psilva/.emacs.d/elpa/org-20161118/org-crypt hides /home/psilva/src/git/emacs/lisp/org/org-crypt
/home/psilva/.emacs.d/elpa/org-20161118/org-clock hides /home/psilva/src/git/emacs/lisp/org/org-clock
/home/psilva/.emacs.d/elpa/org-20161118/org-colview hides /home/psilva/src/git/emacs/lisp/org/org-colview
/home/psilva/.emacs.d/elpa/org-20161118/org-capture hides /home/psilva/src/git/emacs/lisp/org/org-capture
/home/psilva/.emacs.d/elpa/org-20161118/org-compat hides /home/psilva/src/git/emacs/lisp/org/org-compat
/home/psilva/.emacs.d/elpa/org-20161118/org-bibtex hides /home/psilva/src/git/emacs/lisp/org/org-bibtex
/home/psilva/.emacs.d/elpa/org-20161118/org-agenda hides /home/psilva/src/git/emacs/lisp/org/org-agenda
/home/psilva/.emacs.d/elpa/org-20161118/org-bbdb hides /home/psilva/src/git/emacs/lisp/org/org-bbdb
/home/psilva/.emacs.d/elpa/org-20161118/org-attach hides /home/psilva/src/git/emacs/lisp/org/org-attach
/home/psilva/.emacs.d/elpa/org-20161118/org-archive hides /home/psilva/src/git/emacs/lisp/org/org-archive
/home/psilva/.emacs.d/elpa/org-20161118/ob-fortran hides /home/psilva/src/git/emacs/lisp/org/ob-fortran
/home/psilva/.emacs.d/elpa/org-20161118/ob-tangle hides /home/psilva/src/git/emacs/lisp/org/ob-tangle
/home/psilva/.emacs.d/elpa/org-20161118/ob-sqlite hides /home/psilva/src/git/emacs/lisp/org/ob-sqlite
/home/psilva/.emacs.d/elpa/org-20161118/ob-sql hides /home/psilva/src/git/emacs/lisp/org/ob-sql
/home/psilva/.emacs.d/elpa/org-20161118/ob-table hides /home/psilva/src/git/emacs/lisp/org/ob-table
/home/psilva/.emacs.d/elpa/org-20161118/ob-C hides /home/psilva/src/git/emacs/lisp/org/ob-C
/home/psilva/.emacs.d/elpa/org-20161118/ob-shen hides /home/psilva/src/git/emacs/lisp/org/ob-shen
/home/psilva/.emacs.d/elpa/org-20161118/ob-screen hides /home/psilva/src/git/emacs/lisp/org/ob-screen
/home/psilva/.emacs.d/elpa/org-20161118/ob-scheme hides /home/psilva/src/git/emacs/lisp/org/ob-scheme
/home/psilva/.emacs.d/elpa/org-20161118/ob-scala hides /home/psilva/src/git/emacs/lisp/org/ob-scala
/home/psilva/.emacs.d/elpa/org-20161118/ob-sass hides /home/psilva/src/git/emacs/lisp/org/ob-sass
/home/psilva/.emacs.d/elpa/org-20161118/ob-R hides /home/psilva/src/git/emacs/lisp/org/ob-R
/home/psilva/.emacs.d/elpa/org-20161118/ob-ruby hides /home/psilva/src/git/emacs/lisp/org/ob-ruby
/home/psilva/.emacs.d/elpa/org-20161118/ob-python hides /home/psilva/src/git/emacs/lisp/org/ob-python
/home/psilva/.emacs.d/elpa/org-20161118/ob-ref hides /home/psilva/src/git/emacs/lisp/org/ob-ref
/home/psilva/.emacs.d/elpa/org-20161118/ob-plantuml hides /home/psilva/src/git/emacs/lisp/org/ob-plantuml
/home/psilva/.emacs.d/elpa/org-20161118/ob-picolisp hides /home/psilva/src/git/emacs/lisp/org/ob-picolisp
/home/psilva/.emacs.d/elpa/org-20161118/ob-perl hides /home/psilva/src/git/emacs/lisp/org/ob-perl
/home/psilva/.emacs.d/elpa/org-20161118/ob-org hides /home/psilva/src/git/emacs/lisp/org/ob-org
/home/psilva/.emacs.d/elpa/org-20161118/ob-octave hides /home/psilva/src/git/emacs/lisp/org/ob-octave
/home/psilva/.emacs.d/elpa/org-20161118/ob-ocaml hides /home/psilva/src/git/emacs/lisp/org/ob-ocaml
/home/psilva/.emacs.d/elpa/org-20161118/ob-mscgen hides /home/psilva/src/git/emacs/lisp/org/ob-mscgen
/home/psilva/.emacs.d/elpa/org-20161118/ob-maxima hides /home/psilva/src/git/emacs/lisp/org/ob-maxima
/home/psilva/.emacs.d/elpa/org-20161118/ob-matlab hides /home/psilva/src/git/emacs/lisp/org/ob-matlab
/home/psilva/.emacs.d/elpa/org-20161118/ob-lob hides /home/psilva/src/git/emacs/lisp/org/ob-lob
/home/psilva/.emacs.d/elpa/org-20161118/ob-makefile hides /home/psilva/src/git/emacs/lisp/org/ob-makefile
/home/psilva/.emacs.d/elpa/org-20161118/ob-lilypond hides /home/psilva/src/git/emacs/lisp/org/ob-lilypond
/home/psilva/.emacs.d/elpa/org-20161118/ob-lisp hides /home/psilva/src/git/emacs/lisp/org/ob-lisp
/home/psilva/.emacs.d/elpa/org-20161118/ob-ledger hides /home/psilva/src/git/emacs/lisp/org/ob-ledger
/home/psilva/.emacs.d/elpa/org-20161118/ob-latex hides /home/psilva/src/git/emacs/lisp/org/ob-latex
/home/psilva/.emacs.d/elpa/org-20161118/ob-keys hides /home/psilva/src/git/emacs/lisp/org/ob-keys
/home/psilva/.emacs.d/elpa/org-20161118/ob-js hides /home/psilva/src/git/emacs/lisp/org/ob-js
/home/psilva/.emacs.d/elpa/org-20161118/ob-java hides /home/psilva/src/git/emacs/lisp/org/ob-java
/home/psilva/.emacs.d/elpa/org-20161118/ob-io hides /home/psilva/src/git/emacs/lisp/org/ob-io
/home/psilva/.emacs.d/elpa/org-20161118/ob-haskell hides /home/psilva/src/git/emacs/lisp/org/ob-haskell
/home/psilva/.emacs.d/elpa/org-20161118/ob-gnuplot hides /home/psilva/src/git/emacs/lisp/org/ob-gnuplot
/home/psilva/.emacs.d/elpa/org-20161118/ob-exp hides /home/psilva/src/git/emacs/lisp/org/ob-exp
/home/psilva/.emacs.d/elpa/org-20161118/ob-eval hides /home/psilva/src/git/emacs/lisp/org/ob-eval
/home/psilva/.emacs.d/elpa/org-20161118/ob-emacs-lisp hides /home/psilva/src/git/emacs/lisp/org/ob-emacs-lisp
/home/psilva/.emacs.d/elpa/org-20161118/ob hides /home/psilva/src/git/emacs/lisp/org/ob
/home/psilva/.emacs.d/elpa/org-20161118/ob-dot hides /home/psilva/src/git/emacs/lisp/org/ob-dot
/home/psilva/.emacs.d/elpa/org-20161118/ob-ditaa hides /home/psilva/src/git/emacs/lisp/org/ob-ditaa
/home/psilva/.emacs.d/elpa/org-20161118/ob-css hides /home/psilva/src/git/emacs/lisp/org/ob-css
/home/psilva/.emacs.d/elpa/org-20161118/ob-core hides /home/psilva/src/git/emacs/lisp/org/ob-core
/home/psilva/.emacs.d/elpa/org-20161118/ob-clojure hides /home/psilva/src/git/emacs/lisp/org/ob-clojure
/home/psilva/.emacs.d/elpa/org-20161118/ob-comint hides /home/psilva/src/git/emacs/lisp/org/ob-comint
/home/psilva/.emacs.d/elpa/org-20161118/ob-calc hides /home/psilva/src/git/emacs/lisp/org/ob-calc
/home/psilva/.emacs.d/elpa/org-20161118/ob-awk hides /home/psilva/src/git/emacs/lisp/org/ob-awk
/home/psilva/.emacs.d/elpa/org-20161118/ob-asymptote hides /home/psilva/src/git/emacs/lisp/org/ob-asymptote
/home/psilva/.emacs.d/elpa/org-20161118/org-loaddefs hides /home/psilva/src/git/emacs/lisp/org/org-loaddefs
/home/psilva/.emacs.d/elpa/org-20161118/org-version hides /home/psilva/src/git/emacs/lisp/org/org-version
/home/psilva/.emacs.d/elpa/org-20161118/org-install hides /home/psilva/src/git/emacs/lisp/org/org-install
/home/psilva/src/git/emacs/lisp/emacs-lisp/package hides /home/psilva/.emacs.d/site-lisp/package
/home/psilva/src/git/emacs/lisp/emacs-lisp/cl-lib hides /home/psilva/.emacs.d/site-lisp/cl-lib

Features:
(shadow sort footnote bbdb-message smtpmail mail-extr gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime dig mailcap gnus-sum gnus-group
gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls
utf7 nnoo parse-time gnus-spec gnus-int gnus-range gnus-win netrc gnus
nnheader emacsbug bbdb bbdb-site timezone eudcb-ldap ldap eudc cus-edit
cus-start cus-load eudc-vars wid-edit message subr-x puny dired
dired-loaddefs format-spec rfc822 mml mml-sec epa derived epg gnus-util
rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils misearch multi-isearch two-column
iso-transl linum company-oddmuse company-keywords company-etags etags
xref project company-gtags company-dabbrev-code company-dabbrev
company-files company-capf company-cmake company-xcode company-clang
company-semantic company-eclim company-template company-css company-nxml
company-bbdb company edit-server edmacro kmacro flx-ido flx ido
solarized-dark-theme solarized-theme solarized color dash undo-tree diff
hl-line windmove winner ring savehist paren benchmark-init advice
use-package diminish bind-key easy-mmode finder-inf slime-autoloads info
package epg-config url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt
gv bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs
pcase cl-lib time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic 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 charscript case-table epa-hook jka-cmpr-hook help
simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button
faces cus-face macroexp files text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote dbusbind inotify dynamic-setting font-render-setting x
multi-tty make-network-process emacs)

Memory information:
((conses 16 350174 7138)
 (symbols 48 37527 0)
 (miscs 40 100 210)
 (strings 32 79920 12336)
 (string-bytes 1 2404264)
 (vectors 16 34121)
 (vector-slots 8 712671 1762)
 (floats 8 770 16)
 (intervals 56 1814 0)
 (buffers 976 16))

-- 
Pedro