aboutsummaryrefslogtreecommitdiffstats
path: root/server/patch_server.py
diff options
context:
space:
mode:
authoruser <user@clank>2026-07-11 10:59:48 +0200
committeruser <user@clank>2026-07-11 10:59:48 +0200
commit2c86330705569805c5d201113a569c9e03c0214a (patch)
tree4be70a40c201206f4e6286742af5c6ca2ebb1c78 /server/patch_server.py
parentdrive pc: render pseudocode in the TUI, not just the driver (diff)
downloadida-tui-2c86330705569805c5d201113a569c9e03c0214a.tar.gz
ida-tui-2c86330705569805c5d201113a569c9e03c0214a.tar.xz
ida-tui-2c86330705569805c5d201113a569c9e03c0214a.zip
fix: don't hang drive pc on undecompilable functions
toggle_view's settle predicate (lambda: app._active != before) never fired when tabbing toward pseudocode on a function Hex-Rays can't decompile: App._apply_decomp snaps the view back to disasm, so _active returns to its prior value -> full 20s settle timeout (x2 in _show_decomp, ~40s for drive pc). Recognize the decomp-failed fallback as settled. Also harden two amplifiers surfaced by the same case: - rpcclient: the CLI socket had no read timeout and would block forever on any server slowness; add a bounded settimeout (IDATUI_RPC_TIMEOUT, default 90s) with a clear error. - domain.decompile: pass a bounded 15s timeout and cache failures, so a failing decompile can't sit at the 30s client default or be re-run by transport retries.
Diffstat (limited to 'server/patch_server.py')
0 files changed, 0 insertions, 0 deletions