{"record":{"id":"cb9c563c5236c991","repo":"deepseek-ai/deepseek-harness","slug":"subprocess-e2b-service-disposed-during-terminal-s","errorCode":null,"errorMessage":"subprocess-e2b: service disposed during terminal setup","messagePattern":"subprocess-e2b: service disposed during terminal setup","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/e2b/subprocess-e2b/src/index.ts","lineNumber":191,"sourceCode":"    const done = Promise.withResolvers<void>()\n    const setup: TerminalSetup = { done: done.promise, controller: new AbortController() }\n    const setupSignal = spec.signal === undefined\n      ? setup.controller.signal\n      : AbortSignal.any([spec.signal, setup.controller.signal])\n    this.terminalSetups.add(setup)\n    try {\n      const terminal = await spawnE2BTerminal(\n        this.ctx.e2b,\n        { ...spec, signal: setupSignal },\n        stateDir,\n        this.pollMs,\n      )\n      this.terminals.add(terminal)\n      // oxlint-disable-next-line typescript/no-unnecessary-condition -- Remote allocation yields to disposal.\n      if (this.disposing) {\n        await terminal.terminate()\n        this.terminals.delete(terminal)\n        throw new Error('subprocess-e2b: service disposed during terminal setup')\n      }\n      const release = async (): Promise<void> => {\n        await terminal.terminate()\n        this.terminals.delete(terminal)\n      }\n      void terminal.done.then(release, release).catch((_automaticReleaseFailure: unknown) => {\n        // Retain the terminal so service disposal can retry its cleanup transaction.\n      })\n      return terminal\n    } finally {\n      this.terminalSetups.delete(setup)\n      done.resolve()\n    }\n  }\n}\n\nexport default E2BSubprocessRuntime\n","sourceCodeStart":173,"sourceCodeEnd":209,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/e2b/subprocess-e2b/src/index.ts#L173-L209","documentation":"Error \"subprocess-e2b: service disposed during terminal setup\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/e2b/subprocess-e2b/src/index.ts:191 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"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"}