-
Notifications
You must be signed in to change notification settings - Fork 1.2k
runc worker does not always report the correct list of platforms #5740
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
If the user doesn't set the platform in the config file, then it is initialized with a fully detected list of |
@tonistiigi I see, thanks! So the problem only happens when the platform lists is explicitly declared in the config, but it is also empty. This checks for a buildkit/cmd/buildkitd/main_oci_worker.go Line 331 in 4712052
Would it be sensible to add an |
ok |
Previously, when no platforms were explicitly defined in the config, serialization would emit an empty array instead of omitting the field. When loading this cofig, this prevented the worker from falling back to default platform detection during initialization. By using `omitempty`, we ensure the field is excluded when empty, allowing defaults to be correctly applied. Fixes moby#5740.
Previously, when no platforms were explicitly defined in the config, serialization would emit an empty array instead of omitting the field. When loading this cofig, this prevented the worker from falling back to default platform detection during initialization. By using `omitempty`, we ensure the field is excluded when empty, allowing defaults to be correctly applied. Fixes moby#5740. Signed-off-by: Alberto Garcia Hierro <[email protected]>
Contributing guidelines and issue reporting guide
Well-formed report checklist
Description of bug
Bug description
In architectures that support multiple platforms, runc worker might report only the default one. For example, on an arm64 host where the arm checks passes, it reports:
This should also include
arm
andarm/v6
.Reproduction
Version information
Additional information
This seems to happen because the runc worker initializes the list of supported platforms with just the default one. Later, when we call Worker.Platforms, the matcher for
arm64
reports that it also includesarm
andarm/v6
(which is not necessarily true), preventing them from being added to the list of platforms.The text was updated successfully, but these errors were encountered: