Windows: attach fails with TransportError "timeout was reached" when frida-helper is slow (GDBus 25 s default timeout) · Issue #1272 · frida/frida-core · GitHub
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Windows: attach fails with TransportError "timeout was reached" when frida-helper is slow (GDBus 25 s default timeout) #1272
On Windows, device.attach() to a 32-bit program fails with TransportError: timeout was reached when frida-helper is slow to answer. The failure comes at exactly 25 s, which is GLib's default D-Bus call timeout. throw_dbus_error maps the GIO timeout to Frida.Error.TRANSPORT, so a slow helper reads as a broken transport instead of a timeout.
We hit this on a heavily loaded machine: an attach to a freshly spawned 32-bit program took 42.7 s and failed with this error. On a quiet machine the same attach passes 20 of 20 times. The repro below makes it deterministic by suspending the helper.
Environment
frida 17.24.3 (Python bindings), Python 3.12.4
Windows 11 x64
Target: a 32-bit program (SysWOW64), injected through frida-helper
Repro
The script starts the helper with one attach and detach, suspends only the helper processes that are its own children for 40 s, then spawns a 32-bit program and attaches to it.
attach failed at 25.0 s: TransportError: timeout was reached
Expected
The attach waits for the helper, bounded by the caller's cancellable, or, if a limit applies, fails with TimedOutError, so a caller can tell a slow helper from a broken transport and retry.
Activity