GNU bug report logs - #29955
25.2; stale lock files can hang emacs --batch

Previous Next

Package: emacs;

Reported by: David Bremner <david <at> tethera.net>

Date: Wed, 3 Jan 2018 00:58:01 UTC

Severity: normal

Found in versions 25.2, 24.5

Fixed in versions 26.2, 27.1

Done: Glenn Morris <rgm <at> gnu.org>

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 29955 in the body.
You can then email your comments to 29955 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#29955; Package emacs. (Wed, 03 Jan 2018 00:58:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Bremner <david <at> tethera.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 03 Jan 2018 00:58:02 GMT) Full text and rfc822 format available.

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

From: David Bremner <david <at> tethera.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.2; stale lock files can hang emacs --batch
Date: Tue, 02 Jan 2018 20:56:46 -0400
        tempdir=$(mktemp -d)
        echo working in $tempdir
        cd $tempdir
        touch foo
        ln -s user <at> example.com.5423:1487632643 .#foo
        emacs -Q --batch  --eval "(add-hook 'kill-emacs-hook (lambda () (write-file \"foo\")))"

This seems to put emacs into a bad state; I had to use kill -9 to kill
it. If I just write the file directly, it still hangs, but it's
interruptible with C-c.

In practice this arose for a user using anything.el, and trying to batch
byte-compile some elisp as root (as part of a system wide
installation). The installation process hung hard. There's definitely
some aspect of misconfiguration (the anything-el code should not have
been active during the byte compilation), but it would be nice to be
more robust against this kind of circumstance. Perhaps those questions
about locks should automatically assume 'q' when running in batch mode?

In GNU Emacs 25.2.2 (x86_64-pc-linux-gnu, GTK+ Version 3.22.20)
 of 2017-09-12, modified by Debian built on trouble
Windowing system distributor 'The X.Org Foundation', version 11.0.11905000
System Description:	Debian GNU/Linux testing (buster)

Configured using:
 'configure --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/emacs25:/etc/emacs:/usr/local/share/emacs/25.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.2/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --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/emacs25:/etc/emacs:/usr/local/share/emacs/25.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.2/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-x=yes --with-x-toolkit=gtk3
 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs25-XrMyQe/emacs25-25.2+1=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11

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

Major mode: Circe Channel

Minor modes in effect:
  cursor-intangible-mode: t
  diff-auto-refine-mode: t
  tracking-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-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

Recent messages:
Saving file /home/bremner/tmp/repro.sh...
Wrote /home/bremner/tmp/repro.sh
Saving file /home/bremner/tmp/repro.sh...
Wrote /home/bremner/tmp/repro.sh
Saving file /home/bremner/tmp/repro.sh...
Wrote /home/bremner/tmp/repro.sh
Quit
command-execute: Command attempted to use minibuffer while in minibuffer
Quit [3 times]
Mark set [2 times]
Quit

