deepseek-ai/deepseek-harness · error · Error
subprocess-e2b: invalid process group ${JSON.stringify(raw)}
Error message
subprocess-e2b: invalid process group ${JSON.stringify(raw)} in terminal session ${sessionId} What it means
Error "subprocess-e2b: invalid process group ${JSON.stringify(raw)} in terminal session ${sessionId}" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/e2b/subprocess-e2b/src/terminal.ts:124
const onExit = (): void => {
finish(() => { reject(new Error('subprocess-e2b: terminal exited before publishing its output boundary')) })
}
if (signal !== undefined) {
const onAbort = (): void => {
finish(() => { reject(asError(signal.reason)) })
}
signal.addEventListener('abort', onAbort, { once: true })
removeAbort = () => { signal.removeEventListener('abort', onAbort) }
}
void ready.then(() => { finish(resolve) })
void completion.then(onExit, onExit)
})
}
function parsePositiveId(value: string, message: string): number {
const raw = value.trim()
const id = Number(raw)
if (!/^[1-9][0-9]*$/.test(raw) || !Number.isSafeInteger(id)) throw new Error(message)
return id
}
function serializeValues(values: readonly string[], kind: string): string {
for (const value of values) {
if (value.includes('\0')) throw new Error(`subprocess-e2b: terminal ${kind} must not contain NUL bytes`)
}
return values.map(value => `${value}\0`).join('')
}
async function terminalSessionId(
sandbox: Sandbox,
pid: number,
envs: Record<string, string>,
signal?: AbortSignal,
): Promise<number> {
const result = await sandbox.commands.run(`ps -o sid= -p ${pid}`, commandOpts(envs, signal))
signal?.throwIfAborted()View on GitHub (pinned to b150a551b8)
When it happens
Trigger: Thrown at packages/e2b/subprocess-e2b/src/terminal.ts:124 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/d3bcdce617101402.
Report an issue: GitHub.