Closed avsm closed 9 years ago
was there any network traffic involved? how much memory did the virtual machine have (is there an easy and fast way to reproduce?)
BTW, are there any recommended tools too track down leaks in unikernels?
I don't have my Xen VM with me, so can't test out directly until the end of the week.
I did swap OS
from mirage-xen
with the one from mirage-unix
, though, and attaching the entropy harvesting in Entropy_xen
to it and feeding into Fortuna exhibits constant memory behavior in some seriously tight loops. There is a possibility that this is different on Xen, since the event loop is slightly different there, but my current hypothesis would be that something else is eating up the memory and that entropy is simply the first thing to hit an out-of-memory condition, being the first to run after a wakeup.
Both the entropy harvesting and the accumulator injection were written with reducing allocations in mind, and the code path is meant to cons up only a few small and short lived objects.
I might be wrong here, but I would suggest exploring what else has changed since the last time this setup was working.
closing this issue, there were leaks in TCP/IP and also in mirage-net-unix. Please reopen if there's evidence this is actually an issue in mirage-entropy.
Leaving an SSL unikernel overnight showed this in the console the next day. Is the RNG gathering trapping memory?