#Erik Sipsma3294 Looks like it s in the
1 messages · Page 1 of 1 (latest)
Yeah my best guess was that it just happens whenever any creds are requested by the inner dagger (but only when the original client is macos, for god knows why...)
wat
I think I fixed it by mistake
lol
--- a/sdk/go/internal/engineconn/dockerprovision/container.go
+++ b/sdk/go/internal/engineconn/dockerprovision/container.go
@@ -35,7 +35,7 @@ func (c *DockerContainer) Connect(ctx context.Context, cfg *engineconn.Config) (
return nil, err
}
defer tmpbin.Close()
- defer os.Remove(tmpbin.Name())
+ // defer os.Remove(tmpbin.Name())
I wanted to run the binary manually ... so I commented this. And it fixed the problem?
Maybe macOS doesn't like us removing a binary that's running?
Ah! Yeah that's in the docker-container codepath too, which is only used for testing. The docker-image one (the default) execs the final binary that persists on disk
Cleaned up my workdir -- that's the only change I have, and it works
(side note: something is funky with the cache. i'm rebuilding buildkit way too often)
#23 DONE 0.4s
yup
that fixed it
Awesome, well that's dumb that macos isn't as cool as linux but not a big deal at all. I can push a fix, probably just change docker-container to put the bins in a tmpdir and try its best to delete them on shutdown. It won't be as robust but given this is only needed for testing that's fine