Concurrent jobs using identical slot number

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

GitLab docker runner on Ubuntu server with concurrency > 1 leads to concurrent jobs with same slot number.

On Ubuntu Desktop this does not happen. Each job that is run concurrently, is assigned with a slot number that is currently not running yet. Same on Windows Server dockker runners.

Steps to reproduce

Define GitLab Runner with toml:

concurrent = 10
check_interval = 0
connection_max_age = "15m0s"
shutdown_timeout = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "ENTECH-CI21-Docker"
  # request_concurrency = 1
  # limit = 1
  url = "https://gitlab.com"
  id = 50518330
  token = "xyz"
  token_obtained_at = 2025-11-12T14:28:32Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "docker"
  environment = ["DOCKER_HOST=tcp://docker:2375", "DOCKER_TLS_CERTDIR=", "DOCKER_DRIVER=overlay2", "DISPLAY=:0", "NVIDIA_DRIVER>  
[runners.docker]
    tls_verify = false
    image = "ubuntu:24.04"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/tmp/.X11-unix:/tmp/.X11-unix", "/mnt/Gitlab-Runner-Builds/Docker/builds:/builds", "/mnt/Gitlab-Runner-Builds/D>    
    shm_size = 0
    gpus = "all"
    network_mtu = 0
    # limit = 1

So concurrency at 10 and mounting host directories for build.

Using Runner version 18.3.1 or 18.5.0

This leads to running up to 10 concurrent jobs. On Ubuntu Desktop this leads to each and every concurrent job to have a unique "slot" number which is also reflected in the build directory:

Running on runner-xohe-h7oe-project-28685642-concurrent-1 via entech-ci22...

Reinitialized existing Git repository in /builds/xohE-H7Oe/1/strykercorp/t-and-e/EnTech/BitsOfNature/.git/

Example Project

n.a.

What is the current bug behavior?

GitLabs now starts concurrent jobs with identical slot numbers which leads to using the same build director => which fails.

What is the expected correct behavior?

GitLab should start each concurrent job with a unique slot number as on Ubuntu Desktop (or Windows Server)

Relevant logs and/or screenshots

se above

Output of checks

n.a.

Results of GitLab environment info

n.a.

Results of GitLab application Check

n.a.

Possible fixes

Update

Update: our investigations show that this is not related to Linux vs. Windows or Server vs. Desktop. Instead all old registered runners work and never assign the same slot number for concurrent jobs. But, all newly registered runners actually show the problem of having concurrent jobs with the same slot number.

Also it has nothing to do with runner version. We checked 18.3 and 18.5. The old registered 18.3.x works. Every new registered runner with version 18.3 or 18.5 fails.

It seems to be related to GitLab server side not runner client side.

Edited by 🤖 GitLab Bot 🤖