We have had reports of when two dagger functions are run in CI at the same time, they occassionally step on each other with an error relating to unix sockets. The error is:
gql.transport.exceptions.TransportQueryError: Error while fetching schema: {'message': 'get or init client: initialize client: failed to add client resources from ID: failed to load sockets: load host.unixSocket(path: "/tmp/ssh-XXXXXXSB2z5f/agent.192"): Socket!: load: no query in context'}
The unix socket here is /tmp/ssh-XXXXXXSB2z5f/agent.192 which is the unix socket available on the github runner. The strange thing is that the dagger function traces show a different socket passed into the start of the dagger function /tmp/ssh-XXXXXXSB2z5f/agent.193. At a first glance it looks like something weird is going on where a concurrent run of the same dagger function is somehow "cloberring" this run.
The dag being evaluated when the error occurs is:
container(platform: "linux/amd64").
withUnixSocket(path:"/sock/ssh.sock", source:host.unixSocket(path: "/tmp/ssh-XXXXXXLziJf4/agent.193")).
withEnvVariable(name:"SSH_AUTH_SOCK", value:"/sock/ssh.sock").
withEnvVariable(name:"CACHEBUSTER", value:"2025-10-07 03:29:16.506804").
withMountedCache(path:"/root/.cache/pip", cache:CacheVolume).
build(context:Directory).
withExec(args:["dbt", "deps"]).
withoutUnixSocket(path:"/sock/ssh.sock").
withExec(args:["pip", "install", "recce==1.14.0"]).
withFile(path:"/app/recce.yml", source:File).
withDirectory(path:"/app/target/", directory:Directory).
withDirectory(path:"/app/target-base/", directory:Directory).
withMountedSecret(path:"/root/gcp-credentials.json", source:Secret).
withEnvVariable(name:"GOOGLE_APPLICATION_CREDENTIALS", value:"/root/gcp-credentials.json").
withEnvVariable(name:"CACHEBUSTER", value:"2025-10-07 03:44:22.733516").
withExec(args:["recce", "debug"]).
withExec(args:["recce", "run", "--config", "recce.yml"], expect:ANY).
file(path:"./recce_state.json")