{"record":{"id":"cf712c873fcb6e56","repo":"abhigyanpatwari/GitNexus","slug":"conceptual-job-job-startindex-died-deaths-ti","errorCode":null,"errorMessage":"Conceptual job ${job.startIndex} died ${deaths} times unattributably; quarantining items[0] (${firstPath}) as best-guess culprit.","messagePattern":"Conceptual job (.+?) died (.+?) times unattributably; quarantining items\\[0\\] \\((.+?)\\) as best-guess culprit\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"gitnexus/src/core/ingestion/workers/worker-pool.ts","lineNumber":1718,"sourceCode":"      // (same `startIndex`), quarantine `items[0]` as a best-guess\n      // culprit so the next attempt isn't condemned to the same death.\n      // This bounds the unattributable-crash death loop and ensures the\n      // pool's final `quarantinedPaths` snapshot carries SOME signal\n      // for downstream diagnostics instead of silently re-hitting the\n      // bad file.\n      const requeueRemainder = (job: WorkerJob<TInput>, excluded: readonly string[]) => {\n        let effectiveExcluded = excluded;\n        if (excluded.length === 0) {\n          const deaths = (unattributedJobDeaths.get(job.startIndex) ?? 0) + 1;\n          unattributedJobDeaths.set(job.startIndex, deaths);\n          if (deaths < 2) {\n            jobs.unshift(job);\n            return;\n          }\n          const firstPath = itemPath(job.items[0]);\n          if (firstPath !== undefined) {\n            quarantine.add(firstPath);\n            logger.warn(\n              { startIndex: job.startIndex, firstPath, deaths },\n              `Conceptual job ${job.startIndex} died ${deaths} times unattributably; ` +\n                `quarantining items[0] (${firstPath}) as best-guess culprit.`,\n            );\n            effectiveExcluded = [firstPath];\n          } else {\n            // No identifiable file on items[0] either — drop the job to\n            // break the loop. The breaker counter still increments via\n            // handleWorkerDeath, so consecutive unattributable deaths\n            // eventually trip it even without quarantine signal.\n            logger.warn(\n              { startIndex: job.startIndex, deaths },\n              `Conceptual job ${job.startIndex} died ${deaths} times unattributably with ` +\n                `no identifiable file; dropping job to break the death loop.`,\n            );\n            return;\n          }\n        }","sourceCodeStart":1700,"sourceCodeEnd":1736,"githubUrl":"https://github.com/abhigyanpatwari/GitNexus/blob/0d1aed942f0e8b5d3bac27519fff441aceea722d/gitnexus/src/core/ingestion/workers/worker-pool.ts#L1700-L1736","documentation":"When a conceptual job dies without an attributable file (the death could not be pinned to an excluded path) for the second time, the pool takes a best-guess: it quarantines items[0]'s path — that file is excluded from this run's indexing — and requeues the job's remainder with that path excluded. The warn names the job's startIndex, the quarantined path, and the death count.","triggerScenarios":"requeueRemainder called with an empty exclusion list after the same job.startIndex accumulated 2+ unattributable worker deaths (crashes with no in-flight file attribution); quarantine.add(firstPath) fires and the warn is logged.","commonSituations":"Native parser crashes triggered by a specific file but occurring after the in-flight tracking lost attribution, OOM deaths in sub-batch boundaries, or repro-crash files inside large jobs — the quarantine converges the loop at the cost of skipping one file.","solutions":["Read the quarantined path from the warn and inspect that file for parser-hostile content (huge generated code, pathological nesting)","If the file is legit and needed, try to reduce its size/complexness or report it upstream as a parser crash repro","Re-run analyze after fixing/excluding the file — quarantine is per-run state, so the next run retries it fresh","Watch the quarantine snapshot surfaced in any WorkerPoolDispatchError to confirm the loop actually converged"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// Post-run: collect quarantined paths and act on them:\nconst quarantined = [...logText.matchAll(/quarantining items\\[0\\] \\((.+?)\\)/g)].map((m) => m[1]);\nif (quarantined.length > 0) {\n  writeLines('.gitnexusignore', quarantined); // or split/shrink each file\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Inspect any quarantined file for generated/pathological content before re-running","Remember quarantine is per-run: without a fix or ignore entry the same best-guess recurs","Keep WorkerPoolDispatchError's quarantine snapshot with your index logs — it is the converged culprit list"],"tags":["worker-pool","crash-recovery","quarantine","unattributable-death","parse-jobs"],"backgroundTag":"poison-pill-quarantine","analyzedSha":"0d1aed942f0e8b5d3bac27519fff441aceea722d","analyzedAt":"2026-08-20T23:29:22.980Z","contentChangedAt":"2026-08-20T23:29:22.980Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}