protonscr

Steam crashes after GTK theme switch due to invalid XIM passed to XCreateIC (Wayland + fcitx5)

steamopen Window managerDistro Family: Arch
ValveSoftware/steam-for-linux#13362 · opened 2026-06-30 by maxlen727 · updated 2026-06-30 · 0 comments · github
Mmaxlen727 2026-06-30 github

Your system information

  • Steam client version (build number or date): 1.0.0.86-1
  • Distribution (e.g. Ubuntu): Arch Linux
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • Steam Logs: steam-logs.tar.gz
  • GPU: Nvidia

Please describe your issue in as much detail as possible:

Steam crashes every time the GTK/Qt theme is switched using Dank Material Shell.

The Steam window briefly disappears, reappears with a loading spinner, then crashes with SIGSEGV.

This issue is fully reproducible.

Steps for reproducing this issue:

  1. Start Steam
  2. Start Dank Material Shell
  3. Switch between light/dark theme
  4. Steam immediately crashes

Workaround

Launching Steam with

XMODIFIERS=@im=none steam

completely avoids the crash.

This disables XIM input, so Chinese input no longer works.

GDB Analysis

#1 XCreateIC()
#2 libSDL3.so
#3 steamui.so

The crash occurs inside:

XCreateIC()
{
    ic = (*im->methods->create_ic)(im, args);
}

The XIM object passed to XCreateIC is invalid.

GDB inspection:

(gdb) p im->methods

= 0xdc70ec6e

(gdb) p *im->methods

create_ic = 0x0

(gdb) p im->methods->create_ic

= 0x0

Inspecting the XIM structure shows that it no longer contains a valid XIM object.
Instead, many fields contain ASCII-like garbage, indicating the memory has already been reused.

Example:

display = 0x70747468
rdb = 0x2f2f3a73

This strongly suggests that Steam/SDL is passing a stale (freed) XIM object into XCreateIC after the theme switch.

Expected behavior

Steam should recreate or refresh the XIM after the theme changes, instead of using a stale pointer.

Nothing extracted yet.