Subject: bug#26539: emacs exits unexpectedly when editing po file using po-mode

From: wensheng xie <[email-masked]>
Date: Sun, 16 Apr 2017 10:54:37 +0000

Hi, emacs:

My emacs exits unexpectedly when editing po file using po-mode.
Steps to reproduce:
1. open a po-file
Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  file-truename(nil)
  find-file-noselect-1(#<buffer home.zh-cn.po>
"~/work/GNU/CTT/www-zh-cn-working/home.zh-cn.po" nil nil
"~/work/GNU/CTT/www-zh-cn-working/home.zh-cn.po" (1320869 25))
  find-file-noselect("~/work/GNU/CTT/www-zh-cn-working/home.zh-cn.po"
nil nil t)
  find-file("~/work/GNU/CTT/www-zh-cn-working/home.zh-cn.po" t)
  call-interactively(find-file nil nil)

2. M-x po-mode
3. press n key serveral times (3 times)
4. emacs exits
In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7)
 of 2014-03-08 on lamiak, modified by Debian
Windowing system distributor `The X.Org Foundation', version
11.0.11501000
System Description:	Trisquel GNU/Linux 7.0, Belenos

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'

'--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  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: zh_CN.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8
  default enable-multibyte-characters: t

Major mode: PO

Minor modes in effect:
  shell-dirtrack-mode: t
  show-paren-mode: t
  delete-selection-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
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x r e p o r t - e m a s <backspace> c s - b u g <return> 
e m a c s SPC e x i s t <backspace> <backspace> t s 
SPC u n e x p e c t e d SPC w h e n SPC e d i t i n 
g SPC p o SPC f i l e SPC i SPC <backspace> n SPC p 
o - m o d e <return> C-c C-c q q <backspace> C-x b 
<tab> B <tab> <tab> u <tab> <return> C-x k <return> 
C-x k <down-mouse-1> <mouse-movement> <mouse-movement> 
<help-echo> <mouse-movement> <mouse-movement> <mouse-movement> 
<drag-mouse-1> M-w <return> <right> <right> <return> 
<return> C-g M-x s h e l l <backspace> <backspace> 
<backspace> <backspace> <backspace> e s h e l l <return> 
c d <return> <help-echo> <up> <up> <up> <up> <up> <up> 
<down> <up> <up> <up> <down> w w w <tab> <backspace> 
- <tab> <return> <up> <up> <up> <up> <up> <backspace> 
<backspace> C-x C-f h o m e . z h - c <tab> <return> 
<help-echo> <help-echo> <down-mouse-1> <mouse-movement> 
<mouse-movement> <help-echo> <mouse-movement> <mouse-movement> 
<drag-mouse-1> M-w <help-echo> <help-echo> q C-x b 
h <tab> <return> M-x p o - m o d e <return> ? SPC M-x 
r e p o r t - e m a c s - b u g <return>

Recent messages:
History item: 62
History item: 61
History item: 60
Entering debugger...
Back to top level.
Position 0
Position 20
Position 40
You may type 'h' or '?' for a short PO mode reminder.
Type any character to continue

Load-path shadows:
/usr/share/emacs/24.3/site-lisp/debian-startup
hides /usr/share/emacs/site-lisp/debian-startup
/home/wxie/.emacs.d/elpa/org-20170210/org-mobile
hides /usr/share/emacs/24.3/lisp/org/org-mobile
/home/wxie/.emacs.d/elpa/org-20170210/org-crypt
hides /usr/share/emacs/24.3/lisp/org/org-crypt
/home/wxie/.emacs.d/elpa/org-20170210/org-irc
hides /usr/share/emacs/24.3/lisp/org/org-irc
/home/wxie/.emacs.d/elpa/org-20170210/ob-maxima
hides /usr/share/emacs/24.3/lisp/org/ob-maxima
/home/wxie/.emacs.d/elpa/org-20170210/org-info
hides /usr/share/emacs/24.3/lisp/org/org-info
/home/wxie/.emacs.d/elpa/org-20170210/ob-tangle
hides /usr/share/emacs/24.3/lisp/org/ob-tangle
/home/wxie/.emacs.d/elpa/org-20170210/ob-ocaml
hides /usr/share/emacs/24.3/lisp/org/ob-ocaml
/home/wxie/.emacs.d/elpa/org-20170210/org-macs
hides /usr/share/emacs/24.3/lisp/org/org-macs
/home/wxie/.emacs.d/elpa/org-20170210/ob-screen
hides /usr/share/emacs/24.3/lisp/org/ob-screen
/home/wxie/.emacs.d/elpa/org-20170210/org-bibtex
hides /usr/share/emacs/24.3/lisp/org/org-bibtex
/home/wxie/.emacs.d/elpa/org-20170210/ob-picolisp
hides /usr/share/emacs/24.3/lisp/org/ob-picolisp
/home/wxie/.emacs.d/elpa/org-20170210/org-pcomplete
hides /usr/share/emacs/24.3/lisp/org/org-pcomplete
/home/wxie/.emacs.d/elpa/org-20170210/org-indent
hides /usr/share/emacs/24.3/lisp/org/org-indent
/home/wxie/.emacs.d/elpa/org-20170210/ob-matlab
hides /usr/share/emacs/24.3/lisp/org/ob-matlab
/home/wxie/.emacs.d/elpa/org-20170210/ob-plantuml
hides /usr/share/emacs/24.3/lisp/org/ob-plantuml
/home/wxie/.emacs.d/elpa/org-20170210/ob-calc
hides /usr/share/emacs/24.3/lisp/org/ob-calc
/home/wxie/.emacs.d/elpa/org-20170210/ob-org
hides /usr/share/emacs/24.3/lisp/org/ob-org
/home/wxie/.emacs.d/elpa/org-20170210/ob-js
hides /usr/share/emacs/24.3/lisp/org/ob-js
/home/wxie/.emacs.d/elpa/org-20170210/ob-asymptote
hides /usr/share/emacs/24.3/lisp/org/ob-asymptote
/home/wxie/.emacs.d/elpa/org-20170210/org-datetree
hides /usr/share/emacs/24.3/lisp/org/org-datetree
/home/wxie/.emacs.d/elpa/org-20170210/ob-comint
hides /usr/share/emacs/24.3/lisp/org/ob-comint
/home/wxie/.emacs.d/elpa/org-20170210/org-table
hides /usr/share/emacs/24.3/lisp/org/org-table
/home/wxie/.emacs.d/elpa/org-20170210/org-protocol
hides /usr/share/emacs/24.3/lisp/org/org-protocol
/home/wxie/.emacs.d/elpa/org-20170210/org-feed
hides /usr/share/emacs/24.3/lisp/org/org-feed
/home/wxie/.emacs.d/elpa/org-20170210/ob-dot
hides /usr/share/emacs/24.3/lisp/org/ob-dot
/home/wxie/.emacs.d/elpa/org-20170210/ob-R
hides /usr/share/emacs/24.3/lisp/org/ob-R
/home/wxie/.emacs.d/elpa/org-20170210/org-install
hides /usr/share/emacs/24.3/lisp/org/org-install
/home/wxie/.emacs.d/elpa/org-20170210/org-bbdb
hides /usr/share/emacs/24.3/lisp/org/org-bbdb
/home/wxie/.emacs.d/elpa/org-20170210/ob-C
hides /usr/share/emacs/24.3/lisp/org/ob-C
/home/wxie/.emacs.d/elpa/org-20170210/org-habit
hides /usr/share/emacs/24.3/lisp/org/org-habit
/home/wxie/.emacs.d/elpa/org-20170210/ob-lob
hides /usr/share/emacs/24.3/lisp/org/ob-lob
/home/wxie/.emacs.d/elpa/org-20170210/ob
hides /usr/share/emacs/24.3/lisp/org/ob
/home/wxie/.emacs.d/elpa/org-20170210/ob-gnuplot
hides /usr/share/emacs/24.3/lisp/org/ob-gnuplot
/home/wxie/.emacs.d/elpa/org-20170210/ob-eval
hides /usr/share/emacs/24.3/lisp/org/ob-eval
/home/wxie/.emacs.d/elpa/org-20170210/ob-octave
hides /usr/share/emacs/24.3/lisp/org/ob-octave
/home/wxie/.emacs.d/elpa/org-20170210/org-version
hides /usr/share/emacs/24.3/lisp/org/org-version
/home/wxie/.emacs.d/elpa/org-20170210/org-colview
hides /usr/share/emacs/24.3/lisp/org/org-colview
/home/wxie/.emacs.d/elpa/org-20170210/ob-python
hides /usr/share/emacs/24.3/lisp/org/ob-python
/home/wxie/.emacs.d/elpa/org-20170210/ob-table
hides /usr/share/emacs/24.3/lisp/org/ob-table
/home/wxie/.emacs.d/elpa/org-20170210/org-gnus
hides /usr/share/emacs/24.3/lisp/org/org-gnus
/home/wxie/.emacs.d/elpa/org-20170210/org-inlinetask
hides /usr/share/emacs/24.3/lisp/org/org-inlinetask
/home/wxie/.emacs.d/elpa/org-20170210/ob-css
hides /usr/share/emacs/24.3/lisp/org/ob-css
/home/wxie/.emacs.d/elpa/org-20170210/org-agenda
hides /usr/share/emacs/24.3/lisp/org/org-agenda
/home/wxie/.emacs.d/elpa/org-20170210/org-mhe
hides /usr/share/emacs/24.3/lisp/org/org-mhe
/home/wxie/.emacs.d/elpa/org-20170210/org-footnote
hides /usr/share/emacs/24.3/lisp/org/org-footnote
/home/wxie/.emacs.d/elpa/org-20170210/org-capture
hides /usr/share/emacs/24.3/lisp/org/org-capture
/home/wxie/.emacs.d/elpa/org-20170210/ob-sqlite
hides /usr/share/emacs/24.3/lisp/org/ob-sqlite
/home/wxie/.emacs.d/elpa/org-20170210/ob-fortran
hides /usr/share/emacs/24.3/lisp/org/ob-fortran
/home/wxie/.emacs.d/elpa/org-20170210/org-mouse
hides /usr/share/emacs/24.3/lisp/org/org-mouse
/home/wxie/.emacs.d/elpa/org-20170210/ob-scala
hides /usr/share/emacs/24.3/lisp/org/ob-scala
/home/wxie/.emacs.d/elpa/org-20170210/org-compat
hides /usr/share/emacs/24.3/lisp/org/org-compat
/home/wxie/.emacs.d/elpa/org-20170210/ob-io
hides /usr/share/emacs/24.3/lisp/org/ob-io
/home/wxie/.emacs.d/elpa/org-20170210/org-clock
hides /usr/share/emacs/24.3/lisp/org/org-clock
/home/wxie/.emacs.d/elpa/org-20170210/ob-ref
hides /usr/share/emacs/24.3/lisp/org/ob-ref
/home/wxie/.emacs.d/elpa/org-20170210/org-docview
hides /usr/share/emacs/24.3/lisp/org/org-docview
/home/wxie/.emacs.d/elpa/org-20170210/ob-ditaa
hides /usr/share/emacs/24.3/lisp/org/ob-ditaa
/home/wxie/.emacs.d/elpa/org-20170210/ob-perl
hides /usr/share/emacs/24.3/lisp/org/ob-perl
/home/wxie/.emacs.d/elpa/org-20170210/org-ctags
hides /usr/share/emacs/24.3/lisp/org/org-ctags
/home/wxie/.emacs.d/elpa/org-20170210/org-timer
hides /usr/share/emacs/24.3/lisp/org/org-timer
/home/wxie/.emacs.d/elpa/org-20170210/ob-exp
hides /usr/share/emacs/24.3/lisp/org/ob-exp
/home/wxie/.emacs.d/elpa/org-20170210/ob-ruby
hides /usr/share/emacs/24.3/lisp/org/ob-ruby
/home/wxie/.emacs.d/elpa/org-20170210/org-attach
hides /usr/share/emacs/24.3/lisp/org/org-attach
/home/wxie/.emacs.d/elpa/org-20170210/ob-clojure
hides /usr/share/emacs/24.3/lisp/org/ob-clojure
/home/wxie/.emacs.d/elpa/org-20170210/org-list
hides /usr/share/emacs/24.3/lisp/org/org-list
/home/wxie/.emacs.d/elpa/org-20170210/org-eshell
hides /usr/share/emacs/24.3/lisp/org/org-eshell
/home/wxie/.emacs.d/elpa/org-20170210/org-faces
hides /usr/share/emacs/24.3/lisp/org/org-faces
/home/wxie/.emacs.d/elpa/org-20170210/org-rmail
hides /usr/share/emacs/24.3/lisp/org/org-rmail
/home/wxie/.emacs.d/elpa/org-20170210/ob-haskell
hides /usr/share/emacs/24.3/lisp/org/ob-haskell
/home/wxie/.emacs.d/elpa/org-20170210/org-archive
hides /usr/share/emacs/24.3/lisp/org/org-archive
/home/wxie/.emacs.d/elpa/org-20170210/org-plot
hides /usr/share/emacs/24.3/lisp/org/org-plot
/home/wxie/.emacs.d/elpa/org-20170210/org-element
hides /usr/share/emacs/24.3/lisp/org/org-element
/home/wxie/.emacs.d/elpa/org-20170210/org-src
hides /usr/share/emacs/24.3/lisp/org/org-src
/home/wxie/.emacs.d/elpa/org-20170210/ob-shen
hides /usr/share/emacs/24.3/lisp/org/ob-shen
/home/wxie/.emacs.d/elpa/org-20170210/ob-lisp
hides /usr/share/emacs/24.3/lisp/org/ob-lisp
/home/wxie/.emacs.d/elpa/org-20170210/ob-awk
hides /usr/share/emacs/24.3/lisp/org/ob-awk
/home/wxie/.emacs.d/elpa/org-20170210/ob-ledger
hides /usr/share/emacs/24.3/lisp/org/ob-ledger
/home/wxie/.emacs.d/elpa/org-20170210/ob-sass
hides /usr/share/emacs/24.3/lisp/org/ob-sass
/home/wxie/.emacs.d/elpa/org-20170210/org
hides /usr/share/emacs/24.3/lisp/org/org
/home/wxie/.emacs.d/elpa/org-20170210/ob-lilypond
hides /usr/share/emacs/24.3/lisp/org/ob-lilypond
/home/wxie/.emacs.d/elpa/org-20170210/ob-keys
hides /usr/share/emacs/24.3/lisp/org/ob-keys
/home/wxie/.emacs.d/elpa/org-20170210/ob-sql
hides /usr/share/emacs/24.3/lisp/org/ob-sql
/home/wxie/.emacs.d/elpa/org-20170210/ob-scheme
hides /usr/share/emacs/24.3/lisp/org/ob-scheme
/home/wxie/.emacs.d/elpa/org-20170210/org-entities
hides /usr/share/emacs/24.3/lisp/org/org-entities
/home/wxie/.emacs.d/elpa/org-20170210/org-w3m
hides /usr/share/emacs/24.3/lisp/org/org-w3m
/home/wxie/.emacs.d/elpa/org-20170210/org-loaddefs
hides /usr/share/emacs/24.3/lisp/org/org-loaddefs
/home/wxie/.emacs.d/elpa/org-20170210/ob-emacs-lisp
hides /usr/share/emacs/24.3/lisp/org/ob-emacs-lisp
/home/wxie/.emacs.d/elpa/org-20170210/ob-mscgen
hides /usr/share/emacs/24.3/lisp/org/ob-mscgen
/home/wxie/.emacs.d/elpa/org-20170210/ob-java
hides /usr/share/emacs/24.3/lisp/org/ob-java
/home/wxie/.emacs.d/elpa/org-20170210/ob-latex
hides /usr/share/emacs/24.3/lisp/org/ob-latex
/home/wxie/.emacs.d/elpa/org-20170210/org-id
hides /usr/share/emacs/24.3/lisp/org/org-id
/usr/share/emacs24/site-lisp/latex-cjk-thai/thai-word
hides /usr/share/emacs/24.3/lisp/language/thai-word

Features:
(po-mode pcmpl-unix em-unix em-term term disp-table ehelp electric
em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl
em-basic em-banner em-alias esh-var esh-io esh-cmd esh-opt esh-ext
esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util debug
help-mode shadow sort gnus-util mail-extr emacsbug message rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils ob-shell shell ob-lisp org-habit org-agenda
org-install slime-fancy slime-trace-dialog slime-fontifying-fu
slime-package-fu slime-references slime-compiler-notes-tree
slime-scratch slime-presentations bridge slime-macrostep macrostep
slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
eldoc slime-repl slime-parse slime derived edmacro kmacro lisp-mnt gud
apropos compile etags arc-mode archive-mode pp hyperspec thingatpt
browse-url slime-autoloads cl-macs gv paren delsel cl org-autoloads info
po-mode-autoloads package org byte-opt warnings bytecomp byte-compile
cconv advice help-fns cl-lib advice-preload ob-tangle ob-ref ob-lob
ob-table org-footnote org-src ob-comint ob-keys org-pcomplete pcomplete
comint ansi-color ring org-list org-faces org-entities noutline outline
easy-mmode org-version ob-emacs-lisp ob org-compat org-macs ob-eval
org-loaddefs format-spec find-func cal-menu easymenu calendar
cal-loaddefs time-date china-util tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

more information:
1. emacs -Q has not po-mode (M-x po-mode not recognized), so I cannot
reproduce this issue.

2. gdb emacs:
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe914b700 (LWP 8460)]
[New Thread 0x7fffe3fff700 (LWP 8461)]
Fatal error 6: Aborted
Backtrace:
/usr/bin/emacs[0x4f74cb]
/usr/bin/emacs[0x4dcf3e]
/usr/bin/emacs[0x4f7513]
/usr/bin/emacs[0x49b545]
/usr/bin/emacs[0x49b6ff]
/usr/bin/emacs[0x49ba86]
/usr/bin/emacs[0x49bcc8]
/usr/bin/emacs[0x49c5a3]
/usr/bin/emacs[0x49c993]
/usr/bin/emacs[0x49dd0a]
/usr/bin/emacs[0x43b4d0]
...

Program received signal SIGABRT, Aborted.
0x00007ffff1d501fb in raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
37	../nptl/sysdeps/unix/sysv/linux/pt-raise.c: no such file or folder.

Please guide me how to fix this.

Thanks.
wxie