dagger/dagger · error

service stop called

Error message

service stop called

What it means

Sentinel error used as the deliberate cancellation cause when the tunnel's Stop is invoked: shutdown(stopErr) cancels svcCtx, and Wait distinguishes an intentional stop from a crash by checking errors.Is(cause, stopErr). It is a control-flow marker, not an operational failure.

Source

Thrown at core/service.go:1203

	if err != nil {
		return err
	}
	svcs, err := query.Services(ctx)
	if err != nil {
		return fmt.Errorf("failed to get services: %w", err)
	}
	bk, err := query.Engine(ctx)
	if err != nil {
		return fmt.Errorf("failed to get engine client: %w", err)
	}

	upstream, err := svcs.StartResult(svcCtx, svc.TunnelUpstream, svc.TunnelUpstream.Self().TunnelUpstream.Self() != nil)
	if err != nil {
		return fmt.Errorf("start upstream: %w", err)
	}
	const bindHost = "0.0.0.0"
	const dialHost = "127.0.0.1"
	stopErr := errors.New("service stop called")
	upstreamExitedErr := errors.New("upstream exited")

	closers := make([]func() error, len(svc.TunnelPorts))
	ports := make([]Port, len(svc.TunnelPorts))

	for i, forward := range svc.TunnelPorts {
		var frontend int
		if forward.Frontend != nil {
			frontend = *forward.Frontend
		} else {
			frontend = 0 // allow OS to choose
		}
		res, closeListener, err := bk.ListenHostToContainer(
			svcCtx,
			fmt.Sprintf("%s:%d", bindHost, frontend),
			forward.Protocol.Network(),
			fmt.Sprintf("%s:%d", upstream.Host, forward.Backend),
		)

View on GitHub (pinned to 82ba2681db)

Solutions

  1. No action needed — this indicates an intentional Stop, and Wait returns nil for it
  2. If seen unexpectedly, audit callers of running.Stop for premature shutdowns
  3. Check that application shutdown ordering is intentional
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at core/service.go:1203 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/85c710d1922e1839. Report an issue: GitHub.