From 07ba0902770b44babccff4dc821985ce7af376d0 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Wed, 28 Jan 2026 19:37:03 -0800 Subject: [PATCH 1/3] Fix a longstanding bug where a Node.js child process could hang when accessing `process.stdin`, ultimately caused by Rush spawning with stdin='pipe' yet not properly closing the pipe. --- libraries/rush-lib/src/utilities/Utilities.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/rush-lib/src/utilities/Utilities.ts b/libraries/rush-lib/src/utilities/Utilities.ts index 6c502224ef..683439b16e 100644 --- a/libraries/rush-lib/src/utilities/Utilities.ts +++ b/libraries/rush-lib/src/utilities/Utilities.ts @@ -687,7 +687,7 @@ export class Utilities { } }); - const stdio: child_process.StdioOptions = handleOutput ? ['pipe', 'pipe', 'pipe'] : [0, 1, 2]; + const stdio: child_process.StdioOptions = handleOutput ? [0, 'pipe', 'pipe'] : [0, 1, 2]; if (ipc) { stdio.push('ipc'); } From c2c60d0576005a80ed4daf53c7ce2b7b0a99afa2 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Wed, 28 Jan 2026 19:43:53 -0800 Subject: [PATCH 2/3] rush change --- .../octogonz-rush-stdin-hang_2026-01-29-03-43.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/octogonz-rush-stdin-hang_2026-01-29-03-43.json diff --git a/common/changes/@microsoft/rush/octogonz-rush-stdin-hang_2026-01-29-03-43.json b/common/changes/@microsoft/rush/octogonz-rush-stdin-hang_2026-01-29-03-43.json new file mode 100644 index 0000000000..f597b7613d --- /dev/null +++ b/common/changes/@microsoft/rush/octogonz-rush-stdin-hang_2026-01-29-03-43.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Fix a longstanding issue where a package.json script could hang on Windows if it accessed STDIN under certain circumstances", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From 61a638a3d722f79719cff6a4e105c8d0bc032d57 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Thu, 29 Jan 2026 11:35:01 -0800 Subject: [PATCH 3/3] PR feedback --- libraries/rush-lib/src/utilities/Utilities.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/rush-lib/src/utilities/Utilities.ts b/libraries/rush-lib/src/utilities/Utilities.ts index 683439b16e..6fb93957f3 100644 --- a/libraries/rush-lib/src/utilities/Utilities.ts +++ b/libraries/rush-lib/src/utilities/Utilities.ts @@ -687,7 +687,7 @@ export class Utilities { } }); - const stdio: child_process.StdioOptions = handleOutput ? [0, 'pipe', 'pipe'] : [0, 1, 2]; + const stdio: child_process.StdioOptions = handleOutput ? ['ignore', 'pipe', 'pipe'] : [0, 1, 2]; if (ipc) { stdio.push('ipc'); }