Issues with GitLab Runner on 32-bit Windows

  32-bit, gitlab, gitlab-ci, gitlab-ci-runner, windows

I have a problem with GitLab Runner on 32-bit Windows. The runners are at version 14.4.0 and our GitLab instance is at version 14.4.1-ee. The runners are tied to specific machines running 32-bit Windows 10 Pro (10.0.19043), use shell executors (PowerShell), and run with full administrative privileges (i.e., as the local system user). This is outside my control.

Sporadically, and for no discernable reason, the runners stop sending log traffic to our GitLab instance. They should be uploading several MB worth of logs. I don’t see failed attempts to upload logs in debug mode. I don’t see any of the network traffic I expect in WireShark. This might correlate with issues loading a custom driver, but I can’t say for sure.

The workaround is even more perplexing. The following protocol fixes the issue: remove all the runners using the GitLab CI interface; uninstall the malfunctioning runner; download a new runner binary, register and install it. If I repeat the same steps, except without downloading a new binary, the issue persists. The files are identical when I run a binary diff on them.

I haven’t been able to extract any relevant information from the system event logs or network traffic. The issue only affects our runners on 32-bit Windows. It doesn’t affect 64-bit Windows or runners on Linux, regardless of architecture. It seems to happen sporadically, in the sense that I can’t correlate it with anything interesting happening on the affected machines.

Clearly, something about our 32-bit Windows environments is different and causing the runners to malfunction. I just don’t know what it is. I would appreciate any direction figuring out the source of this problem. The fact that downloading new binaries makes the difference has me worried, but I don’t have any reason to suspect our machines have been compromised.

Source: Windows Questions