Closed edmorley closed 1 month ago
I was able to reproduce this with pack 0.34.0. On pack 0.33.2, I saw a different error:
Timer: Saving testapp... started at 2024-05-30T19:31:07Z
Saving testapp...
Timer: Saving testapp... ran for 114.913189ms and ended at 2024-05-30T19:31:07Z
Timer: Exporter ran for 1.931945425s and ended at 2024-05-30T19:31:07Z
ERROR: failed to export: saving image: failed to fetch base layers: open /tmp/imgutil.local.image.2257333352/blobs/sha256/193cc52087f3baeb8473b4149731a53e049b8b1510559a4f9a5e913fb7531bf6: no such file or directory
ERROR: failed to build: executing lifecycle: failed with status code: 62
This error appears to be coming from imgutil. I will look into it...
https://github.com/buildpacks/imgutil/pull/275 fixes archive/tar: write too long
but now I'm getting open /tmp/imgutil.local.image.2257333352/blobs/sha256/193cc52087f3baeb8473b4149731a53e049b8b1510559a4f9a5e913fb7531bf6: no such file or directory
and I really REALLY don't understand it 🙀
Edit: linking to Slack thread, the second error looks like a bug in the daemon relating to switching back and forth between containerd storage and overlay2.
Summary
When Docker Desktop for macOS's
containerd
feature is enabled,pack build
fails with an internalarchive/tar: write too long
error.The
containerd
backend is essential when working on multi-architecture image workflows/development, so it's quite inconvenient to have to keep turning it off when usingpack build
and then back on again when working on other repos/projects.Reproduction
Steps
git clone https://github.com/heroku/heroku-buildpack-python && cd heroku-buildpack-python
pack build --builder heroku/builder:24 --trust-builder --verbose testapp
Current behavior
Expected behavior
The
pack build
succeeds, like it does when thecontainerd
backend is not enabled.Environment
pack info
(side note: the redacted on the trusted builders list makes that information pretty useless - perhaps it should just filter any creds in repo URLs or custom (non-docker-io) repos etc?)
docker info