Ibus-ui-gtk3 crash due to GTK3 bug

hi
i have two problems probably related to NVIDIA proprietary
i have laptop with hybrid GPU (intel+NVIDIA)

inxi -Gx
Graphics:
  Device-1: Intel Alder Lake-S [UHD Graphics] vendor: Lenovo driver: i915
    v: kernel arch: Xe bus-ID: 00:02.0
  Device-2: NVIDIA GA107 [GeForce RTX 2050] vendor: Lenovo driver: nouveau
    v: kernel arch: Turing bus-ID: 01:00.0
  Device-3: Chicony Integrated Camera driver: uvcvideo type: USB
    bus-ID: 1-6:2
  Display: wayland server: X.org v: 1.21.1.21 with: Xwayland v: 24.1.9
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: vesa
    dri: iris gpu: i915,nouveau resolution: 1: 1366x768~60Hz
    2: 1920x1080~144Hz
  API: EGL v: 1.5 drivers: iris,kms_swrast,swrast platforms:
    active: gbm,wayland,x11,surfaceless,device inactive: device-0
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 26.0.1 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel UHD Graphics (ADL-S GT0.5)
  API: Vulkan v: 1.4.341 drivers: intel,llvmpipe surfaces: N/A devices: 2
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info
    x11: xdpyinfo, xprop, xrandr

problem 1

SDDM crashes badly and give blank screen on boot and run again after restarting it from tty but i have to do it every time i boot and it goes away when i switch to nouvu
that’s the journal for SDDM

and the xorg logs because SDDM uses x11
xorg.log0
xorg.0.old
xorg.log.1

after searching and talking with ai (that’s how i was frustrated) the probable cause is race condition i don’t know i am open to your advice

after entering SDDM it keep crashing multiple time and then stop crashing and that’s takes me to

problem 2

ibus-GTX3 crashes multiple time and revert back to SDDM maybe do it for 3 times and then start to be stable
i am not sure if they are related or not i will add the logs hopefully someone could help
the journal

i have the coredumps if someone need it

thank you in advance for any advice or help
and if it’s bug how we could approach it if experienced user could advice me on that too

i want to add that i removed X11 configuration
i made sure that nvdia is loaded and intel is loaded , nvidia-smi was working perfectly
after some search it appers it not new but i am sure what the cause yet

after trying to anlyze the core dump

Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/libexec/ibus/ibus-ui-gtk3 --enable-wayland-im --exec-daemon --daemon-args'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000000000 in ?? ()
#0  0x0000000000000000 in ??? ()
#1  0x00007fe95ae83678 in g_hash_table_lookup_node (hash_table=0x55fb05a8c520<error reading variable: Cannot access memory at address 0x100000000>, key=0x9d, hash_return=<synthetic pointer>)
    at ../glib/ghash.c:430
