Skip to content

Conversation

@tonistiigi
Copy link
Member

fixes docker/buildx#834

Since 1.5 containerd pusher has an issue containerd/containerd#6242 and deadlocks after first error appears(eg. connection dropped or registry error). Purely by coincidence, this error was not affecting buildkit until v0.9.1 because the incorrect logic is behind an interface detection check https://github.com/containerd/containerd/blob/5b09dc5eb0c671d87dc3482d5f63326a4416b74d/remotes/handlers.go#L172-L173 and Buildkit used a wrapper around pusher object.

In v0.9.2 while fixing another issue that wrap was removed and exposed this issue. https://github.com/moby/buildkit/pull/2403/files#diff-9f53bfee1c63146562c6d43b0bc3e476d9e966c93a1b8904031d37ea2f0896bfL82

I have reported this to containerd. Meanwhile, this adds arbitrary wrap around all our usage of Pusher to work around this.

Signed-off-by: Tonis Tiigi [email protected]

@ktock
Copy link
Collaborator

ktock commented Nov 13, 2021

Doesn't this cause containerd/containerd#2706 ?

Deadlock issue will be fixed in containerd/containerd#6243.

@tonistiigi
Copy link
Member Author

Doesn't this cause containerd/containerd#2706 ?

We have our own handling for that case #1548

@AkihiroSuda AkihiroSuda merged commit 3575249 into moby:master Nov 14, 2021
flavorjones added a commit to sparklemotion/nokogiri that referenced this pull request Nov 15, 2021
jonathangreen added a commit to ThePalaceProject/circulation that referenced this pull request Nov 17, 2021
docker/build-push-action#498 (comment)
docker/buildx#834
moby/buildkit#2461

Looks like a fix is merged into buildkit, but we have to wait for
a new release to get the fix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pushing a multi-platform image to ghcr.io results in an endless loop

3 participants