{"record":{"id":"b2072535c303fe10","repo":"deepseek-ai/deepseek-harness","slug":"subprocess-gracems-must-be-a-positive-finite-numbe-b20725","errorCode":null,"errorMessage":"subprocess graceMs must be a positive finite number no greater than ${MAX_TIMER_DELAY_MS}","messagePattern":"subprocess graceMs must be a positive finite number no greater than (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/subprocess/subprocess-local/src/spawn.ts","lineNumber":328,"sourceCode":"    } catch {\n      // The direct child already exited; teardown remains idempotent.\n    }\n    /* v8 ignore stop */\n  }\n}\n\n/**\n * Spawn one isolated detached process tree with the spec's per-stream stdio\n * dispositions. Runtime exits resolve `done` as {@link SubprocessOutcome};\n * only spawn failures reject.\n * @param spec - fully resolved argv, cwd, stdio, grace, cancellation, environment.\n * @param internals - test-only spill-directory, platform, and taskkill overrides.\n * @returns live subprocess handle.\n * @throws when `graceMs` cannot be represented by one Node timer.\n */\nexport function spawnSubprocess(spec: SubprocessSpawnSpec, internals: SpawnInternals = {}): LocalSubprocessHandle {\n  if (!Number.isFinite(spec.graceMs) || spec.graceMs <= 0 || spec.graceMs > MAX_TIMER_DELAY_MS) {\n    throw new Error(`subprocess graceMs must be a positive finite number no greater than ${MAX_TIMER_DELAY_MS}`)\n  }\n  const spillDir = internals.spillDir ?? privateSpillDir()\n  const platform = internals.platform ?? process.platform\n  const taskkill = internals.taskkill ?? taskkillProcessTree\n  const linuxGroupHasLiveMembers = internals.linuxProcessGroupHasLiveMembers ?? linuxProcessGroupHasLiveMembers\n\n  if (spec.signal?.aborted) {\n    throw new Error(`aborted before spawn: ${String(spec.signal.reason ?? 'aborted')}`)\n  }\n  const [program, ...args] = spec.argv\n  if (program === undefined || program.length === 0) {\n    throw new Error('invalid argv: expected a non-empty program name at argv[0]')\n  }\n\n  const isCollect = (mode: SubprocessOutputMode): mode is SubprocessCollect =>\n    mode !== 'pipe' && mode !== 'inherit'\n  const outMode = spec.stdio.stdout\n  const errMode = spec.stdio.stderr","sourceCodeStart":310,"sourceCodeEnd":346,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/subprocess/subprocess-local/src/spawn.ts#L310-L346","documentation":"Error \"subprocess graceMs must be a positive finite number no greater than ${MAX_TIMER_DELAY_MS}\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/subprocess/subprocess-local/src/spawn.ts:328 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass graceMs as a positive finite number within the maximum timer delay."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}