Subject: bug#44002: 27.1; Small window height with VcXsrv X server when built with gtk3 toolkit

From: "J. Scott Berg" <[email-masked]>
Date: Fri, 16 Oct 2020 23:29:09 +0000

I did a bit more debugging. What seems to be happening is that we receive a pair of ConfigureNotify events in rapid succession. The first is for the top level window, and has a reasonable width and height. The second is for the window associated with the frame, but it has a width=1 height=1. This then leads to the resizing of the frame. Presumably the frame's window is not yet mapped, and thus the bogus width and height. Checking for visibility on the frame fixes the problem. I've attached a patch that works for me, but I haven't exhaustively tested all the various possible cases.

> -----Original Message-----
> From: J. Scott Berg
> Sent: Friday, October 16, 2020 3:47 PM
> To: [email-masked]
> Subject: RE: bug#44002: 27.1; Small window height with VcXsrv X server when
> built with gtk3 toolkit
> 
> Here are the breaks with the backtraces at each step. I should clarify that
> the width is always right, only the height is incorrect. I'm attaching
> window images to clarify what is seen. The filenames indicate the values of
> new_width and new_height that are passed to adjust_frame_size. Note the
> +1280,+1224 is the second call with those values (appearing with the @entry
> qualifier). So, first the +1280,+1224 window appears, then the +1280,+1
> call reduces the drawn part to 3 lines, but leaves the X window at its
> original height, filling in black to the bottom. Then the -1,-1 call
> reduces the height of the X window, leaving the part emacs drew as in the
> previous break, and finally the +1280,+170 call expands the part that emacs
> draws to fill that reduced height.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size (f=0x555555c35ea0,
> new_width=10, new_height=9, inhibit=5, pretend=false,
>     parameter=XIL(0x3c60)) at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size (f=0x555555c35ea0, new_width=10, new_height=9,
> inhibit=5, pretend=false, parameter=XIL(0x3c60))
>     at frame.c:597
> #1  0x00005555555a9fe3 in change_frame_size_1
>     (pixelwise=<optimized out>, safe=false, delay=false, pretend=false,
> new_height=<optimized out>, new_width=<optimized out>, f=<optimized out>)
> at lisp.h:1033
> #2  change_frame_size
>     (pixelwise=<optimized out>, safe=false, delay=false, pretend=false,
> new_height=<optimized out>, new_width=<optimized out>, f=<optimized out>)
> at dispnew.c:5830
> #3  do_pending_window_change (safe=false) at dispnew.c:5756
> #4  0x00005555555aff40 in gui_set_frame_parameters (f=<optimized out>,
> alist=<optimized out>) at lisp.h:1233
> #5  0x00005555555b3283 in gui_default_parameter
>     (f=f@entry=0x555556032720, alist=alist@entry=XIL(0x555555c2b343),
> prop=prop@entry=XIL(0x6630), deflt=deflt@entry=XIL(0x555555fda775),
> xprop=xprop@entry=0x55555579b8e3 "font", xclass=xclass@entry=0x55555579a2bc
> "Font", type=RES_TYPE_STRING) at frame.c:5275
> #6  0x000055555566694b in x_default_font_parameter (f=0x555556032720,
> parms=XIL(0x555555c2b343)) at lisp.h:1033
> #7  0x00005555556670f7 in Fx_create_frame (parms=XIL(0x555555c2b343)) at
> xfns.c:3905
> #8  0x00005555556fcb6b in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc5a0) at lisp.h:2110
> #9  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #10 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc910) at eval.c:2809
> #11 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #12 0x00005555556fcaa7 in Ffuncall (nargs=2, args=0x7fffffffccd0) at
> eval.c:2809
> #13 0x00005555556fe9b3 in Fapply (nargs=2, args=0x7fffffffccd0) at
> eval.c:2382
> #14 0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffccc8) at lisp.h:2110
> #15 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #16 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd060) at eval.c:2809
> #17 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #18 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd498) at eval.c:2809
> #19 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #20 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #21 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #22 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #23 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #24 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #25 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #26 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #27 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #28 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #29 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #30 0x0000555555680a48 in command_loop () at lisp.h:1033
> #31 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #32 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #33 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "x-create-frame" (0xffffc5a8)
> "x-create-frame-with-faces" (0xffffc918)
> --Type <RET> for more, q to quit, c to continue without paging--c
> 0xf2575d48 PVEC_COMPILED
> "apply" (0xffffccd0)
> "frame-creation-function" (0xffffd068)
> "make-frame" (0xffffd4a0)
> "frame-initialize" (0xffffd7f0)
> "command-line" (0xffffe1a8)
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size
> (f=f@entry=0x555556032720, new_width=160, new_height=340,
>     inhibit=inhibit@entry=5, pretend=pretend@entry=true,
> parameter=parameter@entry=XIL(0xee50)) at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size
>     (f=f@entry=0x555556032720, new_width=160, new_height=340,
> inhibit=inhibit@entry=5, pretend=pretend@entry=true,
> parameter=parameter@entry=XIL(0xee50)) at frame.c:597
> #1  0x000055555566745f in Fx_create_frame (parms=XIL(0x555555c2b343)) at
> lisp.h:1033
> #2  0x00005555556fcb6b in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc5a0) at lisp.h:2110
> #3  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #4  0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc910) at eval.c:2809
> #5  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #6  0x00005555556fcaa7 in Ffuncall (nargs=2, args=0x7fffffffccd0) at
> eval.c:2809
> #7  0x00005555556fe9b3 in Fapply (nargs=2, args=0x7fffffffccd0) at
> eval.c:2382
> #8  0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffccc8) at lisp.h:2110
> #9  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #10 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd060) at eval.c:2809
> #11 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #12 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd498) at eval.c:2809
> #13 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #14 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #15 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #16 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #17 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #18 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #19 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #20 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #21 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #22 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #23 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #24 0x0000555555680a48 in command_loop () at lisp.h:1033
> #25 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #26 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #27 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "x-create-frame" (0xffffc5a8)
> "x-create-frame-with-faces" (0xffffc918)
> 0xf2575d48 PVEC_COMPILED
> "apply" (0xffffccd0)
> "frame-creation-function" (0xffffd068)
> "make-frame" (0xffffd4a0)
> "frame-initialize" (0xffffd7f0)
> "command-line" (0xffffe1a8)
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size
> (f=f@entry=0x555556032720, new_width=new_width@entry=-1,
>     new_height=new_height@entry=-1, inhibit=1, pretend=pretend@entry=false,
> parameter=parameter@entry=XIL(0xcde0)) at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size
>     (f=f@entry=0x555556032720, new_width=new_width@entry=-1,
> new_height=new_height@entry=-1, inhibit=1, pretend=pretend@entry=false,
> parameter=parameter@entry=XIL(0xcde0)) at frame.c:597
> #1  0x0000555555665835 in x_change_tab_bar_height (f=0x555556032720,
> height=0) at lisp.h:1400
> #2  0x00005555555aff40 in gui_set_frame_parameters (f=<optimized out>,
> alist=<optimized out>) at lisp.h:1233
> #3  0x00005555555b3283 in gui_default_parameter
>     (f=f@entry=0x555556032720, alist=alist@entry=XIL(0x555555c2b343),
> prop=prop@entry=XIL(0xcde0), deflt=make_fixnum(0), xprop=xprop@entry=0x0,
> xclass=xclass@entry=0x0, type=RES_TYPE_NUMBER) at frame.c:5275
> #4  0x00005555556674be in Fx_create_frame (parms=XIL(0x555555c2b343)) at
> lisp.h:1033
> #5  0x00005555556fcb6b in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc5a0) at lisp.h:2110
> #6  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #7  0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc910) at eval.c:2809
> #8  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #9  0x00005555556fcaa7 in Ffuncall (nargs=2, args=0x7fffffffccd0) at
> eval.c:2809
> #10 0x00005555556fe9b3 in Fapply (nargs=2, args=0x7fffffffccd0) at
> eval.c:2382
> #11 0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffccc8) at lisp.h:2110
> #12 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #13 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd060) at eval.c:2809
> #14 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #15 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd498) at eval.c:2809
> #16 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #17 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #18 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #19 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #20 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #21 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #22 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #23 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #24 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #25 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #26 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #27 0x0000555555680a48 in command_loop () at lisp.h:1033
> #28 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #29 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #30 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "x-create-frame" (0xffffc5a8)
> "x-create-frame-with-faces" (0xffffc918)
> 0xf2575d48 PVEC_COMPILED
> "apply" (0xffffccd0)
> "frame-creation-function" (0xffffd068)
> "make-frame" (0xffffd4a0)
> "frame-initialize" (0xffffd7f0)
> "command-line" (0xffffe1a8)
> --Type <RET> for more, q to quit, c to continue without paging--c
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size (f=0x555556032720,
> new_width=-1, new_height=-1, inhibit=3, pretend=false,
>     parameter=XIL(0xbf40)) at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size (f=0x555556032720, new_width=-1, new_height=-1,
> inhibit=3, pretend=false, parameter=XIL(0xbf40))
>     at frame.c:597
> #1  0x00005555555b261f in gui_set_scroll_bar_width (f=0x555556032720,
> arg=<optimized out>, oldval=<optimized out>) at lisp.h:1033
> #2  0x00005555555aff40 in gui_set_frame_parameters (f=<optimized out>,
> alist=<optimized out>) at lisp.h:1233
> #3  0x00005555555b3283 in gui_default_parameter
>     (f=f@entry=0x555556032720, alist=alist@entry=XIL(0x555555c2b343),
> prop=prop@entry=XIL(0xbf40), deflt=deflt@entry=XIL(0),
> xprop=xprop@entry=0x55555579a511 "scrollBarWidth",
> xclass=xclass@entry=0x55555579a502 "ScrollBarWidth", type=RES_TYPE_NUMBER)
>     at frame.c:5275
> #4  0x0000555555667847 in Fx_create_frame (parms=XIL(0x555555c2b343)) at
> lisp.h:1033
> #5  0x00005555556fcb6b in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc5a0) at lisp.h:2110
> #6  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #7  0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc910) at eval.c:2809
> #8  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #9  0x00005555556fcaa7 in Ffuncall (nargs=2, args=0x7fffffffccd0) at
> eval.c:2809
> #10 0x00005555556fe9b3 in Fapply (nargs=2, args=0x7fffffffccd0) at
> eval.c:2382
> #11 0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffccc8) at lisp.h:2110
> #12 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #13 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd060) at eval.c:2809
> #14 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #15 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd498) at eval.c:2809
> #16 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #17 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #18 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #19 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #20 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #21 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #22 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #23 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #24 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #25 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #26 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #27 0x0000555555680a48 in command_loop () at lisp.h:1033
> #28 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #29 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #30 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "x-create-frame" (0xffffc5a8)
> "x-create-frame-with-faces" (0xffffc918)
> 0xf2575d48 PVEC_COMPILED
> "apply" (0xffffccd0)
> "frame-creation-function" (0xffffd068)
> "make-frame" (0xffffd4a0)
> "frame-initialize" (0xffffd7f0)
> "command-line" (0xffffe1a8)
> --Type <RET> for more, q to quit, c to continue without paging--c
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size (f=0x555556032720,
> new_width=-1, new_height=-1, inhibit=3, pretend=false,
>     parameter=XIL(0xbee0)) at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size (f=0x555556032720, new_width=-1, new_height=-1,
> inhibit=3, pretend=false, parameter=XIL(0xbee0))
>     at frame.c:597
> #1  0x00005555555b26ff in gui_set_scroll_bar_height (f=0x555556032720,
> arg=<optimized out>, oldval=<optimized out>) at lisp.h:1033
> #2  0x00005555555aff40 in gui_set_frame_parameters (f=<optimized out>,
> alist=<optimized out>) at lisp.h:1233
> #3  0x00005555555b3283 in gui_default_parameter
>     (f=f@entry=0x555556032720, alist=alist@entry=XIL(0x555555c2b343),
> prop=prop@entry=XIL(0xbee0), deflt=deflt@entry=XIL(0),
> xprop=xprop@entry=0x55555579a530 "scrollBarHeight",
> xclass=xclass@entry=0x55555579a520 "ScrollBarHeight", type=RES_TYPE_NUMBER)
>     at frame.c:5275
> #4  0x000055555566786e in Fx_create_frame (parms=XIL(0x555555c2b343)) at
> lisp.h:1033
> #5  0x00005555556fcb6b in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc5a0) at lisp.h:2110
> #6  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #7  0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc910) at eval.c:2809
> #8  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #9  0x00005555556fcaa7 in Ffuncall (nargs=2, args=0x7fffffffccd0) at
> eval.c:2809
> #10 0x00005555556fe9b3 in Fapply (nargs=2, args=0x7fffffffccd0) at
> eval.c:2382
> #11 0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffccc8) at lisp.h:2110
> #12 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #13 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd060) at eval.c:2809
> #14 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #15 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd498) at eval.c:2809
> #16 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #17 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #18 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #19 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #20 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #21 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #22 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #23 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #24 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #25 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #26 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #27 0x0000555555680a48 in command_loop () at lisp.h:1033
> #28 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #29 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #30 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "x-create-frame" (0xffffc5a8)
> "x-create-frame-with-faces" (0xffffc918)
> 0xf2575d48 PVEC_COMPILED
> "apply" (0xffffccd0)
> "frame-creation-function" (0xffffd068)
> "make-frame" (0xffffd4a0)
> "frame-initialize" (0xffffd7f0)
> "command-line" (0xffffe1a8)
> --Type <RET> for more, q to quit, c to continue without paging--c
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size
> (f=f@entry=0x555556032720, new_width=new_width@entry=-1,
>     new_height=new_height@entry=-1, inhibit=inhibit@entry=2,
> pretend=pretend@entry=false, parameter=parameter@entry=XIL(0x96c0))
>     at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size
>     (f=f@entry=0x555556032720, new_width=new_width@entry=-1,
> new_height=new_height@entry=-1, inhibit=inhibit@entry=2,
> pretend=pretend@entry=false, parameter=parameter@entry=XIL(0x96c0)) at
> frame.c:597
> #1  0x00005555556769ca in xg_update_frame_menubar
> (f=f@entry=0x555556032720) at lisp.h:1033
> #2  0x00005555555f995f in update_frame_menubar (f=0x555556032720) at
> xmenu.c:1012
> #3  set_frame_menubar (f=f@entry=0x555556032720,
> first_time=first_time@entry=true, deep_p=<optimized out>,
> deep_p@entry=true)
>     at xmenu.c:1012
> #4  0x00005555555f9d24 in initialize_frame_menubar
> (f=f@entry=0x555556032720) at xmenu.c:1032
> #5  0x0000555555668088 in Fx_create_frame (parms=XIL(0x555555c2b343)) at
> xfns.c:4112
> #6  0x00005555556fcb6b in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc5a0) at lisp.h:2110
> #7  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #8  0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc910) at eval.c:2809
> #9  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #10 0x00005555556fcaa7 in Ffuncall (nargs=2, args=0x7fffffffccd0) at
> eval.c:2809
> #11 0x00005555556fe9b3 in Fapply (nargs=2, args=0x7fffffffccd0) at
> eval.c:2382
> #12 0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffccc8) at lisp.h:2110
> #13 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #14 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd060) at eval.c:2809
> #15 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #16 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd498) at eval.c:2809
> #17 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #18 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #19 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #20 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #21 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #22 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #23 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #24 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #25 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #26 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #27 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #28 0x0000555555680a48 in command_loop () at lisp.h:1033
> #29 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #30 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #31 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "x-create-frame" (0xffffc5a8)
> "x-create-frame-with-faces" (0xffffc918)
> 0xf2575d48 PVEC_COMPILED
> "apply" (0xffffccd0)
> "frame-creation-function" (0xffffd068)
> "make-frame" (0xffffd4a0)
> "frame-initialize" (0xffffd7f0)
> "command-line" (0xffffe1a8)
> --Type <RET> for more, q to quit, c to continue without paging--c
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size
> (f=f@entry=0x555556032720, new_width=1280, new_height=1224,
>     inhibit=inhibit@entry=0, pretend=pretend@entry=true,
> parameter=parameter@entry=XIL(0xee80)) at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size
>     (f=f@entry=0x555556032720, new_width=1280, new_height=1224,
> inhibit=inhibit@entry=0, pretend=pretend@entry=true,
> parameter=parameter@entry=XIL(0xee80)) at frame.c:597
> #1  0x0000555555667a89 in Fx_create_frame (parms=XIL(0x555555c2b343)) at
> lisp.h:1033
> #2  0x00005555556fcb6b in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc5a0) at lisp.h:2110
> #3  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #4  0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc910) at eval.c:2809
> #5  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #6  0x00005555556fcaa7 in Ffuncall (nargs=2, args=0x7fffffffccd0) at
> eval.c:2809
> #7  0x00005555556fe9b3 in Fapply (nargs=2, args=0x7fffffffccd0) at
> eval.c:2382
> #8  0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffccc8) at lisp.h:2110
> #9  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #10 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd060) at eval.c:2809
> #11 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #12 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd498) at eval.c:2809
> #13 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #14 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #15 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #16 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #17 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #18 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #19 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #20 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #21 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #22 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #23 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #24 0x0000555555680a48 in command_loop () at lisp.h:1033
> #25 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #26 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #27 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "x-create-frame" (0xffffc5a8)
> "x-create-frame-with-faces" (0xffffc918)
> 0xf2575d48 PVEC_COMPILED
> "apply" (0xffffccd0)
> "frame-creation-function" (0xffffd068)
> "make-frame" (0xffffd4a0)
> "frame-initialize" (0xffffd7f0)
> "command-line" (0xffffe1a8)
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size
> (f=f@entry=0x555556032720, new_width=new_width@entry=1280,
>     new_height=new_height@entry=1224, inhibit=inhibit@entry=5,
> pretend=pretend@entry=false, parameter=parameter@entry=XIL(0xf270))
>     at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size
>     (f=f@entry=0x555556032720, new_width=new_width@entry=1280,
> new_height=new_height@entry=1224, inhibit=inhibit@entry=5,
> pretend=pretend@entry=false, parameter=parameter@entry=XIL(0xf270)) at
> frame.c:597
> #1  0x0000555555674e53 in xg_frame_set_char_size (f=0x555556032720,
> width=1280, height=1224) at lisp.h:1033
> #2  0x000055555565a7aa in x_set_window_size
>     (f=0x555556032720, change_gravity=<optimized out>, width=1280,
> height=1224, pixelwise=<optimized out>) at xterm.c:11492
> #3  0x00005555555adcf3 in adjust_frame_size
>     (f=f@entry=0x555556032720, new_width=<optimized out>,
> new_height=<optimized out>, inhibit=inhibit@entry=0,
> pretend=pretend@entry=true, parameter=parameter@entry=XIL(0xee80)) at
> frame.c:707
> #4  0x0000555555667a89 in Fx_create_frame (parms=XIL(0x555555c2b343)) at
> lisp.h:1033
> #5  0x00005555556fcb6b in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc5a0) at lisp.h:2110
> #6  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #7  0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffc910) at eval.c:2809
> #8  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #9  0x00005555556fcaa7 in Ffuncall (nargs=2, args=0x7fffffffccd0) at
> eval.c:2809
> #10 0x00005555556fe9b3 in Fapply (nargs=2, args=0x7fffffffccd0) at
> eval.c:2382
> #11 0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffccc8) at lisp.h:2110
> #12 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #13 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd060) at eval.c:2809
> #14 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #15 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd498) at eval.c:2809
> #16 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #17 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #18 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #19 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #20 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #21 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #22 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #23 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #24 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #25 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #26 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #27 0x0000555555680a48 in command_loop () at lisp.h:1033
> #28 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #29 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #30 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "x-create-frame" (0xffffc5a8)
> "x-create-frame-with-faces" (0xffffc918)
> 0xf2575d48 PVEC_COMPILED
> "apply" (0xffffccd0)
> "frame-creation-function" (0xffffd068)
> "make-frame" (0xffffd4a0)
> "frame-initialize" (0xffffd7f0)
> --Type <RET> for more, q to quit, c to continue without paging--c
> "command-line" (0xffffe1a8)
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size (f=0x555556032720,
> new_width=1280, new_height=1, inhibit=5, pretend=false,
>     parameter=XIL(0x3c60)) at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size (f=0x555556032720, new_width=1280, new_height=1,
> inhibit=5, pretend=false, parameter=XIL(0x3c60))
>     at frame.c:597
> #1  0x00005555555a9fe3 in change_frame_size_1
>     (pixelwise=<optimized out>, safe=false, delay=false, pretend=false,
> new_height=<optimized out>, new_width=<optimized out>, f=<optimized out>)
> at lisp.h:1033
> #2  change_frame_size
>     (pixelwise=<optimized out>, safe=false, delay=false, pretend=false,
> new_height=<optimized out>, new_width=<optimized out>, f=<optimized out>)
> at dispnew.c:5830
> #3  do_pending_window_change (safe=safe@entry=false) at dispnew.c:5756
> #4  0x00005555555e275f in message3_nolog (m=<optimized out>) at
> xdisp.c:11019
> #5  0x00005555555e29e8 in message3 (m=m@entry=XIL(0x5555565191f4)) at
> xdisp.c:10950
> #6  0x00005555556f3d90 in Fmessage (args=0x7fffffffcc70, nargs=<optimized
> out>) at editfns.c:2891
> #7  Fmessage (nargs=<optimized out>, args=0x7fffffffcc70) at editfns.c:2859
> #8  0x00005555556fcb6b in Ffuncall (nargs=3,
> args=args@entry=0x7fffffffcc68) at lisp.h:2110
> #9  0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #10 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffcfe0) at eval.c:2809
> #11 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #12 0x00005555556fcaa7 in Ffuncall (nargs=2,
> args=args@entry=0x7fffffffd7e8) at eval.c:2809
> #13 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #14 0x00005555556fcaa7 in Ffuncall (nargs=1,
> args=args@entry=0x7fffffffe1a0) at eval.c:2809
> #15 0x00005555557350c8 in exec_byte_code
>     (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized
> out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized
> out>) at bytecode.c:633
> #16 0x00005555556ffd3d in apply_lambda (fun=XIL(0x7ffff285eb25),
> args=<optimized out>, count=4) at eval.c:2927
> #17 0x00005555556fedd6 in eval_sub (form=<optimized out>) at eval.c:2349
> #18 0x00005555557008d9 in Feval (form=XIL(0x7ffff29bb68b),
> lexical=<optimized out>) at eval.c:2103
> #19 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>)
>     at eval.c:1356
> #20 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #21 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555681980
> <top_level_1>, arg=arg@entry=XIL(0)) at eval.c:1117
> #22 0x0000555555680a48 in command_loop () at lisp.h:1033
> #23 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #24 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #25 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "message" (0xffffcc70)
> "display-startup-echo-area-message" (0xffffcfe8)
> "command-line-1" (0xffffd7f0)
> "command-line" (0xffffe1a8)
> "normal-top-level" (0xffffe640)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size
> (f=f@entry=0x555556032720, new_width=new_width@entry=-1,
>     new_height=new_height@entry=-1, inhibit=inhibit@entry=2,
> pretend=pretend@entry=false, parameter=parameter@entry=XIL(0xd350))
>     at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size
>     (f=f@entry=0x555556032720, new_width=new_width@entry=-1,
> new_height=new_height@entry=-1, inhibit=inhibit@entry=2,
> pretend=pretend@entry=false, parameter=parameter@entry=XIL(0xd350)) at
> frame.c:597
> #1  0x000055555567858a in update_frame_tool_bar (f=f@entry=0x555556032720)
> at lisp.h:1033
> #2  0x00005555555f2767 in redisplay_tool_bar (f=<optimized out>) at
> xdisp.c:14152
> #3  redisplay_window (window=XIL(0x555556032965),
> just_this_one_p=<optimized out>) at xdisp.c:19060
> #4  0x00005555555f48db in redisplay_window_0
> (window=window@entry=XIL(0x555556032965)) at xdisp.c:16314
> #5  0x00005555556fbd64 in internal_condition_case_1
>     (bfun=bfun@entry=0x5555555f48b0 <redisplay_window_0>,
> arg=arg@entry=XIL(0x555556032965), handlers=<optimized out>,
> hfun=hfun@entry=0x5555555b5e60 <redisplay_window_error>) at eval.c:1380
> #6  0x00005555555ba655 in redisplay_windows (window=XIL(0x555556032965)) at
> xdisp.c:16294
> #7  0x00005555555e103d in redisplay_internal () at xdisp.c:15762
> #8  0x000055555568b603 in read_char
>     (commandflag=1, map=XIL(0x5555565c4b13), prev_event=XIL(0),
> used_mouse_menu=0x7fffffffe53b, end_time=0x0) at keyboard.c:2493
> #9  0x000055555568e487 in read_key_sequence
>     (keybuf=<optimized out>, prompt=XIL(0), dont_downcase_last=<optimized
> out>, can_return_switch_frame=true, fix_current_buffer=true,
> prevent_redisplay=<optimized out>) at keyboard.c:9553
> #10 0x000055555568fbac in command_loop_1 () at lisp.h:1033
> #11 0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x55555568f9c0 <command_loop_1>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>) at eval.c:1356
> #12 0x0000555555680ab4 in command_loop_2 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #13 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555680a90
> <command_loop_2>, arg=arg@entry=XIL(0)) at eval.c:1117
> #14 0x0000555555680a5b in command_loop () at lisp.h:1033
> #15 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #16 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #17 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "redisplay_internal (C function)" (0x0)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 3, adjust_frame_size (f=0x555556032720,
> new_width=1280, new_height=170, inhibit=5, pretend=false,
>     parameter=XIL(0x3c60)) at frame.c:597
> 597     {
> (gdb) where
> #0  adjust_frame_size (f=0x555556032720, new_width=1280, new_height=170,
> inhibit=5, pretend=false, parameter=XIL(0x3c60))
>     at frame.c:597
> #1  0x00005555555a9fe3 in change_frame_size_1
>     (pixelwise=<optimized out>, safe=true, delay=false, pretend=false,
> new_height=<optimized out>, new_width=<optimized out>, f=<optimized out>)
> at lisp.h:1033
> #2  change_frame_size
>     (pixelwise=<optimized out>, safe=true, delay=false, pretend=false,
> new_height=<optimized out>, new_width=<optimized out>, f=<optimized out>)
> at dispnew.c:5830
> #3  do_pending_window_change (safe=safe@entry=true) at dispnew.c:5756
> #4  0x00005555555e0b5f in redisplay_internal () at xdisp.c:15398
> #5  0x000055555568b603 in read_char
>     (commandflag=1, map=XIL(0x5555565c4b13), prev_event=XIL(0),
> used_mouse_menu=0x7fffffffe53b, end_time=0x0) at keyboard.c:2493
> #6  0x000055555568e487 in read_key_sequence
>     (keybuf=<optimized out>, prompt=XIL(0), dont_downcase_last=<optimized
> out>, can_return_switch_frame=true, fix_current_buffer=true,
> prevent_redisplay=<optimized out>) at keyboard.c:9553
> #7  0x000055555568fbac in command_loop_1 () at lisp.h:1033
> #8  0x00005555556fbcd7 in internal_condition_case
>     (bfun=bfun@entry=0x55555568f9c0 <command_loop_1>,
> handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x555555686300
> <cmd_error>) at eval.c:1356
> #9  0x0000555555680ab4 in command_loop_2 (ignore=ignore@entry=XIL(0)) at
> lisp.h:1033
> #10 0x00005555556fbc31 in internal_catch
>     (tag=tag@entry=XIL(0xd500), func=func@entry=0x555555680a90
> <command_loop_2>, arg=arg@entry=XIL(0)) at eval.c:1117
> #11 0x0000555555680a5b in command_loop () at lisp.h:1033
> #12 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> #13 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> #14 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> emacs.c:2062
> 
> Lisp Backtrace:
> "redisplay_internal (C function)" (0x0)
> 
> > -----Original Message-----
> > From: Eli Zaretskii <[email-masked]>
> > Sent: Friday, October 16, 2020 3:08 PM
> > To: J. Scott Berg <[email-masked]>
> > Cc: [email-masked]
> > Subject: Re: bug#44002: 27.1; Small window height with VcXsrv X server
> when
> > built with gtk3 toolkit
> >
> > > From: "J. Scott Berg" <[email-masked]>
> > > Date: Fri, 16 Oct 2020 14:47:46 +0000
> > > Cc: "[email-masked]" <[email-masked]>
> > >
> > > Below I've shown the a the adjust_fram_size breaks. Just before the
> call
> > with new_width=1280, new_height=1, a full window with the correct size, a
> > menu bar, and otherwise a white background is visible. After that call,
> the
> > window retains the same size, but below the menu there is a single text
> > line (white) buffer, the status line, and a single text line (white)
> > minibuffer; the remainder of the window below that is black. I showed the
> > backtrace for that call. After the subsequent call, the window size jumps
> > to approximately 5 text lines, keeping the same buffer/status/minibuffer
> as
> > before, and the last two-ish text lines are black. After the subsequent
> > call, I have an ordinary-looking emacs window except for the fact that
> the
> > main buffer is only 3 lines long.
> >
> > Thanks.
> >
> > > Thread 1 "emacs" hit Breakpoint 1, adjust_frame_size (f=0x555556034200,
> > new_width=1280, new_height=1, inhibit=5, pretend=false,
> > >     parameter=0x3c60) at frame.c:597
> > > 597     {
> > > (gdb) where
> > > #0  adjust_frame_size (f=0x555556034200, new_width=1280, new_height=1,
> > inhibit=5, pretend=false, parameter=0x3c60) at frame.c:597
> > > #1  0x00005555555a9fe3 in change_frame_size_1
> > >     (pixelwise=<optimized out>, safe=false, delay=false, pretend=false,
> > new_height=<optimized out>, new_width=<optimized out>, f=<optimized out>)
> > at lisp.h:1033
> > > #2  change_frame_size
> > >     (pixelwise=<optimized out>, safe=false, delay=false, pretend=false,
> > new_height=<optimized out>, new_width=<optimized out>, f=<optimized out>)
> > at dispnew.c:5830
> > > #3  do_pending_window_change (safe=safe@entry=false) at dispnew.c:5756
> > > #4  0x00005555555e275f in message3_nolog (m=<optimized out>) at
> > xdisp.c:11019
> > > #5  0x00005555555e29e8 in message3 (m=m@entry=0x555555ff32a4) at
> > xdisp.c:10950
> > > #6  0x00005555556f3d90 in Fmessage (args=0x7fffffffccb0,
> nargs=<optimized
> > out>) at editfns.c:2891
> > > #7  Fmessage (nargs=<optimized out>, args=0x7fffffffccb0) at
> > editfns.c:2859
> > > #8  0x00005555556fcb6b in Ffuncall (nargs=3,
> > args=args@entry=0x7fffffffcca8) at lisp.h:2110
> > > #9  0x00005555557350c8 in exec_byte_code
> > >     (bytestr=<optimized out>, vector=<optimized out>,
> maxdepth=<optimized
> > out>, args_template=<optimized out>, nargs=<optimized out>,
> args=<optimized
> > out>) at bytecode.c:633
> > > #10 0x00005555556fcaa7 in Ffuncall (nargs=1,
> > args=args@entry=0x7fffffffd020) at eval.c:2809
> > > #11 0x00005555557350c8 in exec_byte_code
> > >     (bytestr=<optimized out>, vector=<optimized out>,
> maxdepth=<optimized
> > out>, args_template=<optimized out>, nargs=<optimized out>,
> args=<optimized
> > out>) at bytecode.c:633
> > > #12 0x00005555556fcaa7 in Ffuncall (nargs=2,
> > args=args@entry=0x7fffffffd828) at eval.c:2809
> > > #13 0x00005555557350c8 in exec_byte_code
> > >     (bytestr=<optimized out>, vector=<optimized out>,
> maxdepth=<optimized
> > out>, args_template=<optimized out>, nargs=<optimized out>,
> args=<optimized
> > out>) at bytecode.c:633
> > > #14 0x00005555556fcaa7 in Ffuncall (nargs=1,
> > args=args@entry=0x7fffffffe1e0) at eval.c:2809
> > > #15 0x00005555557350c8 in exec_byte_code
> > >     (bytestr=<optimized out>, vector=<optimized out>,
> maxdepth=<optimized
> > out>, args_template=<optimized out>, nargs=<optimized out>,
> args=<optimized
> > out>) at bytecode.c:633
> > > #16 0x00005555556ffd3d in apply_lambda (fun=0x7ffff285eb25,
> > args=<optimized out>, count=4) at eval.c:2927
> > > #17 0x00005555556fedd6 in eval_sub (form=<optimized out>) at
> eval.c:2349
> > > #18 0x00005555557008d9 in Feval (form=0x7ffff29bb68b,
> lexical=<optimized
> > out>) at eval.c:2103
> > > #19 0x00005555556fbcd7 in internal_condition_case
> > >     (bfun=bfun@entry=0x555555680ac0 <top_level_2>,
> > handlers=handlers@entry=0x90, hfun=hfun@entry=0x555555686300 <cmd_error>)
> > >     at eval.c:1356
> > > #20 0x00005555556819a6 in top_level_1 (ignore=ignore@entry=0x0) at
> > lisp.h:1033
> > > #21 0x00005555556fbc31 in internal_catch (tag=tag@entry=0xd500,
> > func=func@entry=0x555555681980 <top_level_1>, arg=arg@entry=0x0)
> > >     at eval.c:1117
> > > #22 0x0000555555680a48 in command_loop () at lisp.h:1033
> > > #23 0x0000555555685f16 in recursive_edit_1 () at keyboard.c:714
> > > #24 0x0000555555686242 in Frecursive_edit () at keyboard.c:786
> > > #25 0x00005555555a00f7 in main (argc=2, argv=<optimized out>) at
> > emacs.c:2062
> > > (gdb) c
> > > Continuing.
> > >
> > > Thread 1 "emacs" hit Breakpoint 1, adjust_frame_size
> > (f=f@entry=0x555556034200, new_width=new_width@entry=-1,
> > >     new_height=new_height@entry=-1, inhibit=inhibit@entry=2,
> > pretend=pretend@entry=false, parameter=parameter@entry=0xd350)
> > >     at frame.c:597
> > > 597     {
> > > (gdb) c
> > > Continuing.
> > >
> > > Thread 1 "emacs" hit Breakpoint 1, adjust_frame_size (f=0x555556034200,
> > new_width=1280, new_height=170, inhibit=5, pretend=false,
> > >     parameter=0x3c60) at frame.c:597
> > > 597     {
> > > (gdb) c
> > > Continuing.
> >
> > I don't see here any call that makes the frame resize to 5x5, can you
> > point out which call that is?
> >
> > Also, please say "where" for each time the breakpoint breaks, and
> > before that say
> >
> >   (gdb) source /path/to/emacs/src/.gdbinit
> >
> > so that "where" also reports Lisp-level backtraces.