Subject: 24.4.50; emacs not recognizing process-exit correctly?
From: raman <[email-masked]>
To: [email-masked]
Date: Sun, 27 Apr 2014 16:59:39 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

This has now happened to me with both mplayer and gpg, so I am
beginning to suspect a bug in the process status handling code
...

Symptoms: Happens in long-running emacs sessions, and fails to
repro if you kill and restart Emacs.

When the bug bites,, emacs hangs waiting for the subprocess even
though the subprocess has quit. Happens for example when you open
a foo.gpg file. If this happens, the gpg process finishes
decrypting the file, but Emacs fails to notice that it is done,
and hangs. Hitting C-g produces the message "buffer *epg* has a
running process ...". If you answer "no" to  kill that process,
emacs continues to hang.  Checking status of the gpg process from
a different terminal shows that process' status as "defunct".

Similar behavior with mplayer as well.

This is on an oldish Linux box that is still running Ubuntu
Jaunty, but with updated libs for gnutls etc.

In GNU Emacs 24.4.50.2 (i686-pc-linux-gnu, GTK+ Version 2.16.1)
 of 2014-04-26 on labrador
Repository revision: %N
System Description:	Ubuntu 9.04

Configured using:
 `configure --prefix=/usr/local --without-compress-install'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF
NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB

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

Major mode: Shell

Minor modes in effect:
  gpm-mouse-mode: t
  global-semantic-idle-summary-mode: t
  global-semanticdb-minor-mode: t
  semantic-mode: t
  savehist-mode: t
  ido-everywhere: t
  display-time-mode: t
  auto-insert-mode: t
  jabber-activity-mode: t
  jabber-mode-line-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  dynamic-completion-mode: t
  dired-omit-mode: t
  desktop-save-mode: t
  shell-dirtrack-mode: t
  global-voice-lock-mode: t
  voice-lock-mode: t
  tooltip-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
  transient-mark-mode: t

Recent input:
RET ESC < ESC [ [ D C-x @ h s c d RET p s _ s p o t 
SPC m p l a y e r RET c d RET ESC x r e p o r t SPC 
e m a c s - b TAB RET

Recent messages:
Successfully initialized Emacs
~ 
Opening TLS connection to `talk.google.com'...
Opening TLS connection with `gnutls-cli -p 5223 talk.google.com'...done
Opening TLS connection to `talk.google.com'...done
Authentication succeeded for [email-masked]
~ 
Decrypting /home/raman/.authinfo.gpg...done
~  [2 times]
End of buffer 

Load-path shadows:
/home/raman/.emacs.d/elpa/google-this-20131031.1015/noflet hides /home/raman/.emacs.d/elpa/noflet-20140202.1451/noflet
/home/raman/emacs/lisp/site-lisp/gm/g-utils hides /home/raman/emacs/lisp/emacspeak/lisp/g-client/g-utils
/home/raman/emacs/lisp/site-lisp/vm/lisp/tapestry hides /home/raman/emacs/lisp/emacspeak/lisp/tapestry
/home/raman/.emacs.d/elpa/apt-utils-20130824.1200/apt-utils hides /home/raman/emacs/lisp/site-lisp/apt-utils
/home/raman/.emacs.d/elpa/fold-dwim-20140208.837/fold-dwim hides /home/raman/emacs/lisp/site-lisp/fold-dwim
/home/raman/.emacs.d/elpa/xml-rpc-20130423.1656/xml-rpc hides /home/raman/emacs/lisp/site-lisp/xml-rpc
/home/raman/emacs/lisp/emacspeak/lisp/tetris hides /usr/local/share/emacs/24.4.50/lisp/play/tetris
/home/raman/.emacs.d/elpa/emms-20140222.2027/tq hides /usr/local/share/emacs/24.4.50/lisp/emacs-lisp/tq
/home/raman/.emacs.d/elpa/tabulated-list-20120406.2251/tabulated-list hides /usr/local/share/emacs/24.4.50/lisp/emacs-lisp/tabulated-list

