Gitlab-runner Windows "409 Conflict" Error

Hello, I am using a Gitlab repository as version control for a game server’s files. In doing so, I have set up a very simple gitlab pipeline and runner so that the game server fetches from the repository when there’s a new version/commit.
When I commit a change, the runner will occasionally throw a “409 Conflict” error. The runner says it has failed, however the gitlab jobs page says it is still running and then eventually times out.

I have looked at several pages trying to find people who have the same issue and this seems to be the most relevant: https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4360
The suggested fix in this thread was to comment out the “listen_address” and “advertise_address” fields, which I did but am still getting the occasional 409 conflict.
I have tried different versions of the gitlab-runner for windows, as well as testing 32 vs 64 bit binaries, but to no avail, I am still having this issue.

As you can see in this screenshot, the runner shows that it fails randomly.

This is the gitlab-runner version I am currently using:

The game server is a Windows Server 2012 R2 Standard.

This is what my gitlab-ci.yml looks like:

Summary

stages:
- deploy

deploy-DODGEBALL:
stage: deploy
script:
- cd C:\TCAFiles\Users\admin\1
- git config --global core.filemode false
- git stash
- git fetch --all
- git reset --hard origin/master
only:
- master
tags:
- dodgeball
retry: 1

The runner executor is using powershell.

I should also note that I am new to setting up gitlab pipelines and runners, so please go easy on me!
If anyone has any guidance on how I can solve this issue, it would be greatly appreciated!

1 Like

Does anyone have suggestions on how I can fix this?

Hi,

if I read the linked issue correctly, this is a concurrency problem with same job assigned to 2 runners, causing a conflict. One possible mitigation might be to have just one runner with one executor.

I can see that you’ve already commented on the issue, please follow up there.

Cheers,
Michael

I only have one runner with one executor.