Windows 10 gitlab-runner fails with error "No process is on the other end of the pipe"

After updating Windows 10 today, gitlab-runner.exe now fails with error “No process is on the other end of the pipe”. Has been working for years before today. I was running gitlab-runner v13.5.0, so upgraded to 14.8.2 but stills fails after upgrade (and yes, restarting service).

Getting source from Git repository

Fetching changes with git depth set to 50...

The Win32 internal error "No process is on the other end of the pipe" 0xE9

occurred while setting the console window title. Contact Microsoft Customer

Support Services.

At C:\WINDOWS\TEMP\build_script1793937071\script.ps1:221 char:1

+ & "git" "config" "-f" "C:\GitLab-Runner\builds\4S9KMgUy\0\main\sbbs.t ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 + CategoryInfo : ResourceUnavailable: (:) [], HostException

 + FullyQualifiedErrorId : SetConsoleWindowTitle

Cleaning up project directory and file based variables

ERROR: Job failed: exit status 1

Help appreciated.

Changing the config.toml “shell” value from “powershell” to “cmd” allows the build to proceed.

After the ominous warning: “DEPRECATION: CMD shell is deprecated and will no longer be supported”, the build continues.

The first build using “cmd” failed with ERROR: Job failed: exit status 0xc0000142

But a retry then succeeded (weird).

I don’t require powershell for my builds, cmd should work fine.

1 Like

Nobody else is seeing this same problem?

The only solution that’s worked for me (to continue to use shell=“powershell” in config.toml) is to have the gitlab-runner service run as a valid Windows user account and not the “Local System”.

Upgrading to the latest gitlab-runner for Windows just gives me the same error in hideous XML-encoded output, but it’s the same issue: SetConsoleWindowTitle fails.

I even tried checking the “Allow service to interact with desktop” checkbox when running as the Local System account, but that didn’t help.

-Rob