Pin Docker Hub BuildKit image to v0.30.0 - #2523
Merged
MuhammadTahaNaveed merged 1 commit intoAug 20, 2026
Merged
Conversation
Commit 8f16cf5 pinned the docker-container buildx driver to moby/buildkit:v0.31.2 to dodge the runc masked-path regression, but that release bundles runc 1.3.6, which already contains the maskDir() change. Every RUN step still fails during container init: can't mask dir "/proc/acpi": mount src=tmpfs, dst=/proc/acpi, flags=MS_RDONLY, data=nr_blocks=1,nr_inodes=1: invalid argument maskDir() mounts masked paths with nr_inodes=1, which the Docker Hub build host's Ubuntu 20.04 5.4 kernel rejects with EINVAL (opencontainers/runc#5348). Bundled runc by BuildKit release: v0.30.0 runc 1.3.5 unaffected v0.31.0 - v0.31.2 runc 1.3.6 affected v0.32.0 - v0.32.2 runc 1.4.3 affected v0.32.2 is the newest BuildKit release, so no version ships the fix yet. Pin to v0.30.0, the last release predating maskDir(). Drop the pin once BuildKit ships runc >= 1.4.4. Verified locally: a multi-arch (linux/amd64, linux/arm64) build of this Dockerfile with moby/buildkit:v0.30.0 completes, and both image variants create a graph and run Cypher queries.
jrgemignani
requested review from
MuhammadTahaNaveed,
gregfelice and
muhammadshoaib
and
a lite review from Copilot
August 19, 2026 16:51
There was a problem hiding this comment.
Pull request overview
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Pins the Docker Hub buildx Docker-container driver’s BuildKit image to a version that avoids a known runc masked-path regression on the Docker Hub Ubuntu 20.04 / 5.4 kernel hosts.
Changes:
- Update the buildx driver image pin from
moby/buildkit:v0.31.2tomoby/buildkit:v0.30.0. - Expand the inline rationale comment with details about the kernel/runc incompatibility and affected BuildKit versions.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
MuhammadTahaNaveed
approved these changes
Aug 20, 2026
jrgemignani
added a commit
that referenced
this pull request
Aug 20, 2026
NOTE: This is needed to allow Docker Hub builds for both latest and release/PG18/1.8.0 to build and is outside of the release. Commit 8f16cf5 pinned the docker-container buildx driver to moby/buildkit:v0.31.2 to dodge the runc masked-path regression, but that release bundles runc 1.3.6, which already contains the maskDir() change. Every RUN step still fails during container init: can't mask dir "/proc/acpi": mount src=tmpfs, dst=/proc/acpi, flags=MS_RDONLY, data=nr_blocks=1,nr_inodes=1: invalid argument maskDir() mounts masked paths with nr_inodes=1, which the Docker Hub build host's Ubuntu 20.04 5.4 kernel rejects with EINVAL (opencontainers/runc#5348). Bundled runc by BuildKit release: v0.30.0 runc 1.3.5 unaffected v0.31.0 - v0.31.2 runc 1.3.6 affected v0.32.0 - v0.32.2 runc 1.4.3 affected v0.32.2 is the newest BuildKit release, so no version ships the fix yet. Pin to v0.30.0, the last release predating maskDir(). Drop the pin once BuildKit ships runc >= 1.4.4. Verified locally: a multi-arch (linux/amd64, linux/arm64) build of this Dockerfile with moby/buildkit:v0.30.0 completes, and both image variants create a graph and run Cypher queries.
jrgemignani
added a commit
that referenced
this pull request
Aug 20, 2026
Commit 8f16cf5 pinned the docker-container buildx driver to moby/buildkit:v0.31.2 to dodge the runc masked-path regression, but that release bundles runc 1.3.6, which already contains the maskDir() change. Every RUN step still fails during container init: can't mask dir "/proc/acpi": mount src=tmpfs, dst=/proc/acpi, flags=MS_RDONLY, data=nr_blocks=1,nr_inodes=1: invalid argument maskDir() mounts masked paths with nr_inodes=1, which the Docker Hub build host's Ubuntu 20.04 5.4 kernel rejects with EINVAL (opencontainers/runc#5348). Bundled runc by BuildKit release: v0.30.0 runc 1.3.5 unaffected v0.31.0 - v0.31.2 runc 1.3.6 affected v0.32.0 - v0.32.2 runc 1.4.3 affected v0.32.2 is the newest BuildKit release, so no version ships the fix yet. Pin to v0.30.0, the last release predating maskDir(). Drop the pin once BuildKit ships runc >= 1.4.4. Verified locally: a multi-arch (linux/amd64, linux/arm64) build of this Dockerfile with moby/buildkit:v0.30.0 completes, and both image variants create a graph and run Cypher queries.
MuhammadTahaNaveed
pushed a commit
that referenced
this pull request
Aug 21, 2026
Commit 8f16cf5 pinned the docker-container buildx driver to moby/buildkit:v0.31.2 to dodge the runc masked-path regression, but that release bundles runc 1.3.6, which already contains the maskDir() change. Every RUN step still fails during container init: can't mask dir "/proc/acpi": mount src=tmpfs, dst=/proc/acpi, flags=MS_RDONLY, data=nr_blocks=1,nr_inodes=1: invalid argument maskDir() mounts masked paths with nr_inodes=1, which the Docker Hub build host's Ubuntu 20.04 5.4 kernel rejects with EINVAL (opencontainers/runc#5348). Bundled runc by BuildKit release: v0.30.0 runc 1.3.5 unaffected v0.31.0 - v0.31.2 runc 1.3.6 affected v0.32.0 - v0.32.2 runc 1.4.3 affected v0.32.2 is the newest BuildKit release, so no version ships the fix yet. Pin to v0.30.0, the last release predating maskDir(). Drop the pin once BuildKit ships runc >= 1.4.4. Verified locally: a multi-arch (linux/amd64, linux/arm64) build of this Dockerfile with moby/buildkit:v0.30.0 completes, and both image variants create a graph and run Cypher queries.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commit 8f16cf5 pinned the docker-container buildx driver to moby/buildkit:v0.31.2 to dodge the runc masked-path regression, but that release bundles runc 1.3.6, which already contains the maskDir() change. Every RUN step still fails during container init:
can't mask dir "/proc/acpi": mount src=tmpfs, dst=/proc/acpi,
flags=MS_RDONLY, data=nr_blocks=1,nr_inodes=1: invalid argument
maskDir() mounts masked paths with nr_inodes=1, which the Docker Hub build host's Ubuntu 20.04 5.4 kernel rejects with EINVAL (opencontainers/runc#5348).
Bundled runc by BuildKit release:
v0.30.0 runc 1.3.5 unaffected
v0.31.0 - v0.31.2 runc 1.3.6 affected
v0.32.0 - v0.32.2 runc 1.4.3 affected
v0.32.2 is the newest BuildKit release, so no version ships the fix yet. Pin to v0.30.0, the last release predating maskDir(). Drop the pin once BuildKit ships runc >= 1.4.4.
Verified locally: a multi-arch (linux/amd64, linux/arm64) build of this Dockerfile with moby/buildkit:v0.30.0 completes, and both image variants create a graph and run Cypher queries.