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
ctr.exe images import can fail on Windows #5690
Comments
I've added and removed |
"ctr image import" didn't have a lease. Due to that, GC would remove contents during the import process. Fixes containerd#5690. Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
same error on arm64 .. I compile arm64 myself from tag v1.5.5
but when return to v1.4.3 , it works ok.
logs about pause3.5
tips: |
Hm, this issue is regarding ctr image import, not export. But I think there might be some underlying issue somewhere in the Garbage Collector. From what I can tell, if some content is not "visible", then it's removed, including some things that shouldn't, like your Question: after switching ctr versions, do you delete / pull the pause image, and then export it? |
switch to old version 1.4.4. erverything is ok. i have export and import many times.. |
"ctr image import" didn't have a lease. Due to that, GC would remove contents during the import process. Fixes containerd#5690. Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
I've sent some updates here regarding what was the issue I was facing, and what the solution was: #5692 (comment) I'd say that There is one thing I didn't understand from your scenario: are you importing the image, or are you pulling it? These are different scenarios, so it would be good to know. If it's from pulling, the above might not help you. :) I wonder if ctr has issues picking the right image from a manifest list for your platform. I see that you're on |
the image is already contains arm64 |
Description
Importing images into containerd through
ctr.exe
can fail with the following error:This can happen because the Garbage Collector deletes the layers while it's still being unpacked / diffs are being applied. This can be seen in the server logs:
That blob couldn't be removed because the diff is still being applied at that moment.
The image still shows up in
ctr.exe image list
:But that image is still unusable. Trying to spawn containers using that image will generate errors.
Steps to reproduce the issue:
Describe the results you received:
Output:
PS C:\containerd> ctr.exe --address //./pipe//run/containerd-test/containerd --namespace k8s.io images import .\image.tar
unpacking docker.io/claudiubelu/busybox:1.29 (sha256:435b5572d74b64c9646803376baad711af044e2130e3567bed07b809af4ca8bf)...ctr: content digest sha256:7c3822e9f6e642ac53d1da8e3aa2f08b556d82ee8827dda1c93868cde18799d9: not found
Server logs: https://paste.ubuntu.com/p/pNdkv6YFSm/
Describe the results you expected:
The image should have been imported properly, and it can be used to start new containers.
At the very least, broken images should not be kept / listed in containerd.
What version of containerd are you using:
Any other relevant information (runC version, CRI configuration, OS/Kernel version, etc.):
runc --version
crictl info
uname -a
The text was updated successfully, but these errors were encountered: