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")
			return

View on GitHub (pinned to 82ba2681db)

Solutions

  1. Ensure the shared result was created via a dagql call so loadResultCall returns a frame
  2. Re-run the original call to re-attach a call frame to the shared result
  3. 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.