Subject: Re: bug#52705: 29.0.50; Flashing popups when x-gtk-use-system-tooltips is nil in pgtk

From: martin rudalics <[email-masked]>
Date: Sat, 25 Dec 2021 18:16:50 +0100

>> (emacs:1348): Gdk-CRITICAL **: 09:25:18.556: gdk_window_create_similar_surface: assertion 'GDK_IS_WINDOW (window)' failed
 >
 > That points to the tooltip's window not being realized when
 > `pgtk_begin_cr_clip' is called, which "can't happen".
 >
 > Can you run Emacs inside a debugger with the environment containing
 > `G_DEBUG=fatal-criticals' and show a backtrace?

(gdb) run -Q
Starting program: /home/martin/emacs-git/trunk/obj-pgtk/src/emacs -Q
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff3d54700 (LWP 1652)]
[New Thread 0x7ffff3220700 (LWP 1653)]
[New Thread 0x7ffff29f1700 (LWP 1654)]
[New Thread 0x7ffff2154700 (LWP 1655)]
[New Thread 0x7ffff1953700 (LWP 1656)]
[Thread 0x7ffff2154700 (LWP 1655) exited]

(emacs:1648): Gdk-CRITICAL **: 18:09:58.625: gdk_window_create_similar_surface: assertion 'GDK_IS_WINDOW (window)' failed

Thread 1 "emacs" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff730ec75 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0  0x00007ffff730ec75 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007ffff730ff7d in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff731014f in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff7816089 in gdk_window_create_similar_surface ()
     at /lib/x86_64-linux-gnu/libgdk-3.so.0
#4  0x00000000007435a2 in pgtk_begin_cr_clip (f=0x1175b80)
     at ../../src/pgtkterm.c:6922
#5  0x0000000000733484 in fill_background_by_face
     (f=0x1175b80, face=0x106e410, x=0, y=0, width=724, height=2)
     at ../../src/pgtkterm.c:1237
#6  0x000000000073e0b1 in pgtk_clear_under_internal_border (f=0x1175b80)
     at ../../src/pgtkterm.c:4857
#7  0x0000000000557048 in xg_frame_set_char_size
     (f=0x1175b80, width=724, height=652) at ../../src/gtkutil.c:1111
#8  0x00000000007318bd in pgtk_set_window_size
     (f=0x1175b80, change_gravity=false, width=724, height=652)
     at ../../src/pgtkterm.c:546
#9  0x000000000042c185 in adjust_frame_size
     (f=0x1175b80, new_text_width=720, new_text_height=648, inhibit=0, pretend=true, parameter=XIL(0xe4f0)) at ../../src/frame.c:777
#10 0x000000000072b890 in x_create_tip_frame
     (dpyinfo=0xf603e0, parms=XIL(0xd51073), p=0xd79cf0)
     at ../../src/pgtkfns.c:2985
#11 0x000000000072ceef in Fx_show_tip
     (string=XIL(0x153c634), frame=XIL(0xd79cf5), parms=XIL(0xd517c3), timeout=make_fixnum(10), dx=make_fixnum(5), dy=make_fixnum(20)) at ../../src/pgtkfns.c:3378
#12 0x0000000000655d1b in funcall_subr
     (subr=0xc26b60 <Sx_show_tip>, numargs=6, args=0x7fffffffb948)
     at ../../src/eval.c:3169
#13 0x00000000006556c2 in Ffuncall (nargs=7, args=0x7fffffffb940)
     at ../../src/eval.c:3078
#14 0x00000000006b064c in exec_byte_code
     (bytestr=XIL(0x7ffff42c3b1c), vector=XIL(0x7ffff42c3355), maxdepth=make_fixnum(12), args_template=make_fixnum(513), nargs=2, args=0x7fffffffbec8)
     at ../../src/bytecode.c:632
#15 0x0000000000655e8a in fetch_and_exec_byte_code
     (fun=XIL(0x7ffff42c3325), syms_left=make_fixnum(513), nargs=2, args=0x7fffffffbeb8) at ../../src/eval.c:3202
#16 0x0000000000656310 in funcall_lambda
     (fun=XIL(0x7ffff42c3325), nargs=2, arg_vector=0x7fffffffbeb8)
     at ../../src/eval.c:3283
#17 0x0000000000655716 in Ffuncall (nargs=3, args=0x7fffffffbeb0)
     at ../../src/eval.c:3082
#18 0x00000000006b064c in exec_byte_code
     (bytestr=XIL(0x7ffff42c3d4c), vector=XIL(0x7ffff42c32cd), maxdepth=make_fixnum(4), args_template=make_fixnum(257), nargs=1, args=0x7fffffffc508)
     at ../../src/bytecode.c:632
#19 0x0000000000655e8a in fetch_and_exec_byte_code
     (fun=XIL(0x7ffff42c329d), syms_left=make_fixnum(257), nargs=1, args=0x7fffffffc500) at ../../src/eval.c:3202