Load-path shadows:
/home/bremner/.emacs.d/elpa/counsel-0.9.1/counsel hides /home/bremner/.emacs.d/elpa/ivy-0.9.1/counsel
/home/bremner/.emacs.d/elpa/swiper-0.9.1/swiper hides /home/bremner/.emacs.d/elpa/ivy-0.9.1/swiper
/usr/share/emacs/25.2/site-lisp/elpa/jabber-0.8.92/fsm hides /usr/share/emacs/25.2/site-lisp/elpa/fsm-0.2.1/fsm
/usr/share/emacs25/site-lisp/emacs-goodies-el/all hides /usr/share/emacs/25.2/site-lisp/elpa/company-0.9.4/all
/usr/share/emacs25/site-lisp/emacs-goodies-el/htmlize hides /usr/share/emacs/25.2/site-lisp/elpa/htmlize-1.51/htmlize
/usr/share/emacs/25.2/site-lisp/elpa/magit-2.11.0/magit-popup hides /usr/share/emacs/25.2/site-lisp/elpa/magit-popup-2.11.0/magit-popup
/usr/share/emacs25/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/25.2/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs25/site-lisp/flim/hex-util hides /usr/share/emacs/25.2/lisp/hex-util
/usr/share/emacs25/site-lisp/flim/md4 hides /usr/share/emacs/25.2/lisp/md4
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/25.2/lisp/textmodes/rst
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-table hides /usr/share/emacs/25.2/lisp/org/ob-table
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-mscgen hides /usr/share/emacs/25.2/lisp/org/ob-mscgen
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-rmail hides /usr/share/emacs/25.2/lisp/org/org-rmail
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-pcomplete hides /usr/share/emacs/25.2/lisp/org/org-pcomplete
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-clock hides /usr/share/emacs/25.2/lisp/org/org-clock
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-beamer hides /usr/share/emacs/25.2/lisp/org/ox-beamer
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-sass hides /usr/share/emacs/25.2/lisp/org/ob-sass
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-fortran hides /usr/share/emacs/25.2/lisp/org/ob-fortran
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-macs hides /usr/share/emacs/25.2/lisp/org/org-macs
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-entities hides /usr/share/emacs/25.2/lisp/org/org-entities
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-capture hides /usr/share/emacs/25.2/lisp/org/org-capture
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-lilypond hides /usr/share/emacs/25.2/lisp/org/ob-lilypond
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-info hides /usr/share/emacs/25.2/lisp/org/org-info
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-bbdb hides /usr/share/emacs/25.2/lisp/org/org-bbdb
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-js hides /usr/share/emacs/25.2/lisp/org/ob-js
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-dot hides /usr/share/emacs/25.2/lisp/org/ob-dot
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-ledger hides /usr/share/emacs/25.2/lisp/org/ob-ledger
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-md hides /usr/share/emacs/25.2/lisp/org/ox-md
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-docview hides /usr/share/emacs/25.2/lisp/org/org-docview
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-plantuml hides /usr/share/emacs/25.2/lisp/org/ob-plantuml
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-awk hides /usr/share/emacs/25.2/lisp/org/ob-awk
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-clojure hides /usr/share/emacs/25.2/lisp/org/ob-clojure
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-screen hides /usr/share/emacs/25.2/lisp/org/ob-screen
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-eval hides /usr/share/emacs/25.2/lisp/org/ob-eval
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-ctags hides /usr/share/emacs/25.2/lisp/org/org-ctags
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-attach hides /usr/share/emacs/25.2/lisp/org/org-attach
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-plot hides /usr/share/emacs/25.2/lisp/org/org-plot
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-id hides /usr/share/emacs/25.2/lisp/org/org-id
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-gnuplot hides /usr/share/emacs/25.2/lisp/org/ob-gnuplot
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-emacs-lisp hides /usr/share/emacs/25.2/lisp/org/ob-emacs-lisp
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-makefile hides /usr/share/emacs/25.2/lisp/org/ob-makefile
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-maxima hides /usr/share/emacs/25.2/lisp/org/ob-maxima
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-timer hides /usr/share/emacs/25.2/lisp/org/org-timer
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-odt hides /usr/share/emacs/25.2/lisp/org/ox-odt
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-mouse hides /usr/share/emacs/25.2/lisp/org/org-mouse
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-agenda hides /usr/share/emacs/25.2/lisp/org/org-agenda
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-install hides /usr/share/emacs/25.2/lisp/org/org-install
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-bibtex hides /usr/share/emacs/25.2/lisp/org/org-bibtex
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-haskell hides /usr/share/emacs/25.2/lisp/org/ob-haskell
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-table hides /usr/share/emacs/25.2/lisp/org/org-table
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-ditaa hides /usr/share/emacs/25.2/lisp/org/ob-ditaa
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-gnus hides /usr/share/emacs/25.2/lisp/org/org-gnus
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-eshell hides /usr/share/emacs/25.2/lisp/org/org-eshell
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-picolisp hides /usr/share/emacs/25.2/lisp/org/ob-picolisp
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-mhe hides /usr/share/emacs/25.2/lisp/org/org-mhe
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-texinfo hides /usr/share/emacs/25.2/lisp/org/ox-texinfo
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-keys hides /usr/share/emacs/25.2/lisp/org/ob-keys
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-octave hides /usr/share/emacs/25.2/lisp/org/ob-octave
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-protocol hides /usr/share/emacs/25.2/lisp/org/org-protocol
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-datetree hides /usr/share/emacs/25.2/lisp/org/org-datetree
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-core hides /usr/share/emacs/25.2/lisp/org/ob-core
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-lob hides /usr/share/emacs/25.2/lisp/org/ob-lob
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-latex hides /usr/share/emacs/25.2/lisp/org/ob-latex
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-footnote hides /usr/share/emacs/25.2/lisp/org/org-footnote
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-w3m hides /usr/share/emacs/25.2/lisp/org/org-w3m
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-archive hides /usr/share/emacs/25.2/lisp/org/org-archive
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-faces hides /usr/share/emacs/25.2/lisp/org/org-faces
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-list hides /usr/share/emacs/25.2/lisp/org/org-list
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-comint hides /usr/share/emacs/25.2/lisp/org/ob-comint
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-indent hides /usr/share/emacs/25.2/lisp/org/org-indent
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-org hides /usr/share/emacs/25.2/lisp/org/ob-org
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-inlinetask hides /usr/share/emacs/25.2/lisp/org/org-inlinetask
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-compat hides /usr/share/emacs/25.2/lisp/org/org-compat
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-io hides /usr/share/emacs/25.2/lisp/org/ob-io
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-mobile hides /usr/share/emacs/25.2/lisp/org/org-mobile
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-scheme hides /usr/share/emacs/25.2/lisp/org/ob-scheme
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-python hides /usr/share/emacs/25.2/lisp/org/ob-python
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-html hides /usr/share/emacs/25.2/lisp/org/ox-html
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-java hides /usr/share/emacs/25.2/lisp/org/ob-java
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-colview hides /usr/share/emacs/25.2/lisp/org/org-colview
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-ruby hides /usr/share/emacs/25.2/lisp/org/ob-ruby
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-latex hides /usr/share/emacs/25.2/lisp/org/ox-latex
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox hides /usr/share/emacs/25.2/lisp/org/ox
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-ref hides /usr/share/emacs/25.2/lisp/org/ob-ref
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-macro hides /usr/share/emacs/25.2/lisp/org/org-macro
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org hides /usr/share/emacs/25.2/lisp/org/org
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-css hides /usr/share/emacs/25.2/lisp/org/ob-css
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-shen hides /usr/share/emacs/25.2/lisp/org/ob-shen
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-irc hides /usr/share/emacs/25.2/lisp/org/org-irc
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-sql hides /usr/share/emacs/25.2/lisp/org/ob-sql
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-element hides /usr/share/emacs/25.2/lisp/org/org-element
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob hides /usr/share/emacs/25.2/lisp/org/ob
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-sqlite hides /usr/share/emacs/25.2/lisp/org/ob-sqlite
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-publish hides /usr/share/emacs/25.2/lisp/org/ox-publish
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-tangle hides /usr/share/emacs/25.2/lisp/org/ob-tangle
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-lisp hides /usr/share/emacs/25.2/lisp/org/ob-lisp
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-exp hides /usr/share/emacs/25.2/lisp/org/ob-exp
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-crypt hides /usr/share/emacs/25.2/lisp/org/org-crypt
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-perl hides /usr/share/emacs/25.2/lisp/org/ob-perl
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-src hides /usr/share/emacs/25.2/lisp/org/org-src
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-icalendar hides /usr/share/emacs/25.2/lisp/org/ox-icalendar
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-loaddefs hides /usr/share/emacs/25.2/lisp/org/org-loaddefs
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-ocaml hides /usr/share/emacs/25.2/lisp/org/ob-ocaml
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-ascii hides /usr/share/emacs/25.2/lisp/org/ox-ascii
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-R hides /usr/share/emacs/25.2/lisp/org/ob-R
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-C hides /usr/share/emacs/25.2/lisp/org/ob-C
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-version hides /usr/share/emacs/25.2/lisp/org/org-version
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-asymptote hides /usr/share/emacs/25.2/lisp/org/ob-asymptote
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-habit hides /usr/share/emacs/25.2/lisp/org/org-habit
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-matlab hides /usr/share/emacs/25.2/lisp/org/ob-matlab
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-org hides /usr/share/emacs/25.2/lisp/org/ox-org
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ox-man hides /usr/share/emacs/25.2/lisp/org/ox-man
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/ob-calc hides /usr/share/emacs/25.2/lisp/org/ob-calc
/usr/share/emacs/25.2/site-lisp/elpa/org-9.0.9/org-feed hides /usr/share/emacs/25.2/lisp/org/org-feed
/usr/share/emacs25/site-lisp/flim/sasl-cram hides /usr/share/emacs/25.2/lisp/net/sasl-cram
/usr/share/emacs25/site-lisp/flim/sasl hides /usr/share/emacs/25.2/lisp/net/sasl
/usr/share/emacs25/site-lisp/flim/sasl-digest hides /usr/share/emacs/25.2/lisp/net/sasl-digest
/usr/share/emacs25/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/25.2/lisp/net/sasl-ntlm
/usr/share/emacs25/site-lisp/flim/hmac-def hides /usr/share/emacs/25.2/lisp/net/hmac-def
/usr/share/emacs25/site-lisp/flim/hmac-md5 hides /usr/share/emacs/25.2/lisp/net/hmac-md5
/usr/share/emacs25/site-lisp/flim/ntlm hides /usr/share/emacs/25.2/lisp/net/ntlm
/usr/share/emacs/25.2/site-lisp/elpa/let-alist-1.0.5/let-alist hides /usr/share/emacs/25.2/lisp/emacs-lisp/let-alist
/usr/share/emacs/25.2/site-lisp/elpa/seq-2.20/seq hides /usr/share/emacs/25.2/lisp/emacs-lisp/seq
/usr/share/emacs25/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs25/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs25/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs25/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs25/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs25/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs25/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs25/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs25/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs25/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs25/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs25/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs25/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs25/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/usr/share/emacs25/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs25/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs25/site-lisp/auctex/tex-ispell hides /usr/share/emacs/site-lisp/auctex/tex-ispell
/usr/share/emacs25/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs25/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs25/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs25/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs25/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex

