You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Shelly library buffers stdout (and presumably stderr) to memory by default. If the buffer gets too large the OOMKiller will kill the entire thing.
Can be reproduced with the following Ruby code: loop { puts 1 }
Untested, but can presumably also be reproduced with: loop { warn 1 }
The easiest way to fix this would be to buffer to disk.
It would probably also be a good idea to set a fairly high buffer limit (a few megabytes, possibly?) to avoid excessive disk usage, but that can be pulled out into a separate issue if necessary.
The Shelly library buffers stdout (and presumably stderr) to memory by default. If the buffer gets too large the OOMKiller will kill the entire thing.
Can be reproduced with the following Ruby code:
loop { puts 1 }Untested, but can presumably also be reproduced with:
loop { warn 1 }The easiest way to fix this would be to buffer to disk.
It would probably also be a good idea to set a fairly high buffer limit (a few megabytes, possibly?) to avoid excessive disk usage, but that can be pulled out into a separate issue if necessary.
The
runHandlesfunction may be useful in resolving this: https://hackage.haskell.org/package/shelly-1.6.1.2/docs/Shelly.html#g:3