Subject: bug#4078: 23.1; Forcibly breaking 'emacsclient -c' X connections can crash emacs.

From: Dan Nicolaescu <[email-masked]>
Date: Sat, 8 Aug 2009 12:05:56 -0700 (PDT)

Nelson Elhage <[email-masked]> writes:

  > Steps to reproduce:
  >  (1) Run 'emacs --daemon' or 'emacs -nw'
  >  (2) M-x server-start
  >  (3) Run 'emacsclient -c'
  >  (4) Run 'xkill' and click on the Emacs X window
  >  (5) Run 'emacsclient -c' again
  > 
  > Expected behavior:
  > 
  >  Another emacs X window pops up.
  > 
  > Observed behavior:
  > 
  >  * A window pops up, but remains blank and non-responsive.
  >  * The 'emacs -nw' window outputs an infinite stream of
  >    (process:11200): GLib-WARNING (recursed) **: g_main_context_prepare() called recursively from within a source's check() or prepare() member
  > 
  >  At this point, 'emacsclient -t' still works properly, and killing the
  >  new '-c' session seems to usually stop the GLib spew.
  > 
  > 
  > I captured a backtrace of emacs, interrupted while it was spewing that
  > warning endlessly. I appear to have caught it while logging the error,
  > so hopefully the stack is relevant. This is 100% reproducible for me,
  > so I can happily provide other stack traces if they would be useful.

This is a long standing Gtk+ bug:
http://bugzilla.gnome.org/show_bug.cgi?id=85715

If you configure emacs using --with-x-toolkit=lucid this problem will
not happen.