Features:
(shadow emacsbug sh-script smie vc-git mm-archive cursor-sensor sendmail
qp eieio-opt speedbar sb-image ezimage dframe sort company-oddmuse
company-keywords company-etags 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 mail-extr
minibuffer-complete-cycle notmuch-jump counsel jka-compr esh-util etags
xref project swiper ivy flx delsel ivy-overlay ffap url-parse url-vars
notmuch hl-line notmuch-message notmuch-hello wid-edit notmuch-tree
notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash coolj notmuch-query goto-addr icalendar diary-lib
diary-loaddefs notmuch-tag crm notmuch-lib notmuch-version
notmuch-compat message dired rfc822 mml mailabbrev mail-utils gmm-utils
mailheader mm-view mml-smime mml-sec epg smime dig mm-decode mm-bodies
mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 ietf-drums server
indirect-region tempo edmacro kmacro org-notmuch org-element avl-tree
org org-macro org-footnote org-pcomplete org-list org-faces org-entities
org-version ob-emacs-lisp ob-python ob ob-tangle org-src ob-ref ob-lob
ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs cal-menu calendar cal-loaddefs org-install vc vc-dispatcher
circe-color-nicks color circe-chanop circe diff-mode lui-irc-colors irc
make-tls-process tls gnutls lcs lui-format lui tracking shorten rx paren
flyspell ispell circe-compat finder-inf muse-autoloads package
epg-config debian-el debian-el-loaddefs haskell-mode-autoloads ido seq
seq-25 ess-toolbar ess-mouse mouseme thingatpt browse-url ess-swv
ess-noweb ess-noweb-font-lock-mode ess-bugs-l ess-sas-d ess-sas-l
ess-sas-a ess-stata-mode ess-stata-lang cc-vars cc-defs make-regexp
essd-els ess-sp6-d ess-dde ess-sp3-d ess-julia julia-mode ert pp
find-func ewoc debug ess-r-mode ess-r-package ess-r-syntax
ess-r-completion ess-roxy essddr ess-rd noutline outline hideshow
ess-s-lang ess-help ess ess-mode ess-noweb-mode ess-inf ess-tracebug
compile tramp tramp-compat auth-source cl-seq eieio byte-opt bytecomp
byte-compile cl-extra cconv eieio-core gnus-util mm-util help-fns
help-mode mail-prsvr password-cache tramp-loaddefs cl-macs trampver
ucs-normalize shell pcomplete comint ansi-color ring format-spec advice
ess-generics cl gv cl-loaddefs pcase cl-lib ess-custom executable
easymenu ess-compat ess-utils time-date ess-site emacs-goodies-el
emacs-goodies-custom emacs-goodies-loaddefs easy-mmode dpkg-dev-el
dpkg-dev-el-loaddefs preview-latex tex-site auto-loads mule-util tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core 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 charscript case-table epa-hook jka-cmpr-hook help
simple abbrev 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 system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 741135 49134)
 (symbols 48 43575 1)
 (miscs 40 1813 1716)
 (strings 32 127722 39337)
 (string-bytes 1 3642800)
 (vectors 16 74397)
 (vector-slots 8 2012893 165842)
 (floats 8 1001 347)
 (intervals 56 18520 0)
 (buffers 976 84))




