GVim UI freezes

No, I have not hit this BP having UI frozen:

(gdb) i b
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x000055555584bb44 in global_event_filter at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:2663

BTW I again cannot share link to GH, even in quote. What is going on here :triumph:

Same thing that happened the last time: you have a new account, and the trust level is too low. Once you reach a higher trust level, you’ll be allowed to post more links.

I have tried this:

^C
Thread 1 "gvim" received signal SIGINT, Interrupt.
0x00007ffff6d3b73d in __GI___poll (fds=0x5555563a4fb0, nfds=5, timeout=3915) at ../sysdeps/unix/sysv/linux/poll.c:29
29	  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
(gdb) i b
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x00007ffff7efc738 in gdk_frame_clock_idle_thaw at ../gdk/gdkframeclockidle.c:754
	breakpoint already hit 1918 times
	ignore next 83 hits
2       breakpoint     keep y   0x00007ffff7ef3e11 in gdk_frame_clock_idle_freeze at ../gdk/gdkframeclockidle.c:742
	breakpoint already hit 1919 times
	ignore next 82 hits
(gdb) p *((GdkFrameClockIdle*)$frameclock)->priv
$19 = {frame_time = 608907590117, smoothed_frame_time_base = 608907590117, smoothed_frame_time_period = 16667, smoothed_frame_time_reported = 608912690219, smoothed_frame_time_phase = 0, min_next_frame_time = 0, 
  smooth_phase_state = SMOOTH_PHASE_STATE_AWAIT_FIRST, sleep_serial = 39443, flush_idle_id = 0, paint_idle_id = 0, freeze_count = 1, updating_count = 1, 
  requested = (GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS | GDK_FRAME_CLOCK_PHASE_LAYOUT | GDK_FRAME_CLOCK_PHASE_PAINT), phase = GDK_FRAME_CLOCK_PHASE_NONE, in_paint_idle = 0, paint_is_thaw = 1}
(gdb) 

But I am still not sure how to catch the disballance.

I thought that the freeze_count should be higher then 1 at some point, therefore I also tried conditional breakpoints such as:

(gdb) i b
Num     Type           Disp Enb Address            What
1       breakpoint     keep n   0x00007ffff7efc738 in gdk_frame_clock_idle_thaw at ../gdk/gdkframeclockidle.c:754
	stop only if priv.freeze_count > 1
	breakpoint already hit 207 times
2       breakpoint     keep n   0x00007ffff7ef3e11 in gdk_frame_clock_idle_freeze at ../gdk/gdkframeclockidle.c:742
	stop only if priv.freeze_count >= 1
	breakpoint already hit 207 times

But no luck. Either I don’t know how the conditional breakpoints are supposed to work or the freeze_conut is not higher then 1

An error occurred: Body is limited to 32000 characters; you entered 51551.

Why? This is frustrating system which just prohibits collaboration. Can we get back to GL? But I am glad that I am suggested that I can add picture to my profile.

(So lets try to usefully split into several comments)

So far I have not proceed much further. But I thought it actually might be interesting to know what are actually some of the backtraces until the freeze / thaw locations are reached.

(gdb) r
Starting program: /usr/bin/gvim newpackage.spec -f --gdk-debug --gtk-debug --log vim.log

... snip ...

===

^C
Thread 1 "gvim" received signal SIGINT, Interrupt.
0x00007ffff6d3b73d in __GI___poll (fds=0x555556be9690, nfds=5, timeout=3433) at ../sysdeps/unix/sysv/linux/poll.c:29
29        return SYSCALL_CANCEL (poll, fds, nfds, timeout);                                                                                                                                                                                   
(gdb) set $gdk_win = (GdkWindow*)gtk_widget_get_window (gui.mainwin)
[Thread 0x7fffef4006c0 (LWP 997357) exited]
(gdb) set $frameclock = gdk_window_get_frame_clock ($gdk_win)
(gdb) p *((GdkFrameClockIdle*)$frameclock)->priv
$9 = {frame_time = 1127177237444, smoothed_frame_time_base = 1127177237444, smoothed_frame_time_period = 16667, smoothed_frame_time_reported = 1127177237444, smoothed_frame_time_phase = 0, min_next_frame_time = 0, 
  smooth_phase_state = SMOOTH_PHASE_STATE_VALID, sleep_serial = 658, flush_idle_id = 0, paint_idle_id = 0, freeze_count = 0, updating_count = 0, requested = GDK_FRAME_CLOCK_PHASE_NONE, phase = GDK_FRAME_CLOCK_PHASE_NONE, 
  in_paint_idle = 0, paint_is_thaw = 1}
(gdb) enable breakpoints 
(gdb) i b
Num     Type           Disp Enb Address            What
3       breakpoint     keep y   0x00007ffff7f5806c in gdk_x11_window_end_frame at ../gdk/x11/gdkwindow-x11.c:449
5       breakpoint     keep y   0x00007ffff7f4ad01 in gdk_x11_display_translate_event at ../gdk/x11/gdkdisplay-x11.c:890
6       breakpoint     keep y   0x00007ffff7f44421 in _gdk_wm_protocols_filter at ../gdk/x11/gdkdisplay-x11.c:1385
7       breakpoint     keep y   0x00007ffff7f05d49 in gdk_window_thaw_toplevel_updates at ../gdk/gdkwindow.c:4810
8       breakpoint     keep y   0x00007ffff7f04483 in gdk_window_freeze_toplevel_updates at ../gdk/gdkwindow.c:4781
(gdb) c
Continuing.
=== 1

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffff9b10, instance=0x55555618df70, return_value=0x0, closure=0x55555618e4c0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x55555618df70, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffff9b10) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x55555618df70, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffff9b10) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x55555618df70, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x55555618df70) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x55555618df70) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x555556bffe50) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x55555671d110, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x555556bffe50) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#15 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#16 0x0000555555741607 in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#17 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2305
#18 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2300
#19 nfa_regmatch (prog=prog@entry=0x555556b6aae0, start=start@entry=0x555556b6abf8, submatch=submatch@entry=0x7fffffffa380, m=m@entry=0x7fffffffa180) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7252
#20 0x0000555555743335 in nfa_regtry (prog=prog@entry=0x555556b6aae0, col=col@entry=4, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7328
#21 0x00005555557437a8 in nfa_regexec_both (line=<optimized out>, startcol=<optimized out>, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7531
#22 0x0000555555743dba in nfa_regexec_nl (rmp=<optimized out>, line=<optimized out>, col=<optimized out>, line_lbr=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7715
#23 0x0000555555744cf8 in vim_regexec_string (rmp=0x7fffffffa850, line=0x555556cc43b3 "ruby.vim", col=0, nl=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2908
#24 0x0000555555650a0d in vim_regexec (col=0, line=0x555556cc43b3 "ruby.vim", rmp=0x7fffffffa850) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2976
#25 unix_expandpath (gap=gap@entry=0x7fffffffa9e0, path=path@entry=0x55555674ce80 "/usr/share/vim/vim91/compiler/*.vim", wildoff=wildoff@entry=0, flags=<optimized out>, flags@entry=51, didstar=didstar@entry=0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/filepath.c:3825
#26 0x00005555556540fd in mch_expandpath (flags=51, path=0x55555674ce80 "/usr/share/vim/vim91/compiler/*.vim", gap=0x7fffffffa9e0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/os_unix.c:6752
#27 gen_expand_wildcards (num_pat=1, pat=0x7fffffffac00, num_file=0x7fffffffae44, file=0x7fffffffae48, flags=51) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/filepath.c:4080
#28 0x0000555555654d73 in gen_expand_wildcards (flags=51, file=0x7fffffffae48, num_file=0x7fffffffae44, pat=<optimized out>, num_pat=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/filepath.c:3983
#29 expand_wildcards (num_pat=<optimized out>, pat=<optimized out>, num_files=0x7fffffffae44, files=0x7fffffffae48, flags=51) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/filepath.c:3233
#30 0x00005555555ae5b2 in expand_wildcards_eval (pat=<synthetic pointer>, flags=51, file=0x7fffffffae48, num_file=0x7fffffffae44) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/filepath.c:3190
#31 expand_files_and_dirs (options=<optimized out>, flags=51, numMatches=0x7fffffffae44, matches=0x7fffffffae48, pat=0x55555674ce80 "/usr/share/vim/vim91/compiler/*.vim", xp=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/cmdexpand.c:2832
#32 ExpandFromContext (xp=<optimized out>, pat=<optimized out>, matches=0x7fffffffae48, numMatches=0x7fffffffae44, options=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/cmdexpand.c:3080
#33 0x00005555555adefb in globpath (path=<optimized out>, file=0x555556452a70 "compiler/*.vim", ga=0x7fffffffb010, expand_options=1056, dirs=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/cmdexpand.c:3762
#34 0x0000555555641374 in f_globpath (argvars=0x7fffffffb0d0, rettv=0x555556bf25a0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/filepath.c:1398
#35 0x0000555555807aae in call_internal_func_by_idx (rettv=<optimized out>, argvars=0x7fffffffb0d0, idx=199) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:3257
#36 call_bfunc (func_idx=199, argcount=<optimized out>, ectx=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:1332
#37 0x000055555580db72 in exec_instructions (ectx=ectx@entry=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:4379
#38 0x0000555555810b0e in call_def_function (ufunc=0x55555672a4b0, argc_arg=<optimized out>, argv=<optimized out>, flags=<optimized out>, partial=<optimized out>, object=0x0, funccal=0x55555675f960, rettv=0x7fffffffca90)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:6325
#39 0x00005555557ede23 in call_user_func (fp=fp@entry=0x55555672a4b0, argcount=argcount@entry=0, argvars=argvars@entry=0x7fffffffc870, rettv=rettv@entry=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=selfdict@entry=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2866
#40 0x00005555557ef0b5 in call_user_func_check (fp=0x55555672a4b0, argcount=0, argvars=0x7fffffffc870, rettv=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3299
#41 0x00005555557ef9f7 in call_func (funcname=funcname@entry=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=len@entry=-1, rettv=rettv@entry=0x7fffffffca90, argcount_in=<optimized out>, argvars_in=argvars_in@entry=0x7fffffffc870, 
    funcexe=funcexe@entry=0x7fffffffcb20) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3923
