Looking around, the gdk_frame_clock_paint_idle seems to be enabled (and later disabled) like this:
#0 maybe_start_idle (clock_idle=0x555556176230, caused_by_thaw=0) at ../gdk/gdkframeclockidle.c:298
#1 0x00007ffff7f0488c in impl_window_add_update_area (region=0x555556345b40, impl_window=0x555555aafa90) at ../gdk/gdkwindow.c:4357
#2 gdk_window_invalidate_maybe_recurse_full (window=0x555555aafa90, region=0x555556345910, child_func=<optimized out>, user_data=0x0) at ../gdk/gdkwindow.c:4486
#3 0x00007ffff79476a6 in gtk_widget_queue_draw_area (widget=0x555555fa8130, x=2, y=933, width=<optimized out>, height=19) at ../gtk/gtkwidget.c:5684
#4 0x00005555558488dd in gui_gtk2_draw_string_ext (force_pango=<optimized out>, flags=<optimized out>, len=<optimized out>, s=0x55555632b910 " ", col=1, row=49) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6298
#5 gui_gtk2_draw_string (flags=<optimized out>, len=<optimized out>, s=<optimized out>, col=1, row=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6034
#6 gui_outstr_nowrap (s=<optimized out>, s@entry=0x55555632b910 " ", len=<optimized out>, len@entry=1, flags=flags@entry=16, fg=fg@entry=0, bg=bg@entry=0, back=back@entry=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2518
#7 0x000055555584a614 in gui_screenstr (fg=0, bg=0, back=<optimized out>, flags=<optimized out>, len=<optimized out>, off=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2234
#8 gui_redraw_block (row1=<optimized out>, col1=<optimized out>, row2=<optimized out>, col2=<optimized out>, flags=flags@entry=16) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2847
#9 0x000055555584a87d in gui_redraw_block (flags=16, col2=<optimized out>, row2=<optimized out>, col1=<optimized out>, row1=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2753
#10 gui_undraw_cursor () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2697
#11 0x000055555583d16d in gui_undraw_cursor () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:1176
#12 gui_update_cursor (force=<optimized out>, clear_selection=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:1179
#13 0x00005555557ad7b2 in out_flush_cursor (clear_selection=0, force=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/term.c:2780
#14 out_flush_cursor (force=1, clear_selection=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/term.c:2770
#15 0x0000555555841103 in gui_focus_change (in_focus=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:4720
#16 focus_in_event (widget=widget@entry=0x555555f833c0, event=<optimized out>, data=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:1065
#17 0x00007ffff768d5f4 in _gtk_marshal_BOOLEAN__BOXED (closure=0x555555fa8b40, return_value=0x7fffffffce60, param_values=0x7fffffffcef0, marshal_data=<optimized out>, invocation_hint=<optimized out>, n_param_values=<optimized out>)
at gtk/gtkmarshalers.c:84
#18 0x00007ffff7dce4da in g_closure_invoke (closure=0x555555fa8b40, return_value=0x7fffffffce60, n_param_values=2, param_values=0x7fffffffcef0, invocation_hint=0x7fffffffce40) at ../gobject/gclosure.c:834
#19 0x00007ffff7dfd903 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7fffffffcff0, detail=detail@entry=0, instance=instance@entry=0x555555f833c0, emission_return=emission_return@entry=0x7fffffffd070,
instance_and_params=instance_and_params@entry=0x7fffffffcef0) at ../gobject/gsignal.c:3879
#20 0x00007ffff7dedeb9 in signal_emit_valist_unlocked (instance=instance@entry=0x555555f833c0, signal_id=signal_id@entry=73, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd160) at ../gobject/gsignal.c:3524
#21 0x00007ffff7dee8b1 in g_signal_emit_valist (instance=0x555555f833c0, signal_id=73, detail=0, var_args=var_args@entry=0x7fffffffd160) at ../gobject/gsignal.c:3254
#22 0x00007ffff7dee973 in g_signal_emit (instance=instance@entry=0x555555f833c0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3574
#23 0x00007ffff795d314 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x555555f833c0, event=0x555555b714f0) at ../gtk/gtkwidget.c:7812
#24 0x00007ffff77f3f9c in gtk_main_do_event (event=<optimized out>) at ../gtk/gtkmain.c:1861
#25 gtk_main_do_event (event=<optimized out>) at ../gtk/gtkmain.c:1691
#26 0x00007ffff7eef457 in _gdk_event_emit (event=0x555555b714f0) at ../gdk/gdkevents.c:73
#27 _gdk_event_emit (event=0x555555b714f0) at ../gdk/gdkevents.c:67
#28 0x00007ffff7f4934e in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#29 0x00007ffff720f26c in g_main_dispatch (context=0x5555559ec760) at ../glib/gmain.c:3344
#30 g_main_context_dispatch_unlocked (context=0x5555559ec760) at ../glib/gmain.c:4152
#31 0x00007ffff72702a8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555559ec760, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#32 0x00007ffff72106e3 in g_main_context_iteration (context=0x5555559ec760, context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#33 0x000055555583e90f in gui_mch_wait_for_chars (wtime=-481852) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui_gtk_x11.c:6691
#34 gui_wait_for_chars_3 (wtime=wtime@entry=-481852, interrupted=interrupted@entry=0x7fffffffd5fc, ignore_input=ignore_input@entry=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:2957
#35 0x00005555557d78d8 in ui_wait_for_chars_or_timer (wtime=-481852, wait_func=0x55555583e830 <gui_wait_for_chars_3>, interrupted=0x7fffffffd5fc, ignore_input=0) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:488
#36 0x00005555557d82fd in inchar_loop (buf=0x555555982e45 <typebuf_init.lto_priv+69> "", maxlen=65, wtime=-1, tb_change_cnt=19, 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
#37 0x0000555555841e49 in gui_wait_for_chars_buf (buf=0x555555982e45 <typebuf_init.lto_priv+69> "", maxlen=65, wtime=-1, tb_change_cnt=19) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3023
#38 0x00005555557d8ab5 in gui_inchar (tb_change_cnt=<optimized out>, wtime=-1, maxlen=65, buf=0x555555982e45 <typebuf_init.lto_priv+69> "") at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/gui.c:3056
#39 ui_inchar (buf=0x555555982e45 <typebuf_init.lto_priv+69> "", maxlen=65, wtime=-1, tb_change_cnt=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/ui.c:226
#40 0x0000555555663778 in inchar (buf=0x555555982e45 <typebuf_init.lto_priv+69> "", maxlen=195, wait_time=-1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3808
#41 0x0000555555664949 in vgetorpeek (advance=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:3593
#42 0x000055555565ffc4 in vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:1784
#43 0x00005555556c485e in safe_vgetc () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/getchar.c:2035
#44 normal_cmd (oap=0x7fffffffdba0, toplevel=1) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/normal.c:761
#45 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
#46 0x000055555557e0c0 in vim_main2 () at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:895
#47 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vim-9.1.083-1.fc40.x86_64/src/main.c:441
So this is handler is instantiated when needed. This is probably not the right path.
But yes, it seems that GVim is driving the clock and calling g_main_context_iteration step by step. So far, I don’t think that is the issue.
vo.x:
It’s an anti-spam measure for newly created users. SEO farming is far too common.
Thx for unblocking. However, the notification I have receive was not very helpful to find a way around.