Siad process crashes after feasting on system RAM
BUG REPORT
There appears to be a memory leak around '/renter/download' with 'httpresp=true'. I use around 4-6 threads at different offsets for range-based reads. We noticed memory increases the same amount as the size of the file being downloaded. Dun dun duuuun.... but is never released. This continues until the siad
process crashes.
Stack Trace or error message
I can create a profile if needed. I believe it's just a matter of passing --profile cmt
to siad
.
Expected Behavior
siad
must be fair when consuming system memory. It is imperative that it takes into account the needs of other processes in a shared environment. Secondarily, it must preserve itself as well as effectively interact with those dependent upon it.
Observed Behavior
siad
exhibits bullying behavior when consuming system memory. I'm confident an appropriate level of nurture and care can turn this process around.
How to reproduce it (as minimally and precisely as possible)
Create a fully functional FUSE application in a language nobody seems to like and often criticizes you for (even though you're really just trying to experience a tiny bit of enjoyment in life) that utilizes the '/renter/download' endpoint with 'httpresp=true' to download 4+gb files in 4-8mib chunks.
Environment
- Sia version: 1.5.3
- OS: Ubuntu 18.04, Solus Linux