#I am trying to debug this error when

1 messages · Page 1 of 1 (latest)

calm steppe
#

Hm if I was here I'd personally just start println debugging the SocketStore interface to track what's added, what's requested, etc. and use debug.PrintStack as needed to figure out who's calling what

Looked a bit at your PR. One thing I noticed is that you are mounting the unix socket into the go sdk container but then also leaving it in there even after codegen is done. You will want to be sure to remove them from the final runtime container, similar to these lines: https://github.com/rajatjindal/dagger/blob/6ce731c74c119cd83923b7c221f414f25cd7ef06/core/schema/sdk.go#L538-L538

#

I pulled your PR down too to see if I can find anything obvious, but yeah otherwise enough println'ing will always reveal the answer 😄 We could consider adding internal-only spans too if tracking all this via dagger -vvvvvv is useful. Those are a bit better than printlns since we can actually keep them in the prod code

calm steppe
#
sipsma@dagger_dev:~/repo/github.com/sipsma/dagger$ git diff
diff --git a/core/schema/sdk.go b/core/schema/sdk.go
index 6a0fba686..36d7e413c 100644
--- a/core/schema/sdk.go
+++ b/core/schema/sdk.go
@@ -555,6 +555,15 @@ func (sdk *goSDK) Runtime(
                                },
                        },
                },
+               dagql.Selector{
+                       Field: "withoutUnixSocket",
+                       Args: []dagql.NamedInput{
+                               {
+                                       Name:  "path",
+                                       Value: dagql.String("/tmp/dagger-ssh-sock"),
+                               },
+                       },
+               },
        ); err != nil {
                return nil, fmt.Errorf("failed to build go runtime binary: %w", err)
        }

Removing the socket from the runtime container does result in a new and interesting error:
InvalidArgument: InvalidArgument: rpc error: code = InvalidArgument desc = invalid id: unsupported scheme &url.URL{Scheme:"", Opaque:"", User:(*url.Userinfo)(nil), Host:":0", Path:"", RawPath:"", OmitHost:false, ForceQuery:false, RawQuery:"", Fragment:"ofngq4t8mh0rcn33u44l3iq37", RawFragment:""}

quasi karma
#

for some reason, if i skip the mount-socket part during 'goSDK.Runtime` function call, it seems to have worked. wondering what the difference is between codegen/runtime that makes this behavior difference.