{"record":{"id":"2f5480f7b790238a","repo":"dagger/dagger","slug":"encode-persisted-address-nil-address","errorCode":null,"errorMessage":"encode persisted address: nil address","messagePattern":"encode persisted address: nil address","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/address.go","lineNumber":34,"sourceCode":"var _ dagql.PersistedObject = (*Address)(nil)\nvar _ dagql.PersistedObjectDecoder = (*Address)(nil)\n\nfunc (*Address) Type() *ast.Type {\n\treturn &ast.Type{\n\t\tNamedType: \"Address\",\n\t\tNonNull:   true,\n\t}\n}\n\nfunc (*Address) TypeDescription() string {\n\treturn `A standardized address to load containers, directories, secrets, and other object types. Address format depends on the type, and is validated at type selection.`\n}\n\nfunc (addr *Address) EncodePersistedObject(ctx context.Context, cache dagql.PersistedObjectCache) (dagql.PersistedObjectEncoding, error) {\n\t_ = ctx\n\t_ = cache\n\tif addr == nil {\n\t\treturn dagql.PersistedObjectEncoding{}, fmt.Errorf(\"encode persisted address: nil address\")\n\t}\n\treturn encodePersistedObjectPayload(addr)\n}\n\nfunc (*Address) DecodePersistedObject(ctx context.Context, dag *dagql.Server, _ uint64, _ *dagql.ResultCall, payload json.RawMessage) (dagql.Typed, error) {\n\t_ = ctx\n\t_ = dag\n\tvar addr Address\n\tif err := json.Unmarshal(payload, &addr); err != nil {\n\t\treturn nil, fmt.Errorf(\"decode persisted address payload: %w\", err)\n\t}\n\treturn &addr, nil\n}\n","sourceCodeStart":16,"sourceCodeEnd":48,"githubUrl":"https://github.com/dagger/dagger/blob/82ba2681dbe30d3547a1dc50ea495900ab5b6047/core/address.go#L16-L48","documentation":"Sentinel-style guard in Address.EncodePersistedObject: the receiver Address pointer is nil, so there is no address data to encode into a persisted object ID. Fires on an internal state bug — persisted objects should never be nil when encoded.","triggerScenarios":"Thrown at core/address.go:34 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Investigate why a nil *Address reached persistence (likely an engine/core bug)","Ensure Address results are constructed before being returned via dagql"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}