#42 0x00005555557f07d1 in get_func_tv (name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=-1, rettv=0x7fffffffca90, arg=0x7fffffffca88, evalarg=<optimized out>, funcexe=0x7fffffffcb20)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2013
#43 0x00005555557f2849 in ex_call_inner (evalarg=0x7fffffffcb80, funcexe_init=0x7fffffffcac0, startarg=0x5555568d314c "() | au! SetupLazyloadMenus", arg=0x7fffffffca88, name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", 
    eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6103
#44 ex_call (eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6451
#45 0x000055555562028c in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffffffd148, flags=flags@entry=7, cstack=cstack@entry=0x7fffffffd1d0, fgetline=fgetline@entry=0x555555581a30 <getnextac>, cookie=cookie@entry=0x7fffffffd8f0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:2582
#46 0x000055555561c222 in do_cmdline (cmdline=<optimized out>, fgetline=0x555555581a30 <getnextac>, cookie=0x7fffffffd8f0, flags=7) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:994
#47 0x0000555555586e0a in apply_autocmds_group (event=EVENT_CURSORHOLD, fname=0x55555689c580 "/home/vondruch/pkg/newpackage.spec", fname_io=<optimized out>, force=<optimized out>, group=<optimized out>, buf=0x5555559a7fb0, eap=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:2323
#48 0x00005555556cfd8f in apply_autocmds (buf=<optimized out>, force=0, fname_io=0x0, fname=0x0, event=EVENT_CURSORHOLD) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:1786
#49 nv_cursorhold (cap=0x7fffffffda50) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:7516
--Type <RET> for more, q to quit, c to continue without paging--c
#50 0x00005555556c51de in normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:949
#51 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#52 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#53 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 2

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffa200, event=event@entry=0x555556bf47b0, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffa200, event_source=0x555555ac9d20) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x555555acab20) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x555555acab20) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#11 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#12 0x0000555555741607 in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#13 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2305
#14 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2300
#15 nfa_regmatch (prog=prog@entry=0x555556a68ad0, start=start@entry=0x555556a68e40, submatch=submatch@entry=0x7fffffffaa50, m=m@entry=0x7fffffffa850) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7252
#16 0x0000555555743335 in nfa_regtry (prog=prog@entry=0x555556a68ad0, col=col@entry=0, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7328
#17 0x00005555557437a8 in nfa_regexec_both (line=<optimized out>, startcol=<optimized out>, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7531
#18 0x0000555555743dba in nfa_regexec_nl (rmp=<optimized out>, line=<optimized out>, col=<optimized out>, line_lbr=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7715
#19 0x0000555555744cf8 in vim_regexec_string (rmp=0x7fffffffae90, line=0x555556b35d80 "/usr/share/vim/vim91/compiler/cargo.vim", col=0, nl=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2908
#20 0x00005555555eec87 in vim_regexec_nl (col=<optimized out>, line=0x555556b35d80 "/usr/share/vim/vim91/compiler/cargo.vim", rmp=0x7fffffffae90) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2987
#21 do_string_sub (str=0x555556b35d80 "/usr/share/vim/vim91/compiler/cargo.vim", pat=<optimized out>, sub=0x555556b7a2d0 "\\1", expr=0x0, flags=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/eval.c:7675
#22 0x00005555555fe5f7 in f_substitute (argvars=0x7fffffffb0d0, rettv=0x555556bf25b0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:10835
#23 0x0000555555807aae in call_internal_func_by_idx (rettv=<optimized out>, argvars=0x7fffffffb0d0, idx=446) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:3257
#24 call_bfunc (func_idx=446, argcount=<optimized out>, ectx=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:1332
#25 0x000055555580db72 in exec_instructions (ectx=ectx@entry=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:4379
#26 0x0000555555810b0e in call_def_function (ufunc=0x55555672a4b0, argc_arg=<optimized out>, argv=<optimized out>, flags=<optimized out>, partial=<optimized out>, object=0x0, funccal=0x55555675f960, rettv=0x7fffffffca90)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:6325
#27 0x00005555557ede23 in call_user_func (fp=fp@entry=0x55555672a4b0, argcount=argcount@entry=0, argvars=argvars@entry=0x7fffffffc870, rettv=rettv@entry=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=selfdict@entry=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2866
#28 0x00005555557ef0b5 in call_user_func_check (fp=0x55555672a4b0, argcount=0, argvars=0x7fffffffc870, rettv=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3299
#29 0x00005555557ef9f7 in call_func (funcname=funcname@entry=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=len@entry=-1, rettv=rettv@entry=0x7fffffffca90, argcount_in=<optimized out>, argvars_in=argvars_in@entry=0x7fffffffc870, 
    funcexe=funcexe@entry=0x7fffffffcb20) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3923
#30 0x00005555557f07d1 in get_func_tv (name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=-1, rettv=0x7fffffffca90, arg=0x7fffffffca88, evalarg=<optimized out>, funcexe=0x7fffffffcb20)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2013
#31 0x00005555557f2849 in ex_call_inner (evalarg=0x7fffffffcb80, funcexe_init=0x7fffffffcac0, startarg=0x5555568d314c "() | au! SetupLazyloadMenus", arg=0x7fffffffca88, name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", 
    eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6103
