{"record":{"id":"f9dcf051611b577e","repo":"paperclipai/paperclip","slug":"label-exited-via-result-signal-stderr-trim","errorCode":null,"errorMessage":"${label} exited via ${result.signal}${stderr.trim() ? `: ${stderr.trim()}` : \"\"}","messagePattern":"(.+?) exited via (.+?)(.+?)` : \"\"\\}","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/db/src/backup-lib.ts","lineNumber":313,"sourceCode":"function appendCapturedStderr(previous: string, chunk: Buffer | string): string {\n  const next = previous + (Buffer.isBuffer(chunk) ? chunk.toString(\"utf8\") : chunk);\n  if (Buffer.byteLength(next, \"utf8\") <= BACKUP_CLI_STDERR_BYTES) return next;\n  return Buffer.from(next, \"utf8\").subarray(-BACKUP_CLI_STDERR_BYTES).toString(\"utf8\");\n}\n\nasync function waitForChildExit(child: ReturnType<typeof spawn>, label: string): Promise<void> {\n  let stderr = \"\";\n  child.stderr?.on(\"data\", (chunk) => {\n    stderr = appendCapturedStderr(stderr, chunk);\n  });\n\n  const result = await new Promise<{ code: number | null; signal: NodeJS.Signals | null }>((resolve, reject) => {\n    child.once(\"error\", reject);\n    child.once(\"exit\", (code, signal) => resolve({ code, signal }));\n  });\n\n  if (result.signal) {\n    throw new Error(`${label} exited via ${result.signal}${stderr.trim() ? `: ${stderr.trim()}` : \"\"}`);\n  }\n  if (result.code !== 0) {\n    throw new Error(`${label} failed with exit code ${result.code ?? \"unknown\"}${stderr.trim() ? `: ${stderr.trim()}` : \"\"}`);\n  }\n}\n\nasync function runPgDumpBackup(opts: {\n  connectionString: string;\n  backupFile: string;\n  connectTimeout: number;\n}): Promise<void> {\n  const pgDumpBin = process.env.PAPERCLIP_PG_DUMP_PATH || \"pg_dump\";\n  const child = spawn(\n    pgDumpBin,\n    [\n      `--dbname=${opts.connectionString}`,\n      \"--format=plain\",\n      \"--clean\",","sourceCodeStart":295,"sourceCodeEnd":331,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/db/src/backup-lib.ts#L295-L331","documentation":"Error \"${label} exited via ${result.signal}${stderr.trim() ? `: ${stderr.trim()}` : \"\"}\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/db/src/backup-lib.ts:313 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the signal and stderr in the error and fix the cause, then retry.","Check for OOM kills or external termination of ${label}."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}