Merged 22622 29955. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 03 Jan 2018 01:55:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29955; Package emacs. (Mon, 22 Jan 2018 19:59:01 GMT) Full text and rfc822 format available.

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

From: Glenn Morris <rgm <at> gnu.org>
To: David Bremner <david <at> tethera.net>
Cc: 29955 <at> debbugs.gnu.org
Subject: Re: bug#29955: 25.2; stale lock files can hang emacs --batch
Date: Mon, 22 Jan 2018 14:58:42 -0500
David Bremner wrote:

>         tempdir=$(mktemp -d)
>         echo working in $tempdir
>         cd $tempdir
>         touch foo
>         ln -s user <at> example.com.5423:1487632643 .#foo
>         emacs -Q --batch  --eval "(add-hook 'kill-emacs-hook (lambda () (write-file \"foo\")))"

Great recipe, thanks.
I'd hoped this issue (which is the same as https://debbugs.gnu.org/22622,
by the way) would have been fixed by

http://lists.gnu.org/r/emacs-diffs/2017-04/msg00178.html

but it sadly it seems not, for reasons not immediately apparent to me.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29955; Package emacs. (Mon, 22 Jan 2018 21:16:02 GMT) Full text and rfc822 format available.

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

From: Glenn Morris <rgm <at> gnu.org>
To: David Bremner <david <at> tethera.net>
Cc: 29955 <at> debbugs.gnu.org
Subject: Re: bug#29955: 25.2; stale lock files can hang emacs --batch
Date: Mon, 22 Jan 2018 16:15:15 -0500
Glenn Morris wrote:

