#Erik Sipsma3294 Looks like it s in the

1 messages · Page 1 of 1 (latest)

manic jewel
#

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...)

velvet turtle
#

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?

manic jewel
#

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

velvet turtle
#

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

manic jewel
#

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