What happened?
Running pi in RPC mode (--mode rpc), driven by a parent process that reads
pi's stdout over a JSONL protocol. During a long turn that streamed a large
volume of output, the pi process exited non-zero with this on stderr:
node:events:487
throw er; // Unhandled 'error' event
^
Error: write ENOBUFS
at afterWriteDispatched (node:internal/stream_base_commons:159:15)
at writevGeneric (node:internal/stream_base_commons:142:3)
at Socket._writeGeneric (node:net:1023:11)
at Socket._writev (node:net:1032:8)
at doWrite (node:internal/streams/writable:594:12)
at clearBuffer (node:internal/streams/writable:773:5)
at onwrite (node:internal/streams/writable:651:7)
at WritableState.onwrite [as callback] (node:internal/streams/writable:350:26)
at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:105:10)
Emitted 'error' event on Socket instance at:
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
errno: -105,
code: 'ENOBUFS',
syscall: 'write'
}
Node.js v24.15.0
Environment
- pi 0.75.2, Node v24.15.0
- Linux sandbox (gVisor)
- The parent process drains pi's stdout; the failing turn produced a high
volume of streamed output.
Steps to reproduce
Observed in production; not deterministically reproducible. It occurred during
a long turn emitting a high volume of streamed output to stdout while the
parent was draining it.
What happened?
Running pi in RPC mode (
--mode rpc), driven by a parent process that readspi's stdout over a JSONL protocol. During a long turn that streamed a large
volume of output, the pi process exited non-zero with this on stderr:
Environment
volume of streamed output.
Steps to reproduce
Observed in production; not deterministically reproducible. It occurred during
a long turn emitting a high volume of streamed output to stdout while the
parent was draining it.