{"record":{"id":"f92c46474fa30a19","repo":"diegosouzapw/OmniRoute","slug":"codex-finishstream-failed-to-close-controller","errorCode":null,"errorMessage":"[codex] finishStream: failed to close controller","messagePattern":"\\[codex\\] finishStream: failed to close controller","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"open-sse/executors/codex.ts","lineNumber":949,"sourceCode":"      if (closed) return;\n      closed = true;\n      removeAbortListener();\n      if (closeSocket) closeUpstream(reason);\n\n      const controller = streamController;\n      if (!controller || !closeController) return;\n      if (emitDone) {\n        try {\n          controller.enqueue(encoder.encode(\"data: [DONE]\\n\\n\"));\n        } catch {\n          console.warn(\"[codex] finishStream: failed to enqueue [DONE]\");\n          // The downstream may already have gone away.\n        }\n      }\n      try {\n        controller.close();\n      } catch {\n        console.warn(\"[codex] finishStream: failed to close controller\");\n        // The controller may already be closed.\n      }\n    };\n\n    const failController = (code: string, message: string) => {\n      if (closed) return;\n      const controller = streamController;\n      const payload = JSON.stringify({\n        type: \"response.failed\",\n        response: {\n          id: null,\n          status: \"failed\",\n          error: { code, message },\n        },\n      });\n      try {\n        controller?.enqueue(encoder.encode(`event: response.failed\\ndata: ${payload}\\n\\n`));\n      } catch {","sourceCodeStart":931,"sourceCodeEnd":967,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/open-sse/executors/codex.ts#L931-L967","documentation":"Error \"[codex] finishStream: failed to close controller\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at open-sse/executors/codex.ts:949 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":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}