{"record":{"id":"bfe736768a31142a","repo":"gatsbyjs/gatsby","slug":"11701","errorCode":"11701","errorMessage":"11701","messagePattern":"11701","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"packages/gatsby-cli/src/reporter/redux/diagnostics.ts","lineNumber":200,"sourceCode":"              )\n              displayingStuckStatusDiagnosticWarning = false\n              displayedStuckStatusDiagnosticWarning = true\n            },\n            stuckStatusDiagnosticTimeoutDelay\n          )\n        }\n      }\n\n      if (stuckStatusWatchdogTimeoutDelay) {\n        if (stuckStatusWatchdogTimer) {\n          clearTimeout(stuckStatusWatchdogTimer)\n          stuckStatusWatchdogTimer = null\n        }\n\n        if (currentStatus === ActivityStatuses.InProgress) {\n          stuckStatusWatchdogTimer = setTimeout(\n            function fatalStuckStatusHandler() {\n              reporter.panic({\n                id: `11701`,\n                context: {\n                  activities: inProgressActivities(),\n                  status: getStore().getState().logs.status,\n                  stuckStatusDiagnosticMessage:\n                    generateStuckStatusDiagnosticMessage(),\n                  stuckStatusWatchdogTimeoutDelay,\n                  additionalOutput: generateAdditionalOutput(),\n                },\n              })\n            },\n            stuckStatusWatchdogTimeoutDelay\n          )\n        }\n      }\n    }\n  }\n}","sourceCodeStart":182,"sourceCodeEnd":218,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/8b06340921ffdf23125a365b9c9923690cb62ce6/packages/gatsby-cli/src/reporter/redux/diagnostics.ts#L182-L218","documentation":"Structured error 11701 from the stuck-status watchdog middleware. When the reporter state stays in `ActivityStatuses.InProgress` for longer than the watchdog timeout (default 10 minutes, configurable via `GATSBY_WATCHDOG_STUCK_STATUS_TIMEOUT`), the `fatalStuckStatusHandler` fires and calls `report.panic` with the in-progress activities and diagnostic output. It is Gatsby's self-terminating guard against a build that has hung.","triggerScenarios":"A Gatsby build/develop enters `InProgress` and never transitions to idle/failed for longer than the watchdog delay. The watchdog timer (armed while status is InProgress) elapses and panics, surfacing which activities are stuck and for how long.","commonSituations":"A long-running query/source plugin that never completes; a worker process that died without the parent noticing; a deadlock in caching (e.g. LMDB lock); a plugin waiting on an external resource that never returns; very large builds that legitimately exceed the default timeout.","solutions":["Read the in-progress activities listed in the panic to identify which plugin/step is stuck.","Investigate the named plugin: check for network hangs, unbounded loops, or worker deaths.","If the build is legitimately large, raise the timeout: `GATSBY_WATCHDOG_STUCK_STATUS_TIMEOUT=<ms>` (e.g. `1800000` for 30 min).","Clear `.cache` and rerun; if reproducible, isolate the failing plugin by disabling plugins one by one."],"exampleFix":"# before: default 10-min watchdog trips on a large build\ngatsby build\n\n# after: raise the watchdog timeout for known-large builds\nGATSBY_WATCHDOG_STUCK_STATUS_TIMEOUT=1800000 gatsby build","handlingStrategy":"validation","validationCode":"// Size the watchdog to your build's expected worst case\nconst expectedMaxMs = 30 * 60 * 1000\nprocess.env.GATSBY_WATCHDOG_STUCK_STATUS_TIMEOUT = String(expectedMaxMs)","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Identify the stuck activity named in the panic and fix its plugin.","Raise `GATSBY_WATCHDOG_STUCK_STATUS_TIMEOUT` for legitimately long builds.","Watch for worker deaths, LMDB lock contention, and unbounded source plugins."],"tags":["reporter","watchdog","stuck-status","build","diagnostics","timeout"],"backgroundTag":null,"analyzedSha":"8b06340921ffdf23125a365b9c9923690cb62ce6","analyzedAt":"2026-08-13T02:36:21.405Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}