From fa8e57a589cedb834fad54bdefa4d83d541a0c33 Mon Sep 17 00:00:00 2001 From: Nico <47644445+nicotsx@users.noreply.github.com> Date: Sat, 21 Mar 2026 20:46:22 +0100 Subject: [PATCH] fix: close read line interfaces on spawn errors (#693) --- packages/core/src/utils/spawn.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/core/src/utils/spawn.ts b/packages/core/src/utils/spawn.ts index 759605fe..35b2e0e0 100644 --- a/packages/core/src/utils/spawn.ts +++ b/packages/core/src/utils/spawn.ts @@ -83,11 +83,12 @@ export function safeSpawn(params: SafeSpawnParams): Promise { child.stderr.setEncoding("utf8"); const rlErr = createInterface({ input: child.stderr }); + let rl: ReturnType | undefined; if (stdoutMode === "lines") { child.stdout.setEncoding("utf8"); - const rl = createInterface({ input: child.stdout }); + rl = createInterface({ input: child.stdout }); rl.on("line", (line) => { if (onStdout) onStdout(line); @@ -107,6 +108,9 @@ export function safeSpawn(params: SafeSpawnParams): Promise { }); child.on("error", (err) => { + rlErr.close(); + rl?.close(); + resolve({ exitCode: -1, summary: lastStdout,