Masato Hoshino
6522dbf66b
fix(imessage): handle stdout/stderr stream errors in the RPC client child ( #101084 )
...
* fix(imessage): handle stdout/stderr stream errors in the RPC client child
A dead imsg RPC helper can emit an async error on any of its stdio streams.
On a raw stream an unhandled 'error' event throws and surfaces as an
uncaughtException, crashing the gateway. #75438 added this guard for stdin
but left stdout/stderr — on the same long-lived child — unguarded.
Route stdout/stderr stream errors through the existing failAll path via a
shared failFromStreamError helper, mirroring the stdin handler. Add a
regression test that emits 'error' on each stream and asserts the child does
not throw and in-flight requests reject cleanly.
* fix(imessage): terminate failed RPC transports
* test(imessage): exercise real stream failure
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-07 03:15:27 +01:00
..
2026-07-06 03:31:19 -07:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-09 19:09:15 -07:00
2026-06-09 19:09:15 -07:00
2026-07-01 10:48:32 +01:00
2026-06-04 21:40:44 -04:00
2026-07-01 10:48:32 +01:00
2026-07-01 21:30:29 -07:00
2026-07-01 21:30:29 -07:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-19 16:41:19 +08:00
2026-06-19 16:41:19 +08:00
2026-06-09 16:03:48 -07:00
2026-06-09 16:03:48 -07:00
2026-06-04 21:40:44 -04:00
2026-07-04 02:08:35 -07:00
2026-06-04 21:40:44 -04:00
2026-05-24 10:51:21 -07:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-07-01 10:48:32 +01:00
2026-06-04 21:40:44 -04:00
2026-06-06 11:49:50 -07:00
2026-06-18 14:46:19 +08:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-07-07 03:15:27 +01:00
2026-07-07 03:15:27 +01:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-09 19:09:15 -07:00
2026-06-04 21:40:44 -04:00
2026-06-09 19:09:15 -07:00
2026-06-07 14:07:31 -07:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-08 16:54:10 +09:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-07-01 10:48:32 +01:00
2026-07-01 10:48:32 +01:00
2026-06-04 21:40:44 -04:00
2026-06-22 13:55:36 +08:00
2026-06-04 21:40:44 -04:00
2026-07-05 14:58:38 -07:00
2026-07-04 20:28:52 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-07-04 17:17:42 -04:00
2026-07-06 02:19:11 +01:00
2026-07-03 08:19:02 -07:00
2026-06-04 21:40:44 -04:00
2026-06-07 14:07:31 -07:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-07-01 10:48:32 +01:00
2026-06-04 21:40:44 -04:00
2026-07-05 14:58:38 -07:00
2026-07-05 14:58:38 -07:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-06 11:49:50 -07:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-06-04 21:40:44 -04:00
2026-07-05 10:57:19 -07:00
2026-07-03 08:19:02 -07:00
2026-06-04 21:40:44 -04:00
2026-07-03 08:19:02 -07:00
2026-07-03 08:19:02 -07:00
2026-06-06 11:49:50 -07:00