Closed Vampire closed 1 week ago
Oh, I see, thanks. But isn't the memory leak on retry still a problem? Or is it also fixed in the newer version?
There is a bit of bad recursion that can occur under error conditions. The original decision was to attempt the calls again because the API was unstable. However, some limiters should be put in place - if it keeps failing we should likely not keep trying again.
Well, that PR does not really solve the memory leak, it just limits the amount of retries, the memory leak persists. If there would not be a memory leak, at some point you would get a stack overflow error, so limiting the amount of retries might still be a good idea.
But maybe the memory leak itself should also be fixed? :-)
The only time you would hit the recursive calls to next()
is under error conditions. Not much I can do to fix the NVD API stability. By capping the number of recursive attempts the issue is effectively solved. If you want to submit a PR to remove the recursion that'd be swell.
Since the NVD API is having these problems right now, the dependency check Gradle task (version 9.1.0) fails with
OutOfMemoryError
s.It seems to me that those are caused by an endless recursion in this library, probably eating up more heap on each recursion: