A single standard, read-only AT-SPI
org.a11y.atspi.Action.GetActionscall on Steam's Chromium AT-SPI application root causessteamwebhelperto terminate. Steam automatically starts a replacement helper while the main Steam process remains running.
Is there a real-world impact to this, like perhaps the steamwebhelper crashing when you use a particular accessibility tool?
https://github.com/GNOME/at-spi2-core/commit/dc0dc3318171c824ba16cbb3e28780df2bda21cc
This is actually https://gitlab.gnome.org/Archive/at-spi2-atk/-/work_items/20, and in the steamrt3c runtime's codebase the bug is in at-spi2-atk, but a fixed version of at-spi2-atk was never released as an independent project; instead it was merged into at-spi2-core. It looks like the crash can probably be fixed by backporting that change into the steamrt3c runtime (tracked as steamrt/tasks#1105 internally).
The host Fedora library is newer, but
steamwebhelperloads the Steam Runtime copy
Yes, this is working as intended: the steamwebhelper intentionally loads application-layer libraries like this one from the steamrt3c container, not from the host system, to avoid relying on specific libraries being installed on the host.
Is there a real-world impact to this, like perhaps the
steamwebhelpercrashing when you use a particular accessibility tool?
The initial incident occurred when a desktop inspection client enumerated the system AT-SPI tree, which caused steamwebhelper to terminate and restart.
The direct GetActions call in the report was used afterward to isolate the cause. I have not reproduced this with conventional assistive technology or during normal Steam use, so the currently confirmed impact is limited to programmatic AT-SPI inspection.
The initial incident occurred when a desktop inspection client enumerated the system AT-SPI tree, which caused
steamwebhelperto terminate and restart.
OK, so you saw this crash as a result of using a developer tool; and other Steam users might potentially see this crash as a result of using an assistive technology that interacts with the same interfaces, but that's unconfirmed.
I was able to reproduce the crash, and a backported fix for it is queued up for inclusion in a future Steam Client beta. (I can't predict when that will happen.)
Nothing extracted yet.
Your system information
1784669098steamrt3c_platform_3c.0.20260618.246540libatk-bridge2.0-0:2.38.0-1at-spi2-core:2.60.5-1.fc44Please describe your issue in as much detail as possible
A single standard, read-only AT-SPI
org.a11y.atspi.Action.GetActionscall on Steam's Chromium AT-SPI application root causessteamwebhelperto terminate. Steam automatically starts a replacement helper while the main Steam process remains running.GetActionsis specified to returna(sss): an array of three-string structures containing the localized action name, localized description, and keybinding. Instead, the D-Bus connection is closed while the response is being marshalled. The caller observes that the remote D-Bus peer disconnected, followed by Steam starting a replacementsteamwebhelper.Expected behavior
GetActionsreturns a valida(sss)response.steamwebhelpercontinues running.Actual behavior
steamwebhelperterminates.The exact relevant Steam log excerpt is:
The Steam Runtime listed above bundles
libatk-bridge2.0-0version2.38.0-1. This matches a known upstream bug in the ATK-to-AT-SPI bridge: the affectedGetActionsimplementation opens a three-string(sss)structure but attempts to append four strings. The upstream fix removes the extra unlocalized action name:https://github.com/GNOME/at-spi2-core/commit/dc0dc3318171c824ba16cbb3e28780df2bda21cc
The host Fedora library is newer, but
steamwebhelperloads the Steam Runtime copy at:Steps for reproducing this issue
Start the stable Steam client and leave its desktop UI running.
Resolve the AT-SPI bus address:
List the registered AT-SPI application roots:
Identify the unique bus name for Steam's
ChromiumAT-SPI application root and assign it toSTEAM_AT_SPI_BUS_NAME.Run this single direct, read-only call:
Observe that the D-Bus peer disconnects and Steam automatically restarts
steamwebhelper, while the main Steam process remains running.