You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The json is discarded and docker is actually sending an error message (with a 200 OK response status, which is admittedly unhelpful). It would suffice in this case to look at the unmarshalled response and check that it had some content (non null "stream" property).
This code in LayerId is responsible for the failure that we found:
publicstaticLayerIdofSha256Digest(byte[] digest) {
Assert.notNull(digest, "Digest must not be null");
Assert.isTrue(digest.length == 32, "Digest must be exactly 32 bytes");
Stringalgorithm = "sha256";
Stringhash = String.format("%32x", newBigInteger(1, digest));
returnnewLayerId(algorithm + ":" + hash, algorithm, hash);
}
%32x is actually only guaranteed to be at least 32 characters. We need 64. So sometimes we get 63 because the content of the digest has a low leading byte value. This would probably work (because Java Formatter pads with spaces not zeros, and docker wants zeros):
String hash = String.format("%64x", new BigInteger(1, digest)).replace(" ", "0");
The text was updated successfully, but these errors were encountered:
When the ephemeral build image is loaded into docker it can fail, and we discard the result, so we never know. From
DockerApi$ImageApi
:The json is discarded and docker is actually sending an error message (with a 200 OK response status, which is admittedly unhelpful). It would suffice in this case to look at the unmarshalled response and check that it had some content (non null "stream" property).
This code in
LayerId
is responsible for the failure that we found:%32x
is actually only guaranteed to be at least 32 characters. We need 64. So sometimes we get 63 because the content of the digest has a low leading byte value. This would probably work (because JavaFormatter
pads with spaces not zeros, and docker wants zeros):The text was updated successfully, but these errors were encountered: