panic: runtime error: invalid memory address or nil pointer dereference in registry/storage/driver/s3-aws/v2.(*driver).statHead
The registry process panics when trying to `docker push` an image: ```log # (Gitlab Omnibus, v19) # tail -F /var/log/gitlab/registry/current 2026-06-02_08:30:58.33158 time="2026-06-02T08:30:58.330Z" level=warning msg="rate-limiter is disabled" environment=production go_version=go1.25.7 instance_id=dfb012ed-9835-4b1a-83c7-7c731c677e60 service=registry version=v4.40.0-gitlab 2026-06-02_08:30:58.33163 time="2026-06-02T08:30:58.330Z" level=info msg="storage backend redirection enabled" environment=production go_version=go1.25.7 instance_id=dfb012ed-9835-4b1a-83c7-7c731c677e60 service=registry version=v4.40.0-gitlab 2026-06-02_08:30:58.33163 time="2026-06-02T08:30:58.330Z" level=info msg="using inmemory blob descriptor cache" environment=production go_version=go1.25.7 instance_id=dfb012ed-9835-4b1a-83c7-7c731c677e60 service=registry version=v4.40.0-gitlab 2026-06-02_08:30:58.33186 time="2026-06-02T08:30:58.331Z" level=info msg="Starting upload purge in 16m0s" environment=production go_version=go1.25.7 instance_id=dfb012ed-9835-4b1a-83c7-7c731c677e60 service=registry version=v4.40.0-gitlab 2026-06-02_08:30:58.39272 time="2026-06-02T08:30:58.392Z" level=info msg="registry filesystem metadata in use" environment=production go_version=go1.25.7 instance_id=dfb012ed-9835-4b1a-83c7-7c731c677e60 service=registry version=v4.40.0-gitlab 2026-06-02_08:30:58.39276 time="2026-06-02T08:30:58.392Z" level=info msg="configuring storage health check" environment=production go_version=go1.25.7 instance_id=dfb012ed-9835-4b1a-83c7-7c731c677e60 interval_s=10 service=registry threshold=3 version=v4.40.0-gitlab 2026-06-02_08:30:58.39276 time="2026-06-02T08:30:58.392Z" level=info msg="listening on 127.0.0.1:5000" environment=production go_version=go1.25.7 instance_id=dfb012ed-9835-4b1a-83c7-7c731c677e60 service=registry version=v4.40.0-gitlab 2026-06-02_08:31:08.40208 panic: runtime error: invalid memory address or nil pointer dereference 2026-06-02_08:31:08.40212 [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x207eb1d] 2026-06-02_08:31:08.40213 2026-06-02_08:31:08.40213 goroutine 88 [running]: 2026-06-02_08:31:08.40213 github.com/docker/distribution/registry/storage/driver/s3-aws/v2.(*driver).statHead(0xc000a90a00, {0x2d90678, 0xc00047aaf0}, {0x2d48c58, 0x1}) 2026-06-02_08:31:08.40214 /var/cache/omnibus/src/registry/src/github.com/docker/distribution/registry/storage/driver/s3-aws/v2/s3.go:464 +0x19d 2026-06-02_08:31:08.40214 github.com/docker/distribution/registry/storage/driver/s3-aws/v2.(*driver).Stat(0xc000a90a00, {0x2d90678, 0xc00047aaf0}, {0x2d48c58, 0x1}) 2026-06-02_08:31:08.40216 /var/cache/omnibus/src/registry/src/github.com/docker/distribution/registry/storage/driver/s3-aws/v2/s3.go:557 +0x47 2026-06-02_08:31:08.40216 github.com/docker/distribution/registry/storage/driver/base.(*Base).Stat(0xc000a50ef0, {0x2d8fd50?, 0xc0001b7600?}, {0x2d48c58, 0x1}) 2026-06-02_08:31:08.40216 /var/cache/omnibus/src/registry/src/github.com/docker/distribution/registry/storage/driver/base/base.go:162 +0x24f 2026-06-02_08:31:08.40219 github.com/docker/distribution/registry/handlers.(*App).RegisterHealthChecks.func2() 2026-06-02_08:31:08.40219 /var/cache/omnibus/src/registry/src/github.com/docker/distribution/registry/handlers/app.go:822 +0x4a 2026-06-02_08:31:08.40219 github.com/docker/distribution/health.CheckFunc.Check(0xc000ac2fa0?) 2026-06-02_08:31:08.40220 /var/cache/omnibus/src/registry/src/github.com/docker/distribution/health/health.go:52 +0x12 2026-06-02_08:31:08.40220 github.com/docker/distribution/health.PeriodicThresholdChecker.func1() 2026-06-02_08:31:08.40221 /var/cache/omnibus/src/registry/src/github.com/docker/distribution/health/health.go:202 +0xad 2026-06-02_08:31:08.40221 created by github.com/docker/distribution/health.PeriodicThresholdChecker in goroutine 1 2026-06-02_08:31:08.40222 /var/cache/omnibus/src/registry/src/github.com/docker/distribution/health/health.go:194 +0x105 ``` I have had the following configuration in my `gitlab.rb`: ```ruby registry["storage"] = { "s3" => { "accesskey" => "[omitted]", "secretkey" => "[omitted]", "bucket" => "gitlab-container-registry", "regionendpoint" => "https://s3.example.com", "region" => "garage", # as configured for garage "pathstyle" => true, # omitting this has no effect } } ``` I'm using [garage](https://garagehq.deuxfleurs.fr/) as S3 server (which has had worked for years now without issues). To rule out issues with the used version, I've upgraded to the latest release here, but to no avail.
issue