Issue is that the trace.write calls like this one:
https://github.com/wasm3/wasm-trace/blob/8f1aa89e811e221a83a89a6de806599d8df6f0cd/wasm-trace.js#L283
return false after a while and the whole output gets buffered. Eventually, node runs out of memory.
Node's memory can be increased with --max-old-space-size= but I've encountered situations where any size increase is eventually not enough.
As a solution, wasm-trace can wait for 'drain' events or can use a synchronised API like fs.writeSync.
Issue is that the
trace.writecalls like this one:https://github.com/wasm3/wasm-trace/blob/8f1aa89e811e221a83a89a6de806599d8df6f0cd/wasm-trace.js#L283
return
falseafter a while and the whole output gets buffered. Eventually, node runs out of memory.Node's memory can be increased with
--max-old-space-size=but I've encountered situations where any size increase is eventually not enough.As a solution,
wasm-tracecan wait for 'drain' events or can use a synchronised API likefs.writeSync.