Ubuntu 24.04 infrastructure upgrade for Docker Jobs

TL;DR: We’re upgrading our Docker executor infrastructure from Ubuntu 22.04 to Ubuntu 24.04. We’re beginning to roll this out gradually, starting with free tier customers.


We’re upgrading the host OS on our Linux Nomad clients from Ubuntu 22.04 LTS (Jammy) to Ubuntu 24.04 LTS (Noble Numbat), as part of our ongoing commitment to keeping the underlying infrastructure current and secure.

What’s changing?

Your Docker executor jobs will run on a host with Ubuntu 24.04 instead of 22.04. Your job’s Docker image is unchanged; but some workloads are sensitive to the host kernel and system libraries.

You can identify whether your job ran on a 24.04 host by checking the kernel version in the spin-up environment step. A kernel version of 6.17.x indicates Ubuntu 24.04, while 6.8.x indicates Ubuntu 22.04:

Kernel Version: 6.17.0-1007-aws

Known potential issues

  • ThreadSanitizer (-fsanitize=thread): Our 22.04 hosts applied a vm.mmap_rnd_bits kernel override to keep TSan working with older compilers. This override is not present on the 24.04 hosts. If your jobs use TSan and you’re on an older compiler, you may see:
  FATAL: ThreadSanitizer: unexpected memory mapping

The fix is to upgrade to a newer compiler version that ships with an updated libtsan. This is a known upstream issue — see google/sanitizers#1716 for details.

Rollout plan

We’ll expand traffic progressively:

  1. :white_check_mark: Internal CircleCI projects
  2. :white_check_mark: Free tier customers
  3. :yellow_circle: Paid tier customers (now open)
  4. :white_large_square: Paid tier customers jobs with IP ranges
  5. :white_large_square: ARM jobs

We’ll post updates here as we move through the stages.

Reporting issues

If you notice unexpected job failures and suspect they may be related to the OS upgrade, please reach out via our support portal. Including a link to the failing job and the kernel version from the spin-up step will help us triage quickly.