> but it sadly it seems not, for reasons not immediately apparent to me.

I note that this also hangs:

emacs -Q --batch \
   --eval "(add-hook 'kill-emacs-hook (lambda () (error \"foo\")))"

so presumably there's a second issue at work here.






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29955; Package emacs. (Mon, 22 Jan 2018 23:51:02 GMT) Full text and rfc822 format available.

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

From: Glenn Morris <rgm <at> gnu.org>
To: David Bremner <david <at> tethera.net>
Cc: 29955 <at> debbugs.gnu.org
Subject: Re: bug#29955: 25.2; stale lock files can hang emacs --batch
Date: Mon, 22 Jan 2018 18:50:02 -0500
Glenn Morris wrote:

> I note that this also hangs:
>
> emacs -Q --batch \
>    --eval "(add-hook 'kill-emacs-hook (lambda () (error \"foo\")))"

This can be avoided by using safe_run_hooks for Qkill_emacs_hook in
Fkill_emacs. Perhaps that's the right thing to do, if noninteractive?

Would it be correct for interactive mode, too?
As it stands, in interactive mode an error in kill-emacs-hook
will stop Emacs from exiting.
I'm not sure if that is a desirable feature or not...




Disconnected #22622 from all other report(s). Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 24 Jan 2018 01:57:01 GMT) Full text and rfc822 format available.

Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 24 Jan 2018 02:01:02 GMT) Full text and rfc822 format available.

Notification sent to David Bremner <david <at> tethera.net>:
bug acknowledged by developer. (Wed, 24 Jan 2018 02:01:02 GMT) Full text and rfc822 format available.

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

From: Glenn Morris <rgm <at> gnu.org>
To: 29955-done <at> debbugs.gnu.org
Subject: Re: bug#29955: 25.2; stale lock files can hang emacs --batch
Date: Tue, 23 Jan 2018 20:59:37 -0500
Version: 27.1

I applied the following to master (though emacs-26 seems appropriate to me).
Together with 28718c4, it should fix this issue.

commit 109da68
Date:   Tue Jan 23 20:55:09 2018 -0500

    Avoid kill-emacs-hook errors hanging batch mode
    
    * src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
    hanging Emacs in batch mode.  (Bug#29955)

diff --git a/src/emacs.c b/src/emacs.c
index 84cd3ac..8ea61b7 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -2024,7 +2024,10 @@ all of which are called before Emacs is actually killed.  */
   /* Fsignal calls emacs_abort () if it sees that waiting_for_input is
      set.  */
   waiting_for_input = 0;
-  run_hook (Qkill_emacs_hook);
+  if (noninteractive)
+    safe_run_hooks (Qkill_emacs_hook);
+  else
+    run_hook (Qkill_emacs_hook);
 
 #ifdef HAVE_X_WINDOWS
   /* Transfer any clipboards we own to the clipboard manager.  */




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 21 Feb 2018 12:24:05 GMT) Full text and rfc822 format available.

bug unarchived. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 12 Nov 2018 19:05:01 GMT) Full text and rfc822 format available.

bug Marked as fixed in versions 26.2. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 12 Nov 2018 19:05:01 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. (Tue, 11 Dec 2018 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 109 days ago.

Previous Next


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