#32 ex_call (eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6451
#33 0x000055555562028c in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffffffd148, flags=flags@entry=7, cstack=cstack@entry=0x7fffffffd1d0, fgetline=fgetline@entry=0x555555581a30 <getnextac>, cookie=cookie@entry=0x7fffffffd8f0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:2582
#34 0x000055555561c222 in do_cmdline (cmdline=<optimized out>, fgetline=0x555555581a30 <getnextac>, cookie=0x7fffffffd8f0, flags=7) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:994
#35 0x0000555555586e0a in apply_autocmds_group (event=EVENT_CURSORHOLD, fname=0x55555689c580 "/home/vondruch/pkg/newpackage.spec", fname_io=<optimized out>, force=<optimized out>, group=<optimized out>, buf=0x5555559a7fb0, eap=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:2323
#36 0x00005555556cfd8f in apply_autocmds (buf=<optimized out>, force=0, fname_io=0x0, fname=0x0, event=EVENT_CURSORHOLD) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:1786
#37 nv_cursorhold (cap=0x7fffffffda50) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:7516
#38 0x00005555556c51de in normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:949
#39 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#40 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#41 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441
=== 3

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffa1e0, instance=0x55555618df70, return_value=0x0, closure=0x55555618e4c0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x55555618df70, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffa1e0) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x55555618df70, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffa1e0) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x55555618df70, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x55555618df70) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x55555618df70) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x555556175de0) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x55555606b7f0, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x555556175de0) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#15 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#16 0x0000555555741607 in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#17 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2305
#18 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2300
#19 nfa_regmatch (prog=prog@entry=0x555556a68ad0, start=start@entry=0x555556a68e40, submatch=submatch@entry=0x7fffffffaa50, m=m@entry=0x7fffffffa850) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7252
#20 0x0000555555743335 in nfa_regtry (prog=prog@entry=0x555556a68ad0, col=col@entry=0, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7328
#21 0x00005555557437a8 in nfa_regexec_both (line=<optimized out>, startcol=<optimized out>, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7531
#22 0x0000555555743dba in nfa_regexec_nl (rmp=<optimized out>, line=<optimized out>, col=<optimized out>, line_lbr=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7715
#23 0x0000555555744cf8 in vim_regexec_string (rmp=0x7fffffffae90, line=0x555556b35d80 "/usr/share/vim/vim91/compiler/cargo.vim", col=0, nl=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2908
#24 0x00005555555eec87 in vim_regexec_nl (col=<optimized out>, line=0x555556b35d80 "/usr/share/vim/vim91/compiler/cargo.vim", rmp=0x7fffffffae90) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2987
#25 do_string_sub (str=0x555556b35d80 "/usr/share/vim/vim91/compiler/cargo.vim", pat=<optimized out>, sub=0x555556b7a2d0 "\\1", expr=0x0, flags=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/eval.c:7675
#26 0x00005555555fe5f7 in f_substitute (argvars=0x7fffffffb0d0, rettv=0x555556bf25b0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:10835
#27 0x0000555555807aae in call_internal_func_by_idx (rettv=<optimized out>, argvars=0x7fffffffb0d0, idx=446) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:3257
#28 call_bfunc (func_idx=446, argcount=<optimized out>, ectx=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:1332
#29 0x000055555580db72 in exec_instructions (ectx=ectx@entry=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:4379
#30 0x0000555555810b0e in call_def_function (ufunc=0x55555672a4b0, argc_arg=<optimized out>, argv=<optimized out>, flags=<optimized out>, partial=<optimized out>, object=0x0, funccal=0x55555675f960, rettv=0x7fffffffca90)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:6325
#31 0x00005555557ede23 in call_user_func (fp=fp@entry=0x55555672a4b0, argcount=argcount@entry=0, argvars=argvars@entry=0x7fffffffc870, rettv=rettv@entry=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=selfdict@entry=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2866
#32 0x00005555557ef0b5 in call_user_func_check (fp=0x55555672a4b0, argcount=0, argvars=0x7fffffffc870, rettv=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3299
#33 0x00005555557ef9f7 in call_func (funcname=funcname@entry=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=len@entry=-1, rettv=rettv@entry=0x7fffffffca90, argcount_in=<optimized out>, argvars_in=argvars_in@entry=0x7fffffffc870, 
    funcexe=funcexe@entry=0x7fffffffcb20) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3923
#34 0x00005555557f07d1 in get_func_tv (name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=-1, rettv=0x7fffffffca90, arg=0x7fffffffca88, evalarg=<optimized out>, funcexe=0x7fffffffcb20)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2013
#35 0x00005555557f2849 in ex_call_inner (evalarg=0x7fffffffcb80, funcexe_init=0x7fffffffcac0, startarg=0x5555568d314c "() | au! SetupLazyloadMenus", arg=0x7fffffffca88, name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", 
    eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6103
#36 ex_call (eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6451
#37 0x000055555562028c in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffffffd148, flags=flags@entry=7, cstack=cstack@entry=0x7fffffffd1d0, fgetline=fgetline@entry=0x555555581a30 <getnextac>, cookie=cookie@entry=0x7fffffffd8f0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:2582
#38 0x000055555561c222 in do_cmdline (cmdline=<optimized out>, fgetline=0x555555581a30 <getnextac>, cookie=0x7fffffffd8f0, flags=7) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:994
#39 0x0000555555586e0a in apply_autocmds_group (event=EVENT_CURSORHOLD, fname=0x55555689c580 "/home/vondruch/pkg/newpackage.spec", fname_io=<optimized out>, force=<optimized out>, group=<optimized out>, buf=0x5555559a7fb0, eap=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:2323
#40 0x00005555556cfd8f in apply_autocmds (buf=<optimized out>, force=0, fname_io=0x0, fname=0x0, event=EVENT_CURSORHOLD) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:1786
#41 nv_cursorhold (cap=0x7fffffffda50) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:7516
#42 0x00005555556c51de in normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:949
#43 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#44 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#45 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 4

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffa200, event=event@entry=0x555556bf47b0, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffa200, event_source=0x555555ac9d20) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x555555acab20) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x555555acab20) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#11 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#12 0x0000555555741607 in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#13 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2305
#14 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2300
#15 nfa_regmatch (prog=prog@entry=0x555556a68ad0, start=start@entry=0x555556a68e40, submatch=submatch@entry=0x7fffffffaa50, m=m@entry=0x7fffffffa850) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7252
#16 0x0000555555743335 in nfa_regtry (prog=prog@entry=0x555556a68ad0, col=col@entry=0, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7328
#17 0x00005555557437a8 in nfa_regexec_both (line=<optimized out>, startcol=<optimized out>, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7531
#18 0x0000555555743dba in nfa_regexec_nl (rmp=<optimized out>, line=<optimized out>, col=<optimized out>, line_lbr=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7715
#19 0x0000555555744cf8 in vim_regexec_string (rmp=0x7fffffffae90, line=0x555556cebd40 "/usr/share/vim/vim91/compiler/gjs.vim", col=0, nl=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2908
#20 0x00005555555eec87 in vim_regexec_nl (col=<optimized out>, line=0x555556cebd40 "/usr/share/vim/vim91/compiler/gjs.vim", rmp=0x7fffffffae90) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2987
#21 do_string_sub (str=0x555556cebd40 "/usr/share/vim/vim91/compiler/gjs.vim", pat=<optimized out>, sub=0x555556ceee30 "\\1", expr=0x0, flags=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/eval.c:7675
#22 0x00005555555fe5f7 in f_substitute (argvars=0x7fffffffb0d0, rettv=0x555556bf25b0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:10835
#23 0x0000555555807aae in call_internal_func_by_idx (rettv=<optimized out>, argvars=0x7fffffffb0d0, idx=446) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:3257
#24 call_bfunc (func_idx=446, argcount=<optimized out>, ectx=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:1332
#25 0x000055555580db72 in exec_instructions (ectx=ectx@entry=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:4379
#26 0x0000555555810b0e in call_def_function (ufunc=0x55555672a4b0, argc_arg=<optimized out>, argv=<optimized out>, flags=<optimized out>, partial=<optimized out>, object=0x0, funccal=0x55555675f960, rettv=0x7fffffffca90)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:6325
#27 0x00005555557ede23 in call_user_func (fp=fp@entry=0x55555672a4b0, argcount=argcount@entry=0, argvars=argvars@entry=0x7fffffffc870, rettv=rettv@entry=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=selfdict@entry=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2866
#28 0x00005555557ef0b5 in call_user_func_check (fp=0x55555672a4b0, argcount=0, argvars=0x7fffffffc870, rettv=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3299
#29 0x00005555557ef9f7 in call_func (funcname=funcname@entry=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=len@entry=-1, rettv=rettv@entry=0x7fffffffca90, argcount_in=<optimized out>, argvars_in=argvars_in@entry=0x7fffffffc870, 
    funcexe=funcexe@entry=0x7fffffffcb20) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3923
