Subject: bug#17125: Acknowledgement (24.4.50; daemon mode: closing X client frame exits entire emacs)

From: "Peder O. Klingenberg" <[email-masked]>
Date: Tue, 1 Apr 2014 23:02:08 +0200

On 1 Apr, 2014, at 18:27, Dmitry Antipov <[email-masked]> wrote:

> Peder, please try this instead.
[...]
> <bug17125_fixed.patch>

I skipped your earlier patch, and applied this one on top of a clean font.c, reverting my own experiments.

It was not an unconditional success, unfortunately.  Nothing segfaults anymore, but now I’m not able to attach a graphical emacsclient at all:

$ emacsclient -nc -s test
*ERROR*: Wrong type argument: font, []

Until now I’ve been using emacsclient as built with the clean 24.4.50 sources.  I tried with a post-patch build of emacsclient as well, no difference.  Neither gdb on the server process or gdb on the emacsclient invocation caught a signal.

So I set up a terminal client, set debug-on-error and debug-on-quit and debug-on-signal all to t (they were the ones I could remember…)
When I ran “emacsclient -nc -s test” I got the following backtrace (deeper frames and irrelevant environment elided):

Debugger entered--Lisp error: (wrong-type-argument font [])
  x-create-frame(((visibility) (height . 75) (width . 85) (display . "localhost:11.0") (client . nowait) (environment "...")))
  x-create-frame-with-faces(((height . 75) (width . 85) (display . "localhost:11.0") (client . nowait) (environment "..."))
  make-frame(((display . "localhost:11.0") (client . nowait) (environment "..."))
  make-frame-on-display("localhost:11.0" ((client . nowait) (environment "..."))
  server-create-window-system-frame("localhost:11.0" t #<process test <6>> nil nil)
[…]

-- 
...Peder...