#2  g_hash_table_lookup (hash_table=0x55fb05a8c520<error reading variable: Cannot access memory at address 0x100000000>, key=key@entry=0x9d) at ../glib/ghash.c:1497
#3  0x00007fe95bc84f80 in lookup_cached_xatom (display=0x55fb05a6f410 [GdkWaylandDisplay], atom=0x9d) at ../gdk/x11/gdkproperty-x11.c:76
#4  lookup_cached_xatom (display=0x55fb05a6f410 [GdkWaylandDisplay], atom=0x9d) at ../gdk/x11/gdkproperty-x11.c:67
#5  gdk_x11_atom_to_xatom_for_display (display=0x55fb05a6f410 [GdkWaylandDisplay], atom=0x9d) at ../gdk/x11/gdkproperty-x11.c:109
#6  0x00007fe95bc7458f in handle_property_change (device_manager=<optimized out>, ev=0x55fb05d7fde0) at ../gdk/x11/gdkdevicemanager-xi2.c:1109
#7  gdk_x11_device_manager_xi2_translate_event (translator=<optimized out>, display=0x55fb05b539c0 [GdkX11Display], event=0x55fb05eead50, xevent=0x7ffcee387910) at ../gdk/x11/gdkdevicemanager-xi2.c:1559
#8  gdk_x11_device_manager_xi2_translate_event (translator=<optimized out>, display=0x55fb05b539c0 [GdkX11Display], event=0x55fb05eead50, xevent=0x7ffcee387910) at ../gdk/x11/gdkdevicemanager-xi2.c:1499
#9  0x00007fe95bc7b7f1 in _gdk_x11_event_translator_translate (translator=0x55fb05c9fca0, display=0x55fb05b539c0 [GdkX11Display], xevent=xevent@entry=0x7ffcee387910) at ../gdk/x11/gdkeventtranslator.c:51
#10 0x00007fe95bc7e42a in gdk_event_source_translate_event (event_source=0x55fb05ca0e10, xevent=0x7ffcee387910) at ../gdk/x11/gdkeventsource.c:243
#11 _gdk_x11_display_queue_events (display=0x55fb05b539c0 [GdkX11Display]) at ../gdk/x11/gdkeventsource.c:341
#12 0x00007fe95bc22cc1 in gdk_display_get_event (display=0x55fb05b539c0 [GdkX11Display]) at ../gdk/gdkdisplay.c:442
#13 0x00007fe95bc7ea02 in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#14 0x00007fe95ae95b76 in g_main_dispatch (context=0x55fb05a7b700) at ../glib/gmain.c:3565
#15 g_main_context_dispatch_unlocked (context=context@entry=0x55fb05a7b700) at ../glib/gmain.c:4425
#16 0x00007fe95ae98a68 in g_main_context_iterate_unlocked (context=0x55fb05a7b700, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
#17 0x00007fe95ae994c7 in g_main_loop_run (loop=loop@entry=0x55fb05aa02f0) at ../glib/gmain.c:4695
#18 0x00007fe95b7881dd in gtk_main () at ../gtk/gtkmain.c:1332
#19 0x000055fafbc68c38 in application_run (self=0x55fb05ac6da0 [Application]) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:421
#20 application_main (argv=<optimized out>, argv_length1=<optimized out>) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:1392
#21 0x000055fafbc63790 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:1402

i will try to look into it in more depth later

that’s the coredump if any Developer want to look at it

it keeps happening even after removing nvidia but maybe less frequently
this the new backtrace

