Open LeovR opened 1 month ago
We are facing the same problem when upgrading to jib-maven-plugin 3.4.3.
It seems to be a Windows-only problem (it works correctly when running the command in WSL2/Ubuntu)
Staying on 3.4.2 for now.
Breaking change is addition of the following line. https://github.com/GoogleContainerTools/jib/blob/ec44330c1adbd0e1538fe01ffaa51b8233432635/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/StepsRunner.java#L624
This line blocks until docker info -f "{{json .}}"
process exits to start reading the inputStream. On windows, it only exits after inputStream is read, resulting in deadlock.
https://github.com/GoogleContainerTools/jib/blob/ec44330c1adbd0e1538fe01ffaa51b8233432635/jib-core/src/main/java/com/google/cloud/tools/jib/docker/CliDockerClient.java#L192
Can be reproduced on windows with following code. Only occurs with -f
option.
Process process = new ProcessBuilder("docker", "info", "-f", "json").start();
process.waitFor();
@mpeddada1 this I believe was introduced in 3.4.3 and looks to be an important regression issue to fix before making the next release.
@chanseokoh Assigned this to myself. @beskow My initial hypothesis was that this may have been caused due to some unconventional log warnings we added but this is really helpful information (https://github.com/GoogleContainerTools/jib/issues/4267#issuecomment-2183474967)
This line blocks until
docker info -f "{{json .}}"
process exits to start reading the inputStream. On windows, it only exits after inputStream is read, resulting in deadlock.
We encountered this issue as well. Seems to be working on linux but hanging on windows.
Doing a breakpoint on line 191 in CliDockerClient and calling waitFor() hangs on windows. If you call getInputStream() without calling waitFor() before it, it works as expected.
Downgraded to 3.4.2 in the meantime.
Environment:
Description of the issue: After upgrading to jib-maven-plugin 3.4.3 the progress stops after "Container entrypoint set to". With jib-maven-plugin 3.4.2 the build succeeds.
Expected behavior: The build succeeds.
Steps to reproduce:
jib-maven-plugin
Configuration:Log output:
The output for jib-maven-plugin 3.4.2
Additional Information:
The build is triggered by skaffold with additional parameter
-Djib.to.tags=local
.