Subject: bug#18102: 24.3; emacs stops responding to keyboard after closing frame

From: "David J. Biesack" <[email-masked]>
Date: Thu, 24 Jul 2014 16:51:30 -0400

Sometimes after closing a frame, emacs ignores all key events in remaining open frames
after explicitly clicking in them to set point. Ctrl-g does nothing. I can't type anything in those frames.

This occurs intermittently. However, I have RMAIL set up to open reply
messages in a new frame. When I send those messages, message-send-and-exit
closes that message frame via a function I bind:

       (setq message-exit-actions (cons 'message-delete-frame message-exit-actions)))

Even though emacs is not responding to key events, I can click 
in emacs windows, move point, invoke menus, etc. emacsclient
works so I can even do

  emacsclient -e '(top-level)'

(I can open a X console and type there; it is only emacs that loses keyboard input))

Such emacs lisp is handled via emacsclient, but keys do not work in my frames.

I eventually use emacsclient to save all buffers and exit emacs "gracefully". 

However, this has happened several times, so it is not a fluke;
I now have to restart emacs almost daily. (I can disable frame
creation for new messages, but I'd rather not; this helps me
keep track of open *message* buffers)

In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7)
 of 2014-03-07 on lamiak, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:     Ubuntu 14.04 LTS

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_ALL: C
  value of $LC_COLLATE: en_US.UTF-8
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: nil
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  display-time-mode: t
  show-paren-mode: t
  iswitchb-mode: t
  nxhtml-menu-mode: t
  nxhtml-tag-do-also: t
  popcmp-group-alternatives: t
  popcmp-short-help-beside-alts: t
  mlinks-active-links: t
  rngalt-minimal-validation-header: t
  rngalt-display-validation-header: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  abbrev-mode: t

Recent input:
<down-mouse-1> <mouse-1> M-x r e p o r t - e m SPC 
<return>

Recent messages:
Loading esh (compiled; note, source file is newer)...done
Loading xdg-email...done
Loading gnu/linux (compiled; note, source file is newer)...done
loaded optional library gnu/linux
Loading d77781...done
loaded optional library d77781
Loading transient...done
Loading /u/sasdjb/emacs/emacs.elc...done
Loading .emacs took 7.3 seconds ...
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
/u/sasdjb/emacs/nxhtml/web-vcs hides /u/sasdjb/emacs/web-vcs
/u/sasdjb/emacs/nxhtml/nxhtml-web-vcs hides /u/sasdjb/emacs/nxhtml-web-vcs
/u/sasdjb/emacs/ps-ccrypt hides /usr/share/emacs24/site-lisp/ccrypt/ps-ccrypt
/usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs24/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/u/sasdjb/emacs/bs hides /usr/share/emacs/24.3/lisp/bs
/u/sasdjb/emacs/autoinsert hides /usr/share/emacs/24.3/lisp/autoinsert
/u/sasdjb/emacs/xml hides /usr/share/emacs/24.3/lisp/xml
/u/sasdjb/emacs/midnight hides /usr/share/emacs/24.3/lisp/midnight
/u/sasdjb/emacs/whitespace hides /usr/share/emacs/24.3/lisp/whitespace
/u/sasdjb/emacs/uniquify hides /usr/share/emacs/24.3/lisp/uniquify
/u/sasdjb/emacs/indent hides /usr/share/emacs/24.3/lisp/indent
/u/sasdjb/emacs/cmuscheme hides /usr/share/emacs/24.3/lisp/cmuscheme
/u/sasdjb/emacs/wdired hides /usr/share/emacs/24.3/lisp/wdired
/u/sasdjb/emacs/align hides /usr/share/emacs/24.3/lisp/align
/u/sasdjb/emacs/ibuffer hides /usr/share/emacs/24.3/lisp/ibuffer
/u/sasdjb/emacs/url/url-cookie hides /usr/share/emacs/24.3/lisp/url/url-cookie
/u/sasdjb/emacs/url/url-misc hides /usr/share/emacs/24.3/lisp/url/url-misc
/u/sasdjb/emacs/url/url-cache hides /usr/share/emacs/24.3/lisp/url/url-cache
/u/sasdjb/emacs/url/url-ftp hides /usr/share/emacs/24.3/lisp/url/url-ftp
/u/sasdjb/emacs/url/url-expand hides /usr/share/emacs/24.3/lisp/url/url-expand
/u/sasdjb/emacs/url/url-handlers hides /usr/share/emacs/24.3/lisp/url/url-handlers
/u/sasdjb/emacs/url/url-methods hides /usr/share/emacs/24.3/lisp/url/url-methods
/u/sasdjb/emacs/url/url-imap hides /usr/share/emacs/24.3/lisp/url/url-imap
/u/sasdjb/emacs/url/url-ldap hides /usr/share/emacs/24.3/lisp/url/url-ldap
/u/sasdjb/emacs/url/url-parse hides /usr/share/emacs/24.3/lisp/url/url-parse
/u/sasdjb/emacs/url/url-privacy hides /usr/share/emacs/24.3/lisp/url/url-privacy
/u/sasdjb/emacs/url/url-http hides /usr/share/emacs/24.3/lisp/url/url-http
/u/sasdjb/emacs/url/url-history hides /usr/share/emacs/24.3/lisp/url/url-history
/u/sasdjb/emacs/url/url-cid hides /usr/share/emacs/24.3/lisp/url/url-cid
/u/sasdjb/emacs/url/url hides /usr/share/emacs/24.3/lisp/url/url
/u/sasdjb/emacs/url/url-util hides /usr/share/emacs/24.3/lisp/url/url-util
/u/sasdjb/emacs/url/url-ns hides /usr/share/emacs/24.3/lisp/url/url-ns
/u/sasdjb/emacs/url/url-dired hides /usr/share/emacs/24.3/lisp/url/url-dired
/u/sasdjb/emacs/url/url-about hides /usr/share/emacs/24.3/lisp/url/url-about
/u/sasdjb/emacs/url/url-vars hides /usr/share/emacs/24.3/lisp/url/url-vars
/u/sasdjb/emacs/url/url-proxy hides /usr/share/emacs/24.3/lisp/url/url-proxy
/u/sasdjb/emacs/url/url-file hides /usr/share/emacs/24.3/lisp/url/url-file
/u/sasdjb/emacs/url/url-news hides /usr/share/emacs/24.3/lisp/url/url-news
/u/sasdjb/emacs/url/url-dav hides /usr/share/emacs/24.3/lisp/url/url-dav
/u/sasdjb/emacs/url/url-irc hides /usr/share/emacs/24.3/lisp/url/url-irc
/u/sasdjb/emacs/url/url-nfs hides /usr/share/emacs/24.3/lisp/url/url-nfs
/u/sasdjb/emacs/url/url-gw hides /usr/share/emacs/24.3/lisp/url/url-gw
/u/sasdjb/emacs/url/url-mailto hides /usr/share/emacs/24.3/lisp/url/url-mailto
/u/sasdjb/emacs/url/url-auth hides /usr/share/emacs/24.3/lisp/url/url-auth
/u/sasdjb/emacs/table hides /usr/share/emacs/24.3/lisp/textmodes/table
/u/sasdjb/emacs/glasses hides /usr/share/emacs/24.3/lisp/progmodes/glasses
/u/sasdjb/emacs/icon hides /usr/share/emacs/24.3/lisp/progmodes/icon
/u/sasdjb/emacs/xscheme hides /usr/share/emacs/24.3/lisp/progmodes/xscheme
/u/sasdjb/emacs/cpp hides /usr/share/emacs/24.3/lisp/progmodes/cpp
/u/sasdjb/emacs/antlr-mode hides /usr/share/emacs/24.3/lisp/progmodes/antlr-mode
/u/sasdjb/emacs/solitaire hides /usr/share/emacs/24.3/lisp/play/solitaire
/u/sasdjb/emacs/zone hides /usr/share/emacs/24.3/lisp/play/zone
/u/sasdjb/emacs/metamail hides /usr/share/emacs/24.3/lisp/mail/metamail
/u/sasdjb/emacs/registry hides /usr/share/emacs/24.3/lisp/gnus/registry
/u/sasdjb/emacs/elp hides /usr/share/emacs/24.3/lisp/emacs-lisp/elp
/u/sasdjb/emacs/re-builder hides /usr/share/emacs/24.3/lisp/emacs-lisp/re-builder
/u/sasdjb/emacs/nxhtml/tests/ert hides /usr/share/emacs/24.3/lisp/emacs-lisp/ert
/u/sasdjb/emacs/trace hides /usr/share/emacs/24.3/lisp/emacs-lisp/trace

Features:
(shadow sort message-mode-hooks mime-open rmail smtpmail auth-source eieio password-cache mailto ph gnus-util mail-extr emacsbug message rfc822 mml mml-sec mailabbrev gmm-utils mailheader color-themes color-theme edmacro kmacro sendmail mail-utils reporter color-theme-autoloads time server my-keys resizing my-emacs thing gnus-dired goto-addr edit-server password-keeper-mode sensitive-mode password-generator ps-ccrypt dired-efap dired-sort-map dired-a dired-aux paren iswitchb msb javadecomp autobrowse last-mod disp-table sgml-ext nxhtml-autostart nxhtml-autoload moz cc-cmds majmodpri nxhtml-menu udev-rinari udev-ecb udev flymake-js flymake css-color nxhtml-mode html-quote tidy-xhtml ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff html-imenu imenu loadhist popcmp xhtml-help mlinks url-expand url-util url-methods html-toc xml fupd html-pagetoc foldit appmenu-fold appmenu mumamo sgml-mode rngalt rng-nxml nxml-mode nxml-outln nxml-rap nxml-glyph rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-util nxml-enc xmltok cc-engine cc-vars cc-defs help-mode flyspell ispell fold-dwim hideshow html-upl html-site derived url-parse url-vars ourcomments-util uniquify recentf tree-widget org byte-opt warnings ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs ido bookmark apropos grep ffip compile gimpedit dired nxhtml-web-vcs cl-macs gv web-vcs bytecomp byte-compile cconv rx web-autoload mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr cus-edit easymenu wid-edit nxhtml-base easy-mmode cl ascii-conversion bg shell pcomplete comint ansi-color ring quickurl browse-url pp thingatpt remote-shell advice help-fns cl-lib advice-preload midnight desktop cus-start cus-load time-date 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)

-- 
David J. Biesack | Principal API Architect | SAS Technology Office | @davidbiesack | www.sas.com