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

From: "Peder O. Klingenberg" <[email-masked]>
Date: Wed, 2 Apr 2014 00:07:30 +0200

On 1 Apr, 2014, at 23:02, Peder O. Klingenberg <[email-masked]> wrote:

>  x-create-frame(((visibility) (height . 75) (width . 85) (display . "localhost:11.0") (client . nowait) (environment "...")))

Stepping through this function in gdb, the trace seems to be

x-create-frame calls 
x_default_font_parameter (xfns.c:3049) calls
x_default_parameter (xfns.c:2832) calls
x_set_frame_parameters (frame.c:4018)

bt full from a breakpoint on frame.c:4018 shows (top only, it’s 48 frames down to main().  Let me know if there may be interesting stuff there)

(gdb) bt full
#0  x_default_parameter (f=0x135d9e0, alist=17834182, prop=14078850, deflt=16340481, xprop=0x6eba5e "font", xclass=0x6eba59 "Font", 
    type=RES_TYPE_STRING) at frame.c:4018
        tem = 16340577
#1  0x0000000000543a60 in x_default_font_parameter (f=0x135d9e0, parms=17834182) at xfns.c:2832
        dpyinfo = 0x1a64170
        font_param = 13859698
        font = 16340481
#2  0x0000000000544577 in Fx_create_frame (parms=17834182) at xfns.c:3049
        f = 0x135d9e0
        frame = 20306405
        tem = 13859650
        name = 13859650
        minibuffer_only = 0
        window_prompting = 0
        width = 5642964
        height = 32767
        count = 31
        gcpro1 = {
          next = 0x87, 
          var = 0x975b4384e3bea600, 
          nvars = 140733812145632
        }
        gcpro2 = {
          next = 0x21, 
          var = 0x7fff24e17dc8, 
          nvars = 5649570
        }
        gcpro3 = {
          next = 0x7fff24e179c8, 
          var = 0x0, 
          nvars = 9956832
        }
        gcpro4 = {
          next = 0x2, 
          var = 0x2, 
          nvars = 514
        }
        display = 16339697
        dpyinfo = 0x1a64170
        parent = 13859698
        kb = 0x14f8b80

This may be relevant:

(gdb) f  1
#1  0x0000000000543a60 in x_default_font_parameter (f=0x135d9e0, parms=17834182) at xfns.c:2832
2832	  x_default_parameter (f, parms, Qfont, font, "font", "Font", RES_TYPE_STRING);
(gdb) p font
$1 = 16340481
(gdb) xpr
Lisp_String
$2 = (struct Lisp_String *) 0xf95600
"7x13"
(gdb) p font_param
$3 = 13859698
(gdb) xpr
Lisp_Symbol
$4 = (struct Lisp_Symbol *) 0xd37b70
"nil"

-- 
...Peder...