dagger/dagger · error
encode persisted address: nil address
Error message
encode persisted address: nil address
What it means
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.
Source
Thrown at core/address.go:34
var _ dagql.PersistedObject = (*Address)(nil)
var _ dagql.PersistedObjectDecoder = (*Address)(nil)
func (*Address) Type() *ast.Type {
return &ast.Type{
NamedType: "Address",
NonNull: true,
}
}
func (*Address) TypeDescription() string {
return `A standardized address to load containers, directories, secrets, and other object types. Address format depends on the type, and is validated at type selection.`
}
func (addr *Address) EncodePersistedObject(ctx context.Context, cache dagql.PersistedObjectCache) (dagql.PersistedObjectEncoding, error) {
_ = ctx
_ = cache
if addr == nil {
return dagql.PersistedObjectEncoding{}, fmt.Errorf("encode persisted address: nil address")
}
return encodePersistedObjectPayload(addr)
}
func (*Address) DecodePersistedObject(ctx context.Context, dag *dagql.Server, _ uint64, _ *dagql.ResultCall, payload json.RawMessage) (dagql.Typed, error) {
_ = ctx
_ = dag
var addr Address
if err := json.Unmarshal(payload, &addr); err != nil {
return nil, fmt.Errorf("decode persisted address payload: %w", err)
}
return &addr, nil
}
View on GitHub (pinned to 82ba2681db)
Solutions
- Investigate why a nil *Address reached persistence (likely an engine/core bug)
- Ensure Address results are constructed before being returned via dagql
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at core/address.go:34 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of dagger/dagger@82ba2681db (2026-09-05).
Data as JSON: /api/errors/2f5480f7b790238a.
Report an issue: GitHub.