Features:
(shadow emacsbug epa-file ffap jabber-bookmarks emacspeak-wizards
emacspeak-eterm term ehelp emacspeak-texinfo texinfo
emacspeak-table-ui emacspeak-table emacspeak-find-dired
find-dired eldoc lisp-mnt t-mouse cal-china lunar cal-bahai
cal-islam cal-hebrew holidays hol-loaddefs gcal g-app g-auth
mule-util cal-move server bbdb-vm vm-mime vm-folder vm-summary
vm-motion vm-undo vm-misc bbdb-snarf mail-extr bbdb-com
emms-info-libtag emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort emms-playlist-sort emms-last-played
emms-player-xine emms-player-mpd tq emms-playing-time emms-lyrics
emms-url emms-streams emms-tag-editor emms-mark emms-mode-line
emms-cache emms-info-ogginfo emms-info-mp3info emms-info later-do
emms-playlist-mode emms-player-vlc emms-player-mplayer
emms-player-simple emms-source-playlist emms-source-file
emms-setup emacspeak-emms emms emms-compat emacspeak-reftex
reftex reftex-vars Save-visited-files-autoloads emacspeak-auctex
tex-site charmap cljdoc-autoloads clojure-project-mode-autoloads
closure-lint-mode-autoloads closure-template-html-mode-autoloads
color-theme-autoloads control-lock-autoloads cppcheck-autoloads
crontab-mode-autoloads dired-isearch-autoloads dizzee-autoloads
doc-mode-autoloads dotassoc-autoloads finder-inf
echo-pick-autoloads eimp-autoloads elisp-cache-autoloads
enwc-autoloads epoch-view-autoloads eshell-info-autoloads
find-file-in-repository-autoloads gopher-autoloads heap-autoloads
http-twiddle-autoloads iflipb-autoloads inflections-autoloads
ioccur-autoloads js-comint-autoloads key-chord-autoloads
kill-ring-search-autoloads letcheck-autoloads logito-autoloads
macro-math-autoloads magnet-autoloads markchars-autoloads
marmalade-autoloads furl-autoloads maxframe-autoloads
memory-usage-autoloads my-packages-autoloads nav-autoloads
oauth-autoloads otp-autoloads emacspeak-info info
project-autoloads project-mode-autoloads levenshtein-autoloads
protobuf-mode-autoloads pylint-autoloads pysmell-autoloads
quarter-plane-autoloads queue-autoloads register-list-autoloads
scratch-autoloads session-autoloads shadchen-autoloads
shell-here-autoloads edmacro emacspeak-kmacro kmacro
slime-repl-autoloads slime-autoloads ssh-config-mode-autoloads
tabkey2-autoloads tabula-rasa-mode-autoloads texdrive-autoloads
thumb-through-autoloads tidy-autoloads watch-buffer-autoloads
wget-autoloads workspaces-autoloads wtf-autoloads
xml-gen-autoloads package emacs-startup semantic/idle
semantic/format ezimage semantic/tag-ls semantic/find
semantic/ctxt semantic/db-mode semantic/db eieio-base saveplace
midnight jka-compr emacspeak-cedet semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw
mode-local cedet savehist emacspeak-ido ido emacspeak-m-player
time autoinsert emacspeak-gm gm tramp tramp-compat tramp-loaddefs
trampver emacspeak-twittering twittering-mode epa epg ssl
emacspeak-jabber jabber jabber-libnotify jabber-awesome
jabber-osd jabber-wmii jabber-xmessage jabber-festival
jabber-sawfish jabber-ratpoison jabber-tmux jabber-screen
jabber-socks5 jabber-ft-server jabber-si-server jabber-ft-client
jabber-ft-common jabber-si-client jabber-si-common
jabber-feature-neg jabber-truncate jabber-time jabber-autoaway
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar jabber-activity jabber-watch jabber-modeline
jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp jabber-browse jabber-search
jabber-register jabber-roster jabber-private jabber-presence
jabber-muc jabber-muc-nick-coloring hexrgb jabber-widget
jabber-disco jabber-chat jabber-history jabber-chatbuffer
jabber-alert jabber-iq jabber-core jabber-console
emacspeak-sgml-mode sgml-mode ewoc jabber-keymap jabber-sasl sasl
sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn
srv dns starttls gnutls jabber-xml jabber-menu jabber-util
jabber-autoloads erc-list erc-menu erc-join erc-ring erc-networks
erc-pcomplete erc-track erc-match erc-button erc-fill erc-stamp
erc-netsplit emacspeak-erc erc-goodies erc erc-backend erc-compat
pp emacspeak-org org org-macro org-footnote org-pcomplete
org-list org-faces org-entities emacspeak-outline foldout
noutline outline easy-mmode org-version ob-emacs-lisp 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
emacspeak-find-func find-func emacspeak-calendar appt diary-lib
diary-loaddefs solar cal-dst cal-menu calendar cal-loaddefs
emacspeak-tcl tcl emacspeak-folding folding w3-prepare w3 w3-menu
w3-emulate w3-auto w3-parse w3-fast-parse emacspeak-w3
emacspeak-google html2text gmaps emacspeak-we emacspeak-xslt
w3-display w3-mouse w3-imap url-handlers w3-widget w3-vars
w3-keymap w3-cus css font disp-table devices ange-ftp w3-cfg
w3-compat emacspeak-sigbegone sigbegone emacspeak-custom cus-edit
cus-start smtpmail sendmail gnus-prepare gnus-demon nntp
emacspeak-gnus gm-nnir nnir gnus-art mm-uu mml2015 epg-config
mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo
gnus-start gnus-cloud nnimap nnmail mail-source tls utf7 netrc
nnoo parse-time gnus-spec gnus-int gnus-range emacspeak-message
message format-spec rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev gmm-utils mailheader gnus-win emacspeak-hide gnus
gnus-ems nnheader mail-utils emacspeak-mspools mspools
emacspeak-bbdb bbdb timezone bbdb-autoloads vm-pine vm-macro
vm-message vm-autoloads vm-vars vm-version my-functions
completion dired-aux dired-x emacspeak-dired emacspeak-desktop
desktop frameset dired emacspeak-aumix emacspeak-forms forms-mode
forms emacspeak-setup emacspeak-dbus nm dbus xml
emacspeak-webspace emacspeak-feeds emacspeak-webutils browse-url
url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util url-parse auth-source eieio
eieio-core gnus-util mm-util mail-prsvr password-cache url-vars
mailcap gf gweb gfeeds g-utils json emacspeak-alsaplayer
emacspeak-amark derived emacspeak-advice shell pcomplete comint
ring emacspeak-ansi-color ansi-color emacspeak-replace
emacspeak-redefine emacspeak-personality emacspeak
emacspeak-widget warnings wid-edit emacspeak-facemenu
emacspeak-fix-interactive emacspeak-buff-menu g-cus-load cus-load
emacspeak-preamble emacspeak-keymap emacspeak-speak time-date
emacspeak-pronounce thingatpt dtk-speak flite-voices dtk-interp
voice-setup emacspeak-sounds dectalk-voices espeak-voices
mac-voices multispeech-voices outloud-voices dtk-unicode byte-opt
bytecomp byte-compile cconv descr-text help-mode easymenu
dtk-css-speech acss-structure emacspeak-load-path advice help-fns
vc-git vc-dispatcher vc-svn cl-macs cl gv cl-loaddefs cl-lib
tooltip electric uniquify 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 prog-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 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
make-network-process dbusbind inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)

Memory information:
((conses 8 814730 84699)
 (symbols 24 61672 4)
 (miscs 20 183 1678)
 (strings 16 223418 41308)
 (string-bytes 1 7034104)
 (vectors 8 60126)
 (vector-slots 4 982352 18644)
 (floats 8 1108 488)
 (intervals 28 2846 836)
 (buffers 512 26)
 (heap 1024 42830 2039))