#30 0x00005555557f07d1 in get_func_tv (name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=-1, rettv=0x7fffffffca90, arg=0x7fffffffca88, evalarg=<optimized out>, funcexe=0x7fffffffcb20)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2013
#31 0x00005555557f2849 in ex_call_inner (evalarg=0x7fffffffcb80, funcexe_init=0x7fffffffcac0, startarg=0x5555568d314c "() | au! SetupLazyloadMenus", arg=0x7fffffffca88, name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", 
    eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6103
#32 ex_call (eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6451
#33 0x000055555562028c in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffffffd148, flags=flags@entry=7, cstack=cstack@entry=0x7fffffffd1d0, fgetline=fgetline@entry=0x555555581a30 <getnextac>, cookie=cookie@entry=0x7fffffffd8f0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:2582
#34 0x000055555561c222 in do_cmdline (cmdline=<optimized out>, fgetline=0x555555581a30 <getnextac>, cookie=0x7fffffffd8f0, flags=7) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:994
#35 0x0000555555586e0a in apply_autocmds_group (event=EVENT_CURSORHOLD, fname=0x55555689c580 "/home/vondruch/pkg/newpackage.spec", fname_io=<optimized out>, force=<optimized out>, group=<optimized out>, buf=0x5555559a7fb0, eap=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:2323
#36 0x00005555556cfd8f in apply_autocmds (buf=<optimized out>, force=0, fname_io=0x0, fname=0x0, event=EVENT_CURSORHOLD) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:1786
#37 nv_cursorhold (cap=0x7fffffffda50) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:7516
#38 0x00005555556c51de in normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:949
#39 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#40 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#41 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441
=== 5

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x55555618dce0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffa1e0, instance=0x55555618df70, return_value=0x0, closure=0x55555618e4c0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x55555618df70, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffa1e0) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x55555618df70, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffa1e0) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x55555618df70, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x55555618df70) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x55555618df70) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x5555563bbb00) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x555556d3cc60, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x5555563bbb00) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#15 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#16 0x0000555555741607 in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#17 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2305
#18 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2300
#19 nfa_regmatch (prog=prog@entry=0x555556d3eec0, start=start@entry=0x555556d3f4b0, submatch=submatch@entry=0x7fffffffaa50, m=m@entry=0x7fffffffa850) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7252
#20 0x0000555555743335 in nfa_regtry (prog=prog@entry=0x555556d3eec0, col=col@entry=0, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7328
#21 0x00005555557437a8 in nfa_regexec_both (line=<optimized out>, startcol=<optimized out>, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7531
#22 0x0000555555743dba in nfa_regexec_nl (rmp=<optimized out>, line=<optimized out>, col=<optimized out>, line_lbr=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7715
#23 0x0000555555744cf8 in vim_regexec_string (rmp=0x7fffffffae90, line=0x555556d3bdb0 "/usr/share/vim/vim91/keymap/arabic.vim", col=0, nl=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2908
#24 0x00005555555eec87 in vim_regexec_nl (col=<optimized out>, line=0x555556d3bdb0 "/usr/share/vim/vim91/keymap/arabic.vim", rmp=0x7fffffffae90) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2987
#25 do_string_sub (str=0x555556d3bdb0 "/usr/share/vim/vim91/keymap/arabic.vim", pat=<optimized out>, sub=0x555556c57620 "\\1", expr=0x0, flags=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/eval.c:7675
#26 0x00005555555fe5f7 in f_substitute (argvars=0x7fffffffb0d0, rettv=0x555556bf25b0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:10835
#27 0x0000555555807aae in call_internal_func_by_idx (rettv=<optimized out>, argvars=0x7fffffffb0d0, idx=446) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:3257
#28 call_bfunc (func_idx=446, argcount=<optimized out>, ectx=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:1332
#29 0x000055555580db72 in exec_instructions (ectx=ectx@entry=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:4379
#30 0x0000555555810b0e in call_def_function (ufunc=0x55555672a4b0, argc_arg=<optimized out>, argv=<optimized out>, flags=<optimized out>, partial=<optimized out>, object=0x0, funccal=0x55555675f960, rettv=0x7fffffffca90)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:6325
#31 0x00005555557ede23 in call_user_func (fp=fp@entry=0x55555672a4b0, argcount=argcount@entry=0, argvars=argvars@entry=0x7fffffffc870, rettv=rettv@entry=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=selfdict@entry=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2866
#32 0x00005555557ef0b5 in call_user_func_check (fp=0x55555672a4b0, argcount=0, argvars=0x7fffffffc870, rettv=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3299
#33 0x00005555557ef9f7 in call_func (funcname=funcname@entry=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=len@entry=-1, rettv=rettv@entry=0x7fffffffca90, argcount_in=<optimized out>, argvars_in=argvars_in@entry=0x7fffffffc870, 
    funcexe=funcexe@entry=0x7fffffffcb20) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3923
#34 0x00005555557f07d1 in get_func_tv (name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=-1, rettv=0x7fffffffca90, arg=0x7fffffffca88, evalarg=<optimized out>, funcexe=0x7fffffffcb20)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2013
#35 0x00005555557f2849 in ex_call_inner (evalarg=0x7fffffffcb80, funcexe_init=0x7fffffffcac0, startarg=0x5555568d314c "() | au! SetupLazyloadMenus", arg=0x7fffffffca88, name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", 
    eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6103
