dagger/dagger · error
missing result call frame for shared result %d
Error message
missing result call frame for shared result %d
What it means
Returned by ResultCall.refCall when a ref's ResultID was found in the cache map but the entry has no result-call frame attached. The shared result exists (e.g. loaded from persistence) yet its call metadata was never recorded, so the ref cannot be expanded into a callable frame.
Source
Thrown at dagql/result_call_frame.go:680
return frame.refCall(c, frame.Receiver)
}
func (frame *ResultCall) refCall(c *Cache, ref *ResultCallRef) (*ResultCall, error) {
if err := ref.Validate(); err != nil {
return nil, err
}
if ref.Call != nil {
return ref.Call, nil
}
if target := ref.loadSharedCall(); target != nil {
return target, nil
}
if c == nil {
return nil, fmt.Errorf("cannot resolve result ref %d without cache", ref.ResultID)
}
target := c.resultCallByResultID(sharedResultID(ref.ResultID))
if target == nil {
return nil, fmt.Errorf("missing result call frame for shared result %d", ref.ResultID)
}
return target, nil
}
func (frame *ResultCall) recipeDigestWithVisiting(c *Cache, visiting map[sharedResultID]struct{}) (digest.Digest, error) {
if frame == nil {
return "", nil
}
frame.recipeDigestOnce.Do(func() {
field, err := resultCallIdentityField(frame)
if err != nil {
frame.recipeDigestErr = err
return
}
if frame.Type == nil {
frame.recipeDigestErr = fmt.Errorf("missing call type")
returnView on GitHub (pinned to 82ba2681db)
Solutions
- Ensure the shared result was created via a dagql call so loadResultCall returns a frame
- Re-run the original call to re-attach a call frame to the shared result
- Check persistence/restore paths that load results without their call frames
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at dagql/result_call_frame.go:680 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/5c6ab06fb8ce5d5e.
Report an issue: GitHub.