Package: emacs;
Reported by: NiwTinray <niwtrx <at> icloud.com>
Date: Sat, 4 Jan 2020 03:27:02 UTC
Severity: normal
Merged with 32503
Found in versions 26.1, 27.0.60
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: NiwTinray <niwtrx <at> icloud.com> To: 38912 <at> debbugs.gnu.org Subject: bug#38912: 27.0.60; PDumper meets segmentation fault when evil is loaded Date: Sat, 4 Jan 2020 09:49:14 +0800
Hi, Emacs Dev, I was testing the new portable dumper with my personal Emacs. When I loaded my dumped file, Emacs crashed on segmentation fault. After tracking down the issue, I found the issues is caused by the undo-tree mode in package "evil". To reproduce the bug, try this: emacs --batch -f package-initialize --eval='(use-package evil :ensure t)' --eval='(dump-emacs-portable "test.pdmp")' && emacs --dump-file test.pdmp If I turned off the global-undo-tree-mode manually, it won't crash: emacs --batch -f package-initialize --eval='(use-package evil :ensure t)' --eval='(global-undo-tree-mode -1)' --eval='(dump-emacs-portable "test.pdmp")' && emacs --dump-file test.pdmp So the problem must be exist in the undo-tree-mode. I don't have the knowledge/techniques to track down the bug further. Please help me investigate this! Backtrace on crash: #0 0x00000000004f1240 in Fcurrent_active_maps (olp=olp <at> entry=0x30, position=position <at> entry=0x0) at keymap.c:1541 #1 0x00000000004f167d in Fkey_binding (key=0x7fffefba745d, accept_default=0x0, no_remap=0x0, position=0x0) at keymap.c:1681 #2 0x00000000005546a3 in Ffuncall (nargs=2, args=args <at> entry=0x7fffffffd5d0) at eval.c:2794 #3 0x0000000000588d28 in exec_byte_code (bytestr=<optimized out>, vector=0x7fffefba2715, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs <at> entry=0, args=<optimized out>, args <at> entry=0x7fffefba2718) at bytecode.c:633 #4 0x000000000055439f in funcall_lambda (fun=0x7fffffffd5e3, nargs=nargs <at> entry=0, arg_vector=0x7fffefba2718, arg_vector <at> entry=0x7fffffffd768) at eval.c:2989 #5 0x00000000005545ef in Ffuncall (nargs=1, args=args <at> entry=0x7fffffffd760) at eval.c:2808 #6 0x0000000000588d28 in exec_byte_code (bytestr=<optimized out>, vector=0x7fffefba262d, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs <at> entry=0, args=<optimized out>, args <at> entry=0x7fffefba2630) at bytecode.c:633 #7 0x000000000055439f in funcall_lambda (fun=0x7fffffffd79e, nargs=nargs <at> entry=0, arg_vector=0x7fffefba2630, arg_vector <at> entry=0x7fffffffd958) at eval.c:2989 #8 0x00000000005545ef in Ffuncall (nargs=1, args=0x7fffffffd950) at eval.c:2808 #9 0x00000000005546e9 in funcall_nil (nargs=<optimized out>, args=<optimized out>) at eval.c:2435 #10 0x00000000005534a5 in run_hook_with_args (nargs=1, args=0x7fffffffd950, funcall=0x5546e0 <funcall_nil>) at eval.c:2612 #11 0x0000000000553616 in Frun_hook_with_args (args=0x7fffffffd950, nargs=1) at eval.c:2477 #12 run_hook (hook=0x7fffeefb53f0) at eval.c:2625 #13 Frun_hooks (nargs=1, args=0x7fffffffd9f8) at eval.c:2459 #14 0x00000000005546a3 in Ffuncall (nargs=2, args=args <at> entry=0x7fffffffd9f0) at eval.c:2794 #15 0x0000000000588d28 in exec_byte_code (bytestr=<optimized out>, vector=0x7fffefab5415, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs <at> entry=1, args=<optimized out>, args <at> entry=0x7fffefab5418) at bytecode.c:633 #16 0x000000000055439f in funcall_lambda (fun=0x7fffffffda66, nargs=nargs <at> entry=1, arg_vector=0x7fffefab5418, arg_vector <at> entry=0x7fffffffdbd0) at eval.c:2989 #17 0x00000000005545ef in Ffuncall (nargs=2, args=args <at> entry=0x7fffffffdbc8) at eval.c:2808 #18 0x0000000000588d28 in exec_byte_code (bytestr=<optimized out>, vector=0x7fffefc794ad, maxdepth=<optimized out>, args_template=<optimized out>, nargs=nargs <at> entry=0, args=<optimized out>, args <at> entry=0x7fffefc794b0) at bytecode.c:633 #19 0x000000000055439f in funcall_lambda (fun=0x7fffffffdbf1, nargs=nargs <at> entry=0, arg_vector=0x7fffefc794b0, arg_vector <at> entry=0x7fffffffdd50) at eval.c:2989 #20 0x00000000005545ef in Ffuncall (nargs=nargs <at> entry=1, args=args <at> entry=0x7fffffffdd48) at eval.c:2808 #21 0x0000000000554758 in call0 (fn=0x7fffef08c260) at eval.c:2647 #22 0x000000000050a4ff in get_minibuffer (depth=depth <at> entry=0) at minibuf.c:754 #23 0x0000000000501283 in init_buffer () at buffer.c:5430 #24 0x00000000004139ba in main (argc=3, argv=<optimized out>) at emacs.c:1777 In GNU Emacs 27.0.60 (build 1, x86_64-pc-linux-gnu) of 2020-01-01 built on omnisky Repository revision: 186152ba400b58d2d278c52d2e3d896decae767e Repository branch: emacs-27 System Description: Ubuntu 16.04.6 LTS Recent messages: Saving file /home/ntr/.config/emacs/custom.el... Wrote /home/ntr/.config/emacs/emacs.saves/.!home!ntr!.config!emacs!custom.el.~undo-tree~ Wrote /home/ntr/.config/emacs/custom.el helm-M-x: Package ‘evil-20190729.704’ is used by ‘evil-multiedit’ as dependency, not deleting Mark saved where search started Package ‘highlight-parentheses-20180704.1102’ deleted. Mark saved where search started Saving file /home/ntr/.config/emacs/bunny-core-packages.el... Wrote /home/ntr/.config/emacs/emacs.saves/.!home!ntr!.config!emacs!bunny-core-packages.el.~undo-tree~ Wrote /home/ntr/.config/emacs/bunny-core-packages.el Configured using: 'configure --with-x-toolkit=no' Configured features: XPM JPEG TIFF GIF PNG SOUND GSETTINGS GLIB NOTIFY INOTIFY GNUTLS FREETYPE HARFBUZZ XFT ZLIB OLDXMENU X11 XDBE XIM MODULES THREADS JSON PDUMPER GMP Important settings: value of $LC_ALL: en_US.UTF-8 value of $LC_CTYPE: zh_CN.UTF-8 value of $LC_MONETARY: zh_CN.UTF-8 value of $LC_NUMERIC: zh_CN.UTF-8 value of $LC_TIME: zh_CN.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: doom-modeline-mode: t recentf-mode: t xterm-mouse-mode: t display-time-mode: t workgroups-mode: t keyfreq-autosave-mode: t keyfreq-mode: t global-magit-file-mode: t magit-file-mode: t magit-auto-revert-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t company-statistics-mode: t global-company-mode: t company-mode: t global-hungry-delete-mode: t hungry-delete-mode: t eyebrowse-mode: t helm-mode: t override-global-mode: t delete-selection-mode: t auto-revert-mode: t global-hl-line-mode: t which-key-mode: t global-evil-matchit-mode: t evil-matchit-mode: t global-evil-collection-unimpaired-mode: t evil-collection-unimpaired-mode: t evil-leader-mode: t global-undo-tree-mode: t undo-tree-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t global-hl-todo-mode: t hl-todo-mode: t global-highlight-parentheses-mode: t highlight-parentheses-mode: t aggressive-indent-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 line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (evil-matchit-simple helm-ring em-unix em-term em-script em-prompt em-ls em-hist em-pred em-dirs esh-var em-cmpl em-basic em-banner em-alias esh-mode eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups shadow sort mail-extr emacsbug sendmail tabify ido face-remap image-file mule-util view lsp-clients lsp-haxe lsp-erlang lsp-fsharp lsp-metals lsp-elm lsp-dart lsp-clojure lsp-go lsp-xml lsp-css lsp-intelephense lsp-vetur lsp-html lsp-solargraph lsp-rust lsp-pyls lsp helm-for-files helm-bookmark helm-adaptive helm-external helm-net ffap vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc vc-dispatcher jka-compr eieio-opt speedbar sb-image ezimage dframe help-fns radix-tree so-long winner helm-command helm-elisp helm-eval edebug backtrace helm-info term/xterm xterm doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core recentf magit-bookmark bookmark ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util xt-mouse bunny-sshfs flymake-diagnostic-at-point popup lsp-python-ms python-el-fgallina-expansions python tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat parse-time iso8601 ls-lisp company-lsp lsp-mode ewoc markdown-mode tree-widget spinner network-stream nsm inline ht em-glob esh-util dash-functional bindat flymake-proc flymake warnings bunny-pyenv eldoc-eval all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons memoize eshell-git-prompt leuven-theme time bunny-insert-surroundings bunny-krws bunny-company-simple-complete bunny-eshell-extensions bunny-terminal-here bunny-workgroups bunny-register-jumper bunny-h5ls bunny-prettify-json-file web-server web-server-status-codes keyfreq evil-magit magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode magit-core magit-autorevert magit-margin magit-transient magit-process magit-mode git-commit magit-git magit-section magit-utils crm log-edit message rmc rfc822 mml mml-sec epa derived epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader pcvs-util add-log with-editor async-bytecomp server git-timemachine transient vc-git diff-mode org-preview-html eww mm-url gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr url-queue shr text-property-search puny svg xml the-org-mode-expansions org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities time-date noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs company-statistics company-oddmuse company-keywords company-etags etags fileloop generator company-gtags company-dabbrev-code company-dabbrev company-files company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-template company-bbdb company pcase multi-term shell-pop term disp-table ehelp htmlize hungry-delete expand-region text-mode-expansions html-mode-expansions er-basic-expansions expand-region-core expand-region-custom golden-ratio eyebrowse use-package-diminish buffer-move transpose-frame helm-ag helm-descbinds helm-projectile cus-edit cus-start cus-load wid-edit helm-mode helm-files helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp format-spec helm-utils helm-help helm-types helm helm-source eieio-compat helm-multi-match helm-lib async use-package-bind-key bind-key counsel xdg xref project swiper ivy delsel colir ivy-overlay ace-window avy ace-jump-zap ace-jump-mode cl ranger autorevert filenotify hl-line evil-collection-dired dired dired-loaddefs evil-collection-neotree neotree projectile grep compile ibuf-ext ibuffer ibuffer-loaddefs shrink-path rx f s dash which-key evil-multiedit iedit iedit-lib evil-nerd-commenter evil-nerd-commenter-operator evil-nerd-commenter-sdk sgml-mode dom evil-matchit evil-matchit-sdk evil-collection-unimpaired evil-collection bunny-minor-mode-leader-keymap zone-rainbow color zone symbol-overlay evil-leader evil evil-integration undo-tree diff evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex shell pcomplete comint ansi-color evil-macros evil-repeat evil-states evil-core advice evil-common windmove thingatpt rect evil-digraphs evil-vars edmacro kmacro hl-todo posframe rainbow-delimiters highlight-parentheses move-text macrostep ring pp exec-path-from-shell try url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap anaphora aggressive-indent easy-mmode cl-extra help-mode use-package-ensure use-package-core finder-inf info package easymenu browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib 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 tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer 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 charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray 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 threads inotify dynamic-setting system-font-setting font-render-setting x multi-tty make-network-process emacs) Memory information: ((conses 16 632937 99192) (symbols 48 53853 52) (strings 32 181171 13075) (string-bytes 1 5457906) (vectors 16 89834) (vector-slots 8 1780900 209238) (floats 8 893 401) (intervals 56 24129 5564) (buffers 1000 48) (heap 1024 49509 3144))
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.