{"record":{"id":"4548d5ea9d3ae012","repo":"dagger/dagger","slug":"dependent-service-exited","errorCode":null,"errorMessage":"dependent service exited","messagePattern":"dependent service exited","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/service.go","lineNumber":985,"sourceCode":"\t\t\tsig = syscall.SIGKILL\n\t\t}\n\t\terr := signalSvc(ctx, sig)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\tslog.Info(\"service stop interrupted\", \"err\", ctx.Err())\n\t\t\treturn ctx.Err()\n\t\tcase <-exited:\n\t\t\tslog.Info(\"service exited in stop\", \"err\", exitErr)\n\t\t\treturn nil\n\t\t}\n\t}\n\n\tstopDueToDependencyExit := func(depErr error) error {\n\t\tif depErr == nil {\n\t\t\tdepErr = fmt.Errorf(\"dependent service exited\")\n\t\t}\n\t\tsetServiceErr(depErr)\n\t\tif err := stopSvc(context.Background(), true); err != nil {\n\t\t\treturn errors.Join(depErr, err)\n\t\t}\n\t\treturn depErr\n\t}\n\n\t// If a dependency exits while exit propagation is suppressed (e.g. during a\n\t// service terminal), remember it and stop this service when suppression lifts.\n\tvar pendingDependencyErr error\n\tvar havePendingDependencyErr bool\n\tdeferDependencyExitIfSuppressed := func(depErr error) bool {\n\t\tif !running.isDependencyExitPropagationSuppressed() {\n\t\t\treturn false\n\t\t}\n\t\tpendingDependencyErr = depErr\n\t\thavePendingDependencyErr = true","sourceCodeStart":967,"sourceCodeEnd":1003,"githubUrl":"https://github.com/dagger/dagger/blob/82ba2681dbe30d3547a1dc50ea495900ab5b6047/core/service.go#L967-L1003","documentation":"Sentinel error used by stopDueToDependencyExit when a service's dependency exits without a specific error: the service is deliberately stopped because something it depends on went away, and the stop is attributed to this cause via setServiceErr.","triggerScenarios":"Thrown at core/service.go:985 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Investigate why the upstream dependent service exited","Check dependent service logs for its own exit cause","Restart the service graph once dependencies are healthy"],"exampleFix":null,"handlingStrategy":"fallback","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"}