{"record":{"id":"ad4009cdf5ae0e11","repo":"dagger/dagger","slug":"get-volume-privatekey-id-w","errorCode":null,"errorMessage":"get volume privateKey ID: %w","messagePattern":"get volume privateKey ID: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/schema/address.go","lineNumber":913,"sourceCode":"\t\t})\n\t\treturn inst, err\n\t}\n\tif u.Scheme != \"sshfs\" {\n\t\treturn inst, fmt.Errorf(\"unsupported volume address %q: must use sshfs:// or engine-volume://\", addr)\n\t}\n\n\tparsed, err := parseSSHFSVolumeAddress(addr)\n\tif err != nil {\n\t\treturn inst, err\n\t}\n\n\tprivateKey, err := loadAddressSecret(ctx, srv, parsed.PrivateKeyAddr)\n\tif err != nil {\n\t\treturn inst, fmt.Errorf(\"load volume privateKey secret: %w\", err)\n\t}\n\tprivateKeyID, err := privateKey.ID()\n\tif err != nil {\n\t\treturn inst, fmt.Errorf(\"get volume privateKey ID: %w\", err)\n\t}\n\n\targsList := []dagql.NamedInput{\n\t\t{Name: \"endpoint\", Value: dagql.NewString(parsed.Endpoint)},\n\t\t{Name: \"privateKey\", Value: dagql.NewID[*core.Secret](privateKeyID)},\n\t}\n\tif parsed.KnownHostsAddr != \"\" {\n\t\tknownHosts, err := loadAddressSecret(ctx, srv, parsed.KnownHostsAddr)\n\t\tif err != nil {\n\t\t\treturn inst, fmt.Errorf(\"load volume knownHosts secret: %w\", err)\n\t\t}\n\t\tknownHostsID, err := knownHosts.ID()\n\t\tif err != nil {\n\t\t\treturn inst, fmt.Errorf(\"get volume knownHosts ID: %w\", err)\n\t\t}\n\t\targsList = append(argsList, dagql.NamedInput{\n\t\t\tName:  \"knownHosts\",\n\t\t\tValue: dagql.Opt(dagql.NewID[*core.Secret](knownHostsID)),","sourceCodeStart":895,"sourceCodeEnd":931,"githubUrl":"https://github.com/dagger/dagger/blob/82ba2681dbe30d3547a1dc50ea495900ab5b6047/core/schema/address.go#L895-L931","documentation":"After successfully loading the sshfs volume's private key secret, the SDK calls `privateKey.ID()` to obtain its DAGQL ID for passing to sshfsVolume. This error wraps an ID() failure, which is essentially an internal serialization failure of the loaded Secret object.","triggerScenarios":"Calling `Address.volume()` on an sshfs address where the secret loaded but `Secret.ID()` returns an error (rare; typically reflects a corrupt/incomplete secret object from the server).","commonSituations":"Very rare in practice; usually indicates an SDK/server version mismatch or an internal state problem after secret loading.","solutions":["Retry the query; transient server state issues may resolve.","Upgrade the Dagger CLI/SDK and engine to matching, current versions.","Report a bug if reproducible — Secret.ID() should not normally fail after a successful load.","Check engine logs around the failure for the underlying cause."],"exampleFix":null,"handlingStrategy":"retry","validationCode":"if _, err := secret.ID(ctx); err != nil {\n\treturn fmt.Errorf(\"secret unusable before building volume address: %w\", err)\n}","typeGuard":null,"tryCatchPattern":"inst, err := addr.Volume(ctx)\nif err != nil && strings.Contains(err.Error(), \"get volume privateKey ID\") {\n\t// transient/internal: retry once, then upgrade SDK/engine and report\n}","preventionTips":["Keep Dagger CLI, SDK, and engine versions aligned.","Pre-serialize secret IDs to catch issues early.","Retry transient failures.","Report persistent ID() failures upstream."],"tags":["dagger","secret","internal"],"backgroundTag":"secret-id-serialization-failed","analyzedSha":"82ba2681dbe30d3547a1dc50ea495900ab5b6047","analyzedAt":"2026-09-05T07:21:37.930Z","contentChangedAt":"2026-09-05T07:21:37.930Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}