Closed edsantiago closed 5 months ago
Not 100% reproducible, but eventually with enough images:
# bin/podman pull quay.io/libpod/redis:alpine Trying to pull quay.io/libpod/redis:alpine... Getting image source signatures Copying blob 75cca444dec7 done 414.0b / 414.0b (skipped: 0.0b = 0.00%) Copying blob 188c0c94c7c5 done 2.7MiB / 2.7MiB (skipped: 0.0b = 0.00%) Copying blob fb6015f7c791 done 1.2KiB / 1.2KiB (skipped: 0.0b = 0.00%) Copying blob f8890a096979 done 250.5KiB / 250.5KiB (skipped: 0.0b = 0.00%) Copying blob 1ab9e54597f5 done 7.1MiB / 7.1MiB (skipped: 0.0b = 0.00%) Copying blob aea83659e879 done 100.0b / 100.0b (skipped: 0.0b = 0.00%) Copying config 8835e6aeca done | Writing manifest to image destination 8835e6aeca9938e066a56ef1b6668b750804476124f42302447fe5711dce55de # bin/podman pull quay.io/libpod/alpine:latest Trying to pull quay.io/libpod/alpine:latest... Getting image source signatures Copying blob 9d16cba9fb96 done 2.8MiB / 2.8MiB (skipped: 0.0b = 0.00%) panic: runtime error: integer divide by zero goroutine 109 [running]: github.com/containers/storage/pkg/chunked.(*bloomFilter).hashFn(0x7?, {0xc0022ff230, 0x27, 0x27}, 0x27?) /root/go/podman/vendor/github.com/containers/storage/pkg/chunked/bloom_filter.go:35 +0xf8 github.com/containers/storage/pkg/chunked.(*bloomFilter).maybeContains(0xc0002bc2c0, {0xc0022ff230, 0x27, 0x27}) /root/go/podman/vendor/github.com/containers/storage/pkg/chunked/bloom_filter.go:48 +0x57 github.com/containers/storage/pkg/chunked.(*layersCache).findDigestInternal(0xc0008f8660, {0xc000232280?, 0xc0008d6e18?}) /root/go/podman/vendor/github.com/containers/storage/pkg/chunked/cache_linux.go:759 +0x21b github.com/containers/storage/pkg/chunked.(*layersCache).findFileInOtherLayers(0xc000613ba0?, 0x410e00?, 0xa0?) /root/go/podman/vendor/github.com/containers/storage/pkg/chunked/cache_linux.go:803 +0x4c github.com/containers/storage/pkg/chunked.findFileInOtherLayers(0x0?, 0x200?, 0x200?, 0x38?) /root/go/podman/vendor/github.com/containers/storage/pkg/chunked/storage_linux.go:511 +0x25 github.com/containers/storage/pkg/chunked.(*chunkedDiffer).findAndCopyFile(0xc0008fc0f0?, 0xb, 0xc000220000, 0xc002166390, 0x512000?) /root/go/podman/vendor/github.com/containers/storage/pkg/chunked/storage_linux.go:1550 +0x74 github.com/containers/storage/pkg/chunked.(*chunkedDiffer).ApplyDiff.func4() /root/go/podman/vendor/github.com/containers/storage/pkg/chunked/storage_linux.go:1855 +0x18c created by github.com/containers/storage/pkg/chunked.(*chunkedDiffer).ApplyDiff in goroutine 67 /root/go/podman/vendor/github.com/containers/storage/pkg/chunked/storage_linux.go:1852 +0x1a07
Setup:
v1.53.1-0.20240420103332-243179932739
/etc/containers/storage.conf
[storage] driver = "overlay" runroot = "/run/containers/storage" graphroot = "/var/lib/containers/storage"
[storage.options] pull_options = {enable_partial_images = "true", use_hard_links = "false", ostree_repos="", convert_images = "true"}
[storage.options.overlay] use_composefs = "true"
It's very possible that I did something wrong when I vendored c-storage, like missing some important new step needed by https://github.com/containers/storage/pull/1893
@giuseppe PTAL
thanks, opened a PR: https://github.com/containers/storage/pull/1904
Not 100% reproducible, but eventually with enough images:
Setup:
v1.53.1-0.20240420103332-243179932739
which includes https://github.com/containers/storage/pull/1893)/etc/containers/storage.conf
as follows:[storage.options] pull_options = {enable_partial_images = "true", use_hard_links = "false", ostree_repos="", convert_images = "true"}
[storage.options.overlay] use_composefs = "true"