#36 ex_call (eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6451
#37 0x000055555562028c in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffffffd148, flags=flags@entry=7, cstack=cstack@entry=0x7fffffffd1d0, fgetline=fgetline@entry=0x555555581a30 <getnextac>, cookie=cookie@entry=0x7fffffffd8f0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:2582
#38 0x000055555561c222 in do_cmdline (cmdline=<optimized out>, fgetline=0x555555581a30 <getnextac>, cookie=0x7fffffffd8f0, flags=7) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:994
#39 0x0000555555586e0a in apply_autocmds_group (event=EVENT_CURSORHOLD, fname=0x55555689c580 "/home/vondruch/pkg/newpackage.spec", fname_io=<optimized out>, force=<optimized out>, group=<optimized out>, buf=0x5555559a7fb0, eap=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:2323
#40 0x00005555556cfd8f in apply_autocmds (buf=<optimized out>, force=0, fname_io=0x0, fname=0x0, event=EVENT_CURSORHOLD) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:1786
#41 nv_cursorhold (cap=0x7fffffffda50) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:7516
#42 0x00005555556c51de in normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:949
#43 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#44 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#45 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 6

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffa200, event=event@entry=0x555556bf47b0, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffa200, event_source=0x555555ac9d20) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x555555acab20) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x555555acab20) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#11 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#12 0x0000555555741607 in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#13 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2305
#14 line_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/misc1.c:2300
#15 nfa_regmatch (prog=prog@entry=0x555556d53a90, start=start@entry=0x555556d54080, submatch=submatch@entry=0x7fffffffaa50, m=m@entry=0x7fffffffa850) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7252
#16 0x0000555555743335 in nfa_regtry (prog=prog@entry=0x555556d53a90, col=col@entry=0, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7328
#17 0x00005555557437a8 in nfa_regexec_both (line=<optimized out>, startcol=<optimized out>, timed_out=timed_out@entry=0x0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7531
#18 0x0000555555743dba in nfa_regexec_nl (rmp=<optimized out>, line=<optimized out>, col=<optimized out>, line_lbr=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp_nfa.c:7715
#19 0x0000555555744cf8 in vim_regexec_string (rmp=0x7fffffffae90, line=0x555556d529b0 "/usr/share/vim/vim91/keymap/oldturkic-orkhon_utf-8.vim", col=0, nl=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2908
#20 0x00005555555eec87 in vim_regexec_nl (col=<optimized out>, line=0x555556d529b0 "/usr/share/vim/vim91/keymap/oldturkic-orkhon_utf-8.vim", rmp=0x7fffffffae90) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/regexp.c:2987
#21 do_string_sub (str=0x555556d529b0 "/usr/share/vim/vim91/keymap/oldturkic-orkhon_utf-8.vim", pat=<optimized out>, sub=0x555556d52a30 "\\1", expr=0x0, flags=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/eval.c:7675
#22 0x00005555555fe5f7 in f_substitute (argvars=0x7fffffffb0d0, rettv=0x555556bf25b0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:10835
#23 0x0000555555807aae in call_internal_func_by_idx (rettv=<optimized out>, argvars=0x7fffffffb0d0, idx=446) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/evalfunc.c:3257
#24 call_bfunc (func_idx=446, argcount=<optimized out>, ectx=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:1332
#25 0x000055555580db72 in exec_instructions (ectx=ectx@entry=0x7fffffffbd40) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:4379
#26 0x0000555555810b0e in call_def_function (ufunc=0x55555672a4b0, argc_arg=<optimized out>, argv=<optimized out>, flags=<optimized out>, partial=<optimized out>, object=0x0, funccal=0x55555675f960, rettv=0x7fffffffca90)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/vim9execute.c:6325
#27 0x00005555557ede23 in call_user_func (fp=fp@entry=0x55555672a4b0, argcount=argcount@entry=0, argvars=argvars@entry=0x7fffffffc870, rettv=rettv@entry=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=selfdict@entry=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2866
#28 0x00005555557ef0b5 in call_user_func_check (fp=0x55555672a4b0, argcount=0, argvars=0x7fffffffc870, rettv=0x7fffffffca90, funcexe=0x7fffffffcb20, selfdict=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3299
#29 0x00005555557ef9f7 in call_func (funcname=funcname@entry=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=len@entry=-1, rettv=rettv@entry=0x7fffffffca90, argcount_in=<optimized out>, argvars_in=argvars_in@entry=0x7fffffffc870, 
    funcexe=funcexe@entry=0x7fffffffcb20) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:3923
#30 0x00005555557f07d1 in get_func_tv (name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", len=-1, rettv=0x7fffffffca90, arg=0x7fffffffca88, evalarg=<optimized out>, funcexe=0x7fffffffcb20)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:2013
#31 0x00005555557f2849 in ex_call_inner (evalarg=0x7fffffffcb80, funcexe_init=0x7fffffffcac0, startarg=0x5555568d314c "() | au! SetupLazyloadMenus", arg=0x7fffffffca88, name=0x555555facda0 "\200\375R8_SetupLazyloadMenus", 
    eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6103
#32 ex_call (eap=0x7fffffffce60) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/userfunc.c:6451
#33 0x000055555562028c in do_one_cmd (cmdlinep=cmdlinep@entry=0x7fffffffd148, flags=flags@entry=7, cstack=cstack@entry=0x7fffffffd1d0, fgetline=fgetline@entry=0x555555581a30 <getnextac>, cookie=cookie@entry=0x7fffffffd8f0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:2582
#34 0x000055555561c222 in do_cmdline (cmdline=<optimized out>, fgetline=0x555555581a30 <getnextac>, cookie=0x7fffffffd8f0, flags=7) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ex_docmd.c:994
#35 0x0000555555586e0a in apply_autocmds_group (event=EVENT_CURSORHOLD, fname=0x55555689c580 "/home/vondruch/pkg/newpackage.spec", fname_io=<optimized out>, force=<optimized out>, group=<optimized out>, buf=0x5555559a7fb0, eap=0x0)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:2323
#36 0x00005555556cfd8f in apply_autocmds (buf=<optimized out>, force=0, fname_io=0x0, fname=0x0, event=EVENT_CURSORHOLD) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/autocmd.c:1786
#37 nv_cursorhold (cap=0x7fffffffda50) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:7516
#38 0x00005555556c51de in normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:949
#39 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#40 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#41 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

Basically I have executed the GVim and once the UI was available, I switched to gdb, interrupted the run, made sure the UI is not frozen, enabled the breakpoints and continued with execution.

After switching back to GVim, the 6 breakpoints above were hit prior the process kept running again:

(gdb) c
Continuing.
^C
Thread 1 "gvim" received signal SIGINT, Interrupt.
0x00007ffff6d3b73d in __GI___poll (fds=0x555556be9690, nfds=5, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29	  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
(gdb) i b
Num     Type           Disp Enb Address            What
3       breakpoint     keep y   0x00007ffff7f5806c in gdk_x11_window_end_frame at ../gdk/x11/gdkwindow-x11.c:449
	breakpoint already hit 3 times
5       breakpoint     keep y   0x00007ffff7f4ad01 in gdk_x11_display_translate_event at ../gdk/x11/gdkdisplay-x11.c:890
6       breakpoint     keep y   0x00007ffff7f44421 in _gdk_wm_protocols_filter at ../gdk/x11/gdkdisplay-x11.c:1385
	breakpoint already hit 3 times
7       breakpoint     keep y   0x00007ffff7f05d49 in gdk_window_thaw_toplevel_updates at ../gdk/gdkwindow.c:4810
8       breakpoint     keep y   0x00007ffff7f04483 in gdk_window_freeze_toplevel_updates at ../gdk/gdkwindow.c:4781

If I switch back to GVim, these breakpoints will be hit once again 6 times

Interestingly, the next run have different (much shorter) backtraces:

=== 1

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffd4a0, instance=0x555555e258d0, return_value=0x0, closure=0x555556a34fe0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x555555e258d0, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd4a0) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555e258d0, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffd4a0) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555e258d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x555555e258d0) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x555555e258d0) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x555555dbdd60) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x555556a9b580, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x555555dbdd60) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#15 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#16 0x000055555566419f in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#17 vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3241
#18 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#19 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#20 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#21 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#22 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#23 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 2

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffd1d0, event=event@entry=0x555556bf7050, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffd1d0, event_source=0x5555559e88d0) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x5555559c7d30) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x5555559c7d30) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x000055555583e90f in gui_mch_wait_for_chars (wtime=4000) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#11 gui_wait_for_chars_3 (wtime=wtime@entry=4000, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#12 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=4000, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#13 0x00005555557d82fd in inchar_loop (buf=0x555555982e61 <typebuf_init.lto_priv+97> "", maxlen=55, wtime=-1, tb_change_cnt=37, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#14 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e61 <typebuf_init.lto_priv+97> "", maxlen=55, wtime=-1, tb_change_cnt=37) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#15 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=55, buf=0x555555982e61 <typebuf_init.lto_priv+97> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#16 ui_inchar (buf=0x555555982e61 <typebuf_init.lto_priv+97> "", maxlen=55, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#17 0x0000555555663778 in inchar (buf=0x555555982e61 <typebuf_init.lto_priv+97> "", maxlen=167, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#18 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#19 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#20 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#21 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#22 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#23 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#24 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 3

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffd1b0, instance=0x555555e258d0, return_value=0x0, closure=0x555556a34fe0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x555555e258d0, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555e258d0, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555e258d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x555555e258d0) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x555555e258d0) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x555556b5d2a0) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x555556bf9d50, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x555556b5d2a0) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x000055555583e978 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#15 gui_mch_wait_for_chars (wtime=4000) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6704
#16 gui_wait_for_chars_3 (wtime=wtime@entry=4000, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#17 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=4000, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#18 0x00005555557d82fd in inchar_loop (buf=0x555555982e61 <typebuf_init.lto_priv+97> "", maxlen=55, wtime=-1, tb_change_cnt=37, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#19 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e61 <typebuf_init.lto_priv+97> "", maxlen=55, wtime=-1, tb_change_cnt=37) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#20 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=55, buf=0x555555982e61 <typebuf_init.lto_priv+97> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#21 ui_inchar (buf=0x555555982e61 <typebuf_init.lto_priv+97> "", maxlen=55, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#22 0x0000555555663778 in inchar (buf=0x555555982e61 <typebuf_init.lto_priv+97> "", maxlen=167, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#23 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#24 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#25 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#26 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#27 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#28 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#29 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 4

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffd1d0, event=event@entry=0x555556bf7050, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffd1d0, event_source=0x5555559e88d0) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x5555559c7d30) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x5555559c7d30) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x000055555583e90f in gui_mch_wait_for_chars (wtime=4000) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#11 gui_wait_for_chars_3 (wtime=wtime@entry=4000, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#12 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=4000, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#13 0x00005555557d82fd in inchar_loop (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=41, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#14 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=41) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#15 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=54, buf=0x555555982e64 <typebuf_init.lto_priv+100> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#16 ui_inchar (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#17 0x0000555555663778 in inchar (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=164, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#18 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#19 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#20 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#21 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#22 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#23 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#24 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 5

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffd1b0, instance=0x555555e258d0, return_value=0x0, closure=0x555556a34fe0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x555555e258d0, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555e258d0, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555e258d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x555555e258d0) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x555555e258d0) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x55555645c7a0) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x555556bf9d50, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x55555645c7a0) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x000055555583e978 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#15 gui_mch_wait_for_chars (wtime=4000) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6704
#16 gui_wait_for_chars_3 (wtime=wtime@entry=4000, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#17 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=4000, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#18 0x00005555557d82fd in inchar_loop (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=41, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#19 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=41) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#20 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=54, buf=0x555555982e64 <typebuf_init.lto_priv+100> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#21 ui_inchar (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#22 0x0000555555663778 in inchar (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=164, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#23 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#24 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#25 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#26 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#27 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#28 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#29 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 6

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffd1d0, event=event@entry=0x555556bf7050, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffd1d0, event_source=0x5555559e88d0) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x5555559c7d30) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x5555559c7d30) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x000055555583e90f in gui_mch_wait_for_chars (wtime=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#11 gui_wait_for_chars_3 (wtime=wtime@entry=-1, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#12 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=-1, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#13 0x00005555557d82fd in inchar_loop (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=41, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#14 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=41) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#15 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=54, buf=0x555555982e64 <typebuf_init.lto_priv+100> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#16 ui_inchar (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=54, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#17 0x0000555555663778 in inchar (buf=0x555555982e64 <typebuf_init.lto_priv+100> "", maxlen=164, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#18 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#19 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#20 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#21 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#22 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#23 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#24 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

The top frames appears to be similar

(gdb) c
Continuing.
^C
Thread 1 "gvim" received signal SIGINT, Interrupt.
0x00007ffff6d3b73d in __GI___poll (fds=0x555556be9690, nfds=5, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29	  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
(gdb) i breakpoints 
Num     Type           Disp Enb Address            What
3       breakpoint     keep y   0x00007ffff7f5806c in gdk_x11_window_end_frame at ../gdk/x11/gdkwindow-x11.c:449
	breakpoint already hit 6 times
5       breakpoint     keep y   0x00007ffff7f4ad01 in gdk_x11_display_translate_event at ../gdk/x11/gdkdisplay-x11.c:890
6       breakpoint     keep y   0x00007ffff7f44421 in _gdk_wm_protocols_filter at ../gdk/x11/gdkdisplay-x11.c:1385
	breakpoint already hit 6 times
7       breakpoint     keep y   0x00007ffff7f05d49 in gdk_window_thaw_toplevel_updates at ../gdk/gdkwindow.c:4810
8       breakpoint     keep y   0x00007ffff7f04483 in gdk_window_freeze_toplevel_updates at ../gdk/gdkwindow.c:4781

And yet another switch with different backtraces:

=== 1

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffd4a0, instance=0x555555e258d0, return_value=0x0, closure=0x555556a34fe0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x555555e258d0, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd4a0) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555e258d0, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffd4a0) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555e258d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x555555e258d0) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x555555e258d0) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x555556176070) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x55555671e410, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x555556176070) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#15 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#16 0x000055555566419f in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#17 vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3241
#18 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#19 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#20 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#21 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#22 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#23 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 2

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffd4c0, event=event@entry=0x5555562acbf0, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffd4c0, event_source=0x5555559e88d0) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x5555559c7d30) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x5555559c7d30) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#11 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#12 0x000055555566419f in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#13 vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3241
#14 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#15 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#16 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#17 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#18 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#19 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 3

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffd4a0, instance=0x555555e258d0, return_value=0x0, closure=0x555556a34fe0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x555555e258d0, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd4a0) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555e258d0, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffd4a0) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555e258d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x555555e258d0) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x555555e258d0) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x555556d81870) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x55555671e410, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x555556d81870) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#15 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#16 0x000055555566419f in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#17 vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3241
#18 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#19 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#20 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#21 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#22 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#23 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 4

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffd4c0, event=event@entry=0x5555562acbf0, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffd4c0, event_source=0x5555559e88d0) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x5555559c7d30) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x5555559c7d30) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x00005555557d7f90 in gui_mch_update () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6595
#11 ui_breakcheck_force (force=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:706
#12 0x000055555566419f in ui_breakcheck () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:681
#13 vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3241
#14 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#15 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#16 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#17 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#18 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#19 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 5

Thread 1 "gvim" hit Breakpoint 3, gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
449	          _gdk_frame_clock_freeze (gdk_window_get_frame_clock (window));
(gdb) bt
#0  gdk_x11_window_end_frame (window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:449
#1  on_frame_clock_after_paint (clock=<optimized out>, window=0x555555a8a5e0) at ../gdk/x11/gdkwindow-x11.c:993
#2  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffd1b0, instance=0x555555e258d0, return_value=0x0, closure=0x555556a34fe0) at ../gobject/gclosure.c:897
#3  signal_emit_valist_unlocked (instance=instance@entry=0x555555e258d0, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3415
#4  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555e258d0, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3254
#5  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555e258d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#6  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x555555e258d0) at ../gdk/gdkframeclock.c:663
#7  gdk_frame_clock_paint_idle (data=0x555555e258d0) at ../gdk/gdkframeclockidle.c:605
#8  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x555556db3280) at ../gdk/gdk.c:769
#9  0x00007ffff72153c9 in g_timeout_dispatch (source=0x555556db13d0, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x555556db3280) at ../glib/gmain.c:4989
#10 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#11 g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#12 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#13 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#14 0x000055555583e90f in gui_mch_wait_for_chars (wtime=3999) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#15 gui_wait_for_chars_3 (wtime=wtime@entry=3999, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#16 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=3999, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#17 0x00005555557d82fd in inchar_loop (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=57, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#18 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=57) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#19 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=50, buf=0x555555982e70 <typebuf_init.lto_priv+112> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#20 ui_inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#21 0x0000555555663778 in inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=152, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#22 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#23 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#24 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#25 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#26 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#27 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#28 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