#20 0x0000000000656310 in funcall_lambda (fun=XIL(0x7ffff42c329d), nargs=1, arg_vector=0x7fffffffc500) at ../../src/eval.c:3283
#21 0x0000000000655716 in Ffuncall (nargs=2, args=0x7fffffffc4f8) at ../../src/eval.c:3082
#22 0x0000000000654e52 in run_hook_with_args (nargs=2, args=0x7fffffffc4f8, funcall=0x655533 <Ffuncall>) at ../../src/eval.c:2896
#23 0x00000000006549da in Frun_hook_with_args_until_success (nargs=2, args=0x7fffffffc4f8) at ../../src/eval.c:2782
#24 0x0000000000655afc in funcall_subr (subr=0xc20620 <Srun_hook_with_args_until_success>, numargs=2, args=0x7fffffffc4f8) at ../../src/eval.c:3133
#25 0x00000000006556c2 in Ffuncall (nargs=3, args=0x7fffffffc4f0) at ../../src/eval.c:3078
#26 0x00000000006b064c in exec_byte_code (bytestr=XIL(0x7ffff42c2af4), vector=XIL(0x7ffff42c289d), maxdepth=make_fixnum(4), args_template=make_fixnum(257), nargs=1, args=0x7fffffffcb68) at ../../src/bytecode.c:632
#27 0x0000000000655e8a in fetch_and_exec_byte_code (fun=XIL(0x7ffff42c286d), syms_left=make_fixnum(257), nargs=1, args=0x7fffffffcb60) at ../../src/eval.c:3202
#28 0x0000000000656310 in funcall_lambda (fun=XIL(0x7ffff42c286d), nargs=1, arg_vector=0x7fffffffcb60) at ../../src/eval.c:3283
#29 0x0000000000655716 in Ffuncall (nargs=2, args=0x7fffffffcb58) at ../../src/eval.c:3082
#30 0x0000000000654521 in Fapply (nargs=2, args=0x7fffffffcb58) at ../../src/eval.c:2665
#31 0x0000000000655afc in funcall_subr (subr=0xc20560 <Sapply>, numargs=2, args=0x7fffffffcb58) at ../../src/eval.c:3133
#32 0x00000000006556c2 in Ffuncall (nargs=3, args=0x7fffffffcb50) at ../../src/eval.c:3078
#33 0x00000000006b064c in exec_byte_code (bytestr=XIL(0x7ffff4797634), vector=XIL(0x7ffff47974e5), maxdepth=make_fixnum(10), args_template=make_fixnum(257), nargs=1, args=0x7fffffffd100) at ../../src/bytecode.c:632
#34 0x0000000000655e8a in fetch_and_exec_byte_code (fun=XIL(0x7ffff47974b5), syms_left=make_fixnum(257), nargs=1, args=0x7fffffffd0f8) at ../../src/eval.c:3202
#35 0x0000000000656310 in funcall_lambda (fun=XIL(0x7ffff47974b5), nargs=1, arg_vector=0x7fffffffd0f8) at ../../src/eval.c:3283
#36 0x0000000000655716 in Ffuncall (nargs=2, args=0x7fffffffd0f0) at ../../src/eval.c:3082
#37 0x0000000000654fdf in call1 (fn=XIL(0xe4c0), arg1=XIL(0x11731e5)) at ../../src/eval.c:2938
#38 0x000000000057d903 in timer_check_2 (timers=XIL(0xd516e3), idle_timers=XIL(0)) at ../../src/keyboard.c:4377
#39 0x000000000057da38 in timer_check () at ../../src/keyboard.c:4439
#40 0x000000000057bb28 in readable_events (flags=1) at ../../src/keyboard.c:3448
#41 0x00000000005849ff in get_input_pending (flags=1) at ../../src/keyboard.c:6973
#42 0x000000000058de90 in detect_input_pending_run_timers (do_display=true) at ../../src/keyboard.c:10503
#43 0x00000000006c2fd5 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at ../../src/process.c:5699
#44 0x00000000004273ad in sit_for (timeout=make_fixnum(30), reading=true, display_option=1) at ../../src/dispnew.c:6154
#45 0x00000000005793d6 in read_char (commandflag=1, map=XIL(0xd3a913), prev_event=XIL(0), used_mouse_menu=0x7fffffffdaef, end_time=0x0) at ../../src/keyboard.c:2801
#46 0x000000000058bf4d in read_key_sequence (keybuf=0x7fffffffdc80, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at ../../src/keyboard.c:9680
#47 0x0000000000574df0 in command_loop_1 () at ../../src/keyboard.c:1393
#48 0x0000000000651040 in internal_condition_case (bfun=0x574974 <command_loop_1>, handlers=XIL(0x90), hfun=0x573df6 <cmd_error>) at ../../src/eval.c:1492
#49 0x0000000000574559 in command_loop_2 (handlers=XIL(0x90)) at ../../src/keyboard.c:1134
#50 0x00000000006502c5 in internal_catch (tag=XIL(0xe7c0), func=0x574532 <command_loop_2>, arg=XIL(0x90)) at ../../src/eval.c:1223
#51 0x00000000005744fd in command_loop () at ../../src/keyboard.c:1112
#52 0x00000000005738c1 in recursive_edit_1 () at ../../src/keyboard.c:721
#53 0x0000000000573ad5 in Frecursive_edit () at ../../src/keyboard.c:804
#54 0x000000000056f9bd in main (argc=2, argv=0x7fffffffe158) at ../../src/emacs.c:2422
[Thread 0x7ffff1953700 (LWP 1656) exited]

Lisp Backtrace:
"x-show-tip" (0xffffb948)
"tooltip-show" (0xffffbeb8)
"tooltip-help-tips" (0xffffc500)
"run-hook-with-args-until-success" (0xffffc4f8)
"tooltip-timeout" (0xffffcb60)
"apply" (0xffffcb58)
"timer-event-handler" (0xffffd0f8)
(gdb)

martin