Core was generated by `/usr/libexec/ibus/ibus-ui-gtk3 --enable-wayland-im --exec-daemon --daemon-args'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000000000 in ?? ()
[Current thread is 1 (Thread 0x7f7f47952c80 (LWP 9691))]
Missing separate debuginfos, use: zypper install libfribidi0-debuginfo-1.0.15-1.4.x86_64 libglycin-2-0-debuginfo-2.0.8-1.1.x86_64 gsettings-backend-dconf-debuginfo-0.40.0-4.2.x86_64
(gdb) bt
#0  0x0000000000000000 in ??? ()
#1  0x00007f7f48b46678 in g_hash_table_lookup_node (hash_table=0x5624d30f7b10<error reading variable: Cannot access memory at address 0x100000000>, key=0x93, hash_return=<synthetic pointer>)
    at ../glib/ghash.c:430
#2  g_hash_table_lookup (hash_table=0x5624d30f7b10<error reading variable: Cannot access memory at address 0x100000000>, key=key@entry=0x93) at ../glib/ghash.c:1497
#3  0x00007f7f4919bf80 in lookup_cached_xatom (display=0x5624d30da410 [GdkWaylandDisplay], atom=0x93) at ../gdk/x11/gdkproperty-x11.c:76
#4  lookup_cached_xatom (display=0x5624d30da410 [GdkWaylandDisplay], atom=0x93) at ../gdk/x11/gdkproperty-x11.c:67
#5  gdk_x11_atom_to_xatom_for_display (display=0x5624d30da410 [GdkWaylandDisplay], atom=0x93) at ../gdk/x11/gdkproperty-x11.c:109
#6  0x00007f7f4918b58f in handle_property_change (device_manager=<optimized out>, ev=0x5624d3408810) at ../gdk/x11/gdkdevicemanager-xi2.c:1109
#7  gdk_x11_device_manager_xi2_translate_event (translator=<optimized out>, display=0x5624d311e740 [GdkX11Display], event=0x5624d395af80, xevent=0x7ffde2072500) at ../gdk/x11/gdkdevicemanager-xi2.c:1559
#8  gdk_x11_device_manager_xi2_translate_event (translator=<optimized out>, display=0x5624d311e740 [GdkX11Display], event=0x5624d395af80, xevent=0x7ffde2072500) at ../gdk/x11/gdkdevicemanager-xi2.c:1499
#9  0x00007f7f491927f1 in _gdk_x11_event_translator_translate (translator=0x5624d334ab00, display=0x5624d311e740 [GdkX11Display], xevent=xevent@entry=0x7ffde2072500) at ../gdk/x11/gdkeventtranslator.c:51
#10 0x00007f7f4919542a in gdk_event_source_translate_event (event_source=0x5624d32ac3c0, xevent=0x7ffde2072500) at ../gdk/x11/gdkeventsource.c:243
#11 _gdk_x11_display_queue_events (display=0x5624d311e740 [GdkX11Display]) at ../gdk/x11/gdkeventsource.c:341
#12 0x00007f7f49139cc1 in gdk_display_get_event (display=0x5624d311e740 [GdkX11Display]) at ../gdk/gdkdisplay.c:442
#13 0x00007f7f49195a02 in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#14 0x00007f7f48b58b76 in g_main_dispatch (context=0x5624d30e6700) at ../glib/gmain.c:3565
#15 g_main_context_dispatch_unlocked (context=context@entry=0x5624d30e6700) at ../glib/gmain.c:4425
#16 0x00007f7f48b5ba68 in g_main_context_iterate_unlocked (context=0x5624d30e6700, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
#17 0x00007f7f48b5c4c7 in g_main_loop_run (loop=loop@entry=0x5624d312f320) at ../glib/gmain.c:4695
#18 0x00007f7f495881dd in gtk_main () at ../gtk/gtkmain.c:1332
#19 0x00005624cf898c38 in application_run (self=0x5624d3211f20 [Application]) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:421
#20 application_main (argv=<optimized out>, argv_length1=<optimized out>) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:1392
#21 0x00005624cf893790 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:1402

it’s the similar to what happen while nvidia was installed
at this point i think i should probably report it to ibus devolpers i just left here for reference

a lot of updates i talked with ibus devolpers and what found is this a big in GTK3 because SDDM switch from X11 to wayland GTK3 dosn’t know how to handle it see the bug

the bad news because GTK3 is maintenance only so it won’t be fixed

the final question is could it be fixed through downstream patch ? should i open a bug about it on openSUSE bugzilla

i want to add that NVIDIA make it worse here people taking about similar crashes in KDE bugzilla

i am really wondering why people don’t talk about it this shouldn’t be rare bug after all people use GTK and KDE and NVIDIA this shouldn’t be a rare configuration

anyway i will update this topic so people don’t have to dive into this rabbit hole

the workaround i got is to lunch SDDM in wayland
by writing a conf file in /etc/sddm.conf.d

[General]
DisplayServer=wayland
# Use KWin (recommended for KDE) or weston
CompositorCommand=kwin_wayland --no-lockscree

this didn’t solve the SDDM black screen at the start but it solved the GTK3 problem because now there is no confusion it’s all wayland we will see

it crashed again randomly but didn’t return me to SDDM and it happend more rarly
here the BT

#0  0x0000000000000000 in ??? ()
#1  0x00007f9806446678 in g_hash_table_lookup_node
    (hash_table=0x55642be49d50<error reading variable: Cannot access memory at address 0x100000000>, key=0x9c, hash_return=<synthetic pointer>)
    at ../glib/ghash.c:430
#2  g_hash_table_lookup (hash_table=0x55642be49d50<error reading variable: Cannot access memory at address 0x100000000>, key=key@entry=0x9c)
    at ../glib/ghash.c:1497
#3  0x00007f9807210f80 in lookup_cached_xatom (display=0x55642be2c410 [GdkWaylandDisplay], atom=0x9c) at ../gdk/x11/gdkproperty-x11.c:76
#4  lookup_cached_xatom (display=0x55642be2c410 [GdkWaylandDisplay], atom=0x9c) at ../gdk/x11/gdkproperty-x11.c:67
#5  gdk_x11_atom_to_xatom_for_display (display=0x55642be2c410 [GdkWaylandDisplay], atom=0x9c) at ../gdk/x11/gdkproperty-x11.c:109
#6  0x00007f980720058f in handle_property_change (device_manager=<optimized out>, ev=0x55642c0fafc0) at ../gdk/x11/gdkdevicemanager-xi2.c:1109
#7  gdk_x11_device_manager_xi2_translate_event
    (translator=<optimized out>, display=0x55642bff27a0 [GdkX11Display], event=0x55642c7039e0, xevent=0x7ffdba588e40)
    at ../gdk/x11/gdkdevicemanager-xi2.c:1559
#8  gdk_x11_device_manager_xi2_translate_event
    (translator=<optimized out>, display=0x55642bff27a0 [GdkX11Display], event=0x55642c7039e0, xevent=0x7ffdba588e40)
    at ../gdk/x11/gdkdevicemanager-xi2.c:1499
#9  0x00007f98072077f1 in _gdk_x11_event_translator_translate
    (translator=0x55642c09dc50, display=0x55642bff27a0 [GdkX11Display], xevent=xevent@entry=0x7ffdba588e40) at ../gdk/x11/gdkeventtranslator.c:51
#10 0x00007f980720a42a in gdk_event_source_translate_event (event_source=0x55642bffd1d0, xevent=0x7ffdba588e40) at ../gdk/x11/gdkeventsource.c:243
#11 _gdk_x11_display_queue_events (display=0x55642bff27a0 [GdkX11Display]) at ../gdk/x11/gdkeventsource.c:341
#12 0x00007f98071aecc1 in gdk_display_get_event (display=0x55642bff27a0 [GdkX11Display]) at ../gdk/gdkdisplay.c:442
#13 0x00007f980720aa02 in gdk_event_source_dispatch.lto_priv () at ../gdk/x11/gdkeventsource.c:354
#14 0x00007f9806458b76 in g_main_dispatch (context=0x55642be38700) at ../glib/gmain.c:3565
#15 g_main_context_dispatch_unlocked (context=context@entry=0x55642be38700) at ../glib/gmain.c:4425
#16 0x00007f980645ba68 in g_main_context_iterate_unlocked
    (context=0x55642be38700, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
#17 0x00007f980645c4c7 in g_main_loop_run (loop=loop@entry=0x55642be88ab0) at ../glib/gmain.c:4695
#18 0x00007f9806d881dd in gtk_main () at ../gtk/gtkmain.c:1332
#19 0x00005564274f3c38 in application_run (self=0x55642be5f4d0 [Application]) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:421
#20 application_main (argv=<optimized out>, argv_length1=<optimized out>) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:1392
#21 0x00005564274ee790 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ibus-1.5.33/ui/gtk3/application.c:1402

i will open a openSUSE bug with all this information soon

i installed Fedora KDE and the problem disappeared
i installed nvidia and every thing is as close as it was on openSUSE SLowroll (or at least didn’t happen yet ) they certainly did something to solve this issue