=== 6

Thread 1 "gvim" hit Breakpoint 6, _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
1385	              _gdk_frame_clock_thaw (clock);
(gdb) bt
#0  _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#1  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffd1d0, event=event@entry=0x5555562acbf0, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#2  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffd1d0, event_source=0x5555559e88d0) at ../gdk/x11/gdkeventsource.c:198
#3  _gdk_x11_display_queue_events (display=0x5555559c7d30) at ../gdk/x11/gdkeventsource.c:341
#4  0x00007ffff7eec73b in gdk_display_get_event (display=0x5555559c7d30) at ../gdk/gdkdisplay.c:442
#5  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#6  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e8990) at ../glib/gmain.c:3344
#7  g_main_context_dispatch_unlocked (context=0x5555559e8990) at ../glib/gmain.c:4152
#8  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e8990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#9  0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e8990, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#10 0x000055555583e90f in gui_mch_wait_for_chars (wtime=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#11 gui_wait_for_chars_3 (wtime=wtime@entry=-1, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#12 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=-1, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#13 0x00005555557d82fd in inchar_loop (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=57, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
    at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#14 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=57) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#15 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=50, buf=0x555555982e70 <typebuf_init.lto_priv+112> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#16 ui_inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#17 0x0000555555663778 in inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=152, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#18 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#19 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#20 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#21 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#22 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#23 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#24 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

It seems to me that the GTK part is always relatively similar, starting with the g_main_context_iteration call, but the GVim side is surprisingly random.

One more question. How much balanced the freeze / thaw events should be. IOW if there were 6 events after switch in a sequence such as freeze - thaw - freeze - thaw - freeze - thaw, is it reasonable to assume that the lower stack of the freeze / thaw event pairs are the same? Just looking at the latest backtraces, taking the last freeze / thaw pair, this is the interesting diff of the backtraces:

--- <bez nĂĄzvu>
+++ <bez nĂĄzvu>
@@ -1,5 +1,5 @@
-#14 0x000055555583e90f in gui_mch_wait_for_chars (wtime=3999) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
-#15 gui_wait_for_chars_3 (wtime=wtime@entry=3999, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
-#16 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=3999, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
-#17 0x00005555557d82fd in inchar_loop (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=57, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
+#10 0x000055555583e90f in gui_mch_wait_for_chars (wtime=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
+#11 gui_wait_for_chars_3 (wtime=wtime@entry=-1, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
+#12 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=-1, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
+#13 0x00005555557d82fd in inchar_loop (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=57, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>)
     at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384

Given there is different the wtime parameter, that means that in between the freeze and thaw calls, the callstack needs to backtrace at minimum to the inchar_loop. That is quite worrying to me, because it leaves a lot of room for issue. Why the freeze/thaw are not paired somewhere at g_main_dispatch level? Is it possible to enforce this somehow?

Of course I can’t catch the imbalance between freeze/thaw running GVim under GDB for several days :triumph:

But I observe different artifact(s):

How to catch these? These happens when the normalized window is maximalized, there is the window frame leftover in the window. Unfortunately, it is not precisely visible on the screenshots, which differs from what I can see on my screen.

Hi, I’m new on this forum, and I found this thread as I’ve been having similar problems with GVIM freezing.
Firstly, just wanted to ask if the problem has been recognized and fixed and if so in which version.
Secondary, just a few observations for my case (not sure if helpful):

  • the editing panel is frozen, not buttons or menu

  • it seems to happen when watching videos in a browser - not sure about the corelation though

  • the editing panel when frozen is not getting refreshed and gets some display artefacts (which BTW happen sometimes without freezing the GVIM as well)

  • strace -p
    restart_syscall(<… resuming interrupted read …>) = 1
    recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base=“#\203\1777\22\0\0\0\t\0\3\0007\256w\7\3\0\0\3F\2\0\0\7\0\200\0\0\0\0\0”…, iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 104
    recvmsg(7, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)

  • gdb (only for the thread, which seems to be frozen on syscall, as all others were listed with polling):
    Thread 2 (Thread 0x7f992fe006c0 (LWP 119814) “pool-spawner”):
    #0 syscall () at …/sysdeps/unix/sysv/linux/x86_64/syscall.S:38
    #1 0x00007f993edf2b2d in g_cond_wait (cond=0x55dc1c25dff8, mutex=0x55dc1c25dff0) at …/glib/gthread-posix.c:1552
    #2 0x00007f993ed6622b in g_async_queue_pop_intern_unlocked (queue=0x55dc1c25dff0, wait=1, end_time=-1) at …/glib/gasyncqueue.c:425
    #3 0x00007f993edcf393 in g_thread_pool_spawn_thread (data=) at …/glib/gthreadpool.c:311
    #4 0x00007f993edcb523 in g_thread_proxy (data=0x55dc1c1d1690) at …/glib/gthread.c:831
    #5 0x00007f993e803897 in start_thread (arg=) at pthread_create.c:444
    #6 0x00007f993e88aa5c in clone3 () at …/sysdeps/unix/sysv/linux/x86_64/clone3.S:78

System:

  • Fedora 39 (wayland)
  • vim-x11 (epoch: 2, version: 9.1.264, release: 1)

No, unfortunately I have not progressed further. Running GVim under gdb is rock stable, although I observe different artifacts and we are still missing reliable reproducer :frowning: I don’t think that watching videos in browser is the culprit.

After days running one GVim instance under GDB, I have finally hit the issue, but I am afraid it does not make me any smarter:

... snip ...

Thread 1 "gvim" hit Hardware watchpoint 1: ((GdkFrameClockIdle*)$frameclock)->priv->freeze_count

Old value = 0
New value = 1
gdk_frame_clock_idle_freeze (clock=0x555555e9a3e0) at ../gdk/gdkframeclockidle.c:743
743	  maybe_stop_idle (clock_idle);
#0  gdk_frame_clock_idle_freeze (clock=0x555555e9a3e0) at ../gdk/gdkframeclockidle.c:743
#1  0x00007ffff7f58079 in gdk_x11_window_end_frame (window=0x555555e27520) at ../gdk/x11/gdkwindow-x11.c:449
#2  on_frame_clock_after_paint (clock=<optimized out>, window=0x555555e27520) at ../gdk/x11/gdkwindow-x11.c:993
#3  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffd1b0, instance=0x555555e9a3e0, return_value=0x0, closure=0x555555e5cd80) at ../gobject/gclosure.c:897
#4  signal_emit_valist_unlocked (instance=instance@entry=0x555555e9a3e0, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3415
#5  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555e9a3e0, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3254
#6  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555e9a3e0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#7  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x555555e9a3e0) at ../gdk/gdkframeclock.c:663
#8  gdk_frame_clock_paint_idle (data=0x555555e9a3e0) at ../gdk/gdkframeclockidle.c:605
#9  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x555557322f70) at ../gdk/gdk.c:769
#10 0x00007ffff72153c9 in g_timeout_dispatch (source=0x5555563dde10, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x555557322f70) at ../glib/gmain.c:4989
#11 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e85e0) at ../glib/gmain.c:3344
#12 g_main_context_dispatch_unlocked (context=0x5555559e85e0) at ../glib/gmain.c:4152
#13 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e85e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#14 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e85e0, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#15 0x000055555583e90f in gui_mch_wait_for_chars (wtime=4000) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#16 gui_wait_for_chars_3 (wtime=wtime@entry=4000, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#17 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=4000, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#18 0x00005555557d82fd in inchar_loop (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=59704, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#19 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=59704) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#20 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=50, buf=0x555555982e70 <typebuf_init.lto_priv+112> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#21 ui_inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#22 0x0000555555663778 in inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=152, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#23 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#24 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#25 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#26 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#27 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#28 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#29 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

Thread 1 "gvim" hit Hardware watchpoint 1: ((GdkFrameClockIdle*)$frameclock)->priv->freeze_count

Old value = 1
New value = 0
gdk_frame_clock_idle_thaw (clock=0x555555e9a3e0) at ../gdk/gdkframeclockidle.c:755
755	  if (priv->freeze_count == 0)
#0  gdk_frame_clock_idle_thaw (clock=0x555555e9a3e0) at ../gdk/gdkframeclockidle.c:755
#1  0x00007ffff7f44426 in _gdk_wm_protocols_filter (xev=<optimized out>, event=<optimized out>, data=<optimized out>) at ../gdk/x11/gdkdisplay-x11.c:1385
#2  0x00007ffff7f41180 in gdk_event_apply_filters (xevent=xevent@entry=0x7fffffffd1d0, event=event@entry=0x5555575bf660, window=window@entry=0x0) at ../gdk/x11/gdkeventsource.c:79
#3  0x00007ffff7f48b9e in gdk_event_source_translate_event (xevent=0x7fffffffd1d0, event_source=0x5555559e8520) at ../gdk/x11/gdkeventsource.c:198
#4  _gdk_x11_display_queue_events (display=0x5555559c7d50) at ../gdk/x11/gdkeventsource.c:341
#5  0x00007ffff7eec73b in gdk_display_get_event (display=0x5555559c7d50) at ../gdk/gdkdisplay.c:442
#6  0x00007ffff7f4933e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#7  0x00007ffff720f26c in g_main_dispatch (context=0x5555559e85e0) at ../glib/gmain.c:3344
#8  g_main_context_dispatch_unlocked (context=0x5555559e85e0) at ../glib/gmain.c:4152
#9  0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e85e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#10 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e85e0, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#11 0x000055555583e90f in gui_mch_wait_for_chars (wtime=4000) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#12 gui_wait_for_chars_3 (wtime=wtime@entry=4000, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#13 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=4000, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#14 0x00005555557d82fd in inchar_loop (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=59704, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#15 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=59704) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#16 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=50, buf=0x555555982e70 <typebuf_init.lto_priv+112> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#17 ui_inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#18 0x0000555555663778 in inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=152, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#19 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#20 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#21 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#22 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#23 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#24 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#25 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441

Thread 1 "gvim" hit Hardware watchpoint 1: ((GdkFrameClockIdle*)$frameclock)->priv->freeze_count

Old value = 0
New value = 1
gdk_frame_clock_idle_freeze (clock=0x555555e9a3e0) at ../gdk/gdkframeclockidle.c:743
743	  maybe_stop_idle (clock_idle);
#0  gdk_frame_clock_idle_freeze (clock=0x555555e9a3e0) at ../gdk/gdkframeclockidle.c:743
#1  0x00007ffff7f58079 in gdk_x11_window_end_frame (window=0x555555e27520) at ../gdk/x11/gdkwindow-x11.c:449
#2  on_frame_clock_after_paint (clock=<optimized out>, window=0x555555e27520) at ../gdk/x11/gdkwindow-x11.c:993
#3  0x00007ffff7dee7a4 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7fffffffd1b0, instance=0x555555e9a3e0, return_value=0x0, closure=0x555555e5cd80) at ../gobject/gclosure.c:897
#4  signal_emit_valist_unlocked (instance=instance@entry=0x555555e9a3e0, signal_id=signal_id@entry=33, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3415
#5  0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555e9a3e0, signal_id=33, detail=0, var_args=var_args@entry=0x7fffffffd1b0) at ../gobject/gsignal.c:3254
#6  0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555e9a3e0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#7  0x00007ffff7efcb81 in _gdk_frame_clock_emit_after_paint (frame_clock=0x555555e9a3e0) at ../gdk/gdkframeclock.c:663
#8  gdk_frame_clock_paint_idle (data=0x555555e9a3e0) at ../gdk/gdkframeclockidle.c:605
#9  0x00007ffff7ee8cbd in gdk_threads_dispatch (data=data@entry=0x55555788b490) at ../gdk/gdk.c:769
#10 0x00007ffff72153c9 in g_timeout_dispatch (source=0x5555563dde10, callback=0x7ffff7ee8c90 <gdk_threads_dispatch>, user_data=0x55555788b490) at ../glib/gmain.c:4989
#11 0x00007ffff720f26c in g_main_dispatch (context=0x5555559e85e0) at ../glib/gmain.c:3344
#12 g_main_context_dispatch_unlocked (context=0x5555559e85e0) at ../glib/gmain.c:4152
#13 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559e85e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#14 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559e85e0, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#15 0x000055555583e90f in gui_mch_wait_for_chars (wtime=4000) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#16 gui_wait_for_chars_3 (wtime=wtime@entry=4000, interrupted=interrupted@entry=0x7fffffffd57c, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#17 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=4000, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd57c, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#18 0x00005555557d82fd in inchar_loop (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=59704, wait_func=0x55555583ea90 <gui_wait_for_chars_or_timer>, resize_func=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:384
#19 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=59704) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#20 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=50, buf=0x555555982e70 <typebuf_init.lto_priv+112> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#21 ui_inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=50, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#22 0x0000555555663778 in inchar (buf=0x555555982e70 <typebuf_init.lto_priv+112> "", maxlen=152, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#23 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#24 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#25 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#26 normal_cmd (oap=0x7fffffffdb20, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#27 0x000055555589157b in main_loop (cmdwin=cmdwin@entry=0, noexmode=noexmode@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:1562
#28 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#29 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441
[Detaching after fork from child process 3148632]
[Detaching after fork from child process 3294401]
[Detaching after fork from child process 3294440]
[Detaching after fork from child process 3294462]
^C
Thread 1 "gvim" received signal SIGINT, Interrupt.
0x00007ffff6d3b73d in __GI___poll (fds=0x5555561ae890, nfds=5, timeout=3995) at ../sysdeps/unix/sysv/linux/poll.c:29
29	  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
(gdb) p *((GdkFrameClockIdle*)$frameclock)->priv
$5 = {frame_time = 5879292644139, smoothed_frame_time_base = 5879292644139, smoothed_frame_time_period = 16681, smoothed_frame_time_reported = 5880310568802, smoothed_frame_time_phase = 0, min_next_frame_time = 0, smooth_phase_state = SMOOTH_PHASE_STATE_AWAIT_FIRST, sleep_serial = 1021185, flush_idle_id = 0, paint_idle_id = 0, freeze_count = 1, updating_count = 1, requested = (GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS | GDK_FRAME_CLOCK_PHASE_LAYOUT | GDK_FRAME_CLOCK_PHASE_PAINT), phase = GDK_FRAME_CLOCK_PHASE_NONE, in_paint_idle = 0, paint_is_thaw = 1}
(gdb) Quit
(gdb) 

It just confirms that while the freeze action was followed by thaw, this time the thaw does not happen.

And actually what is interesting is that I have executed the GVim with GTK_DEBUG=interactive. However, the Gtk inspector got frozen a few days ago. But I’d expect that the Gtk inspector runs its own message loop.