Prevent memory leak when using cache, fix leak test #2522
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains:
Are tests included?
Breaking Changes?
List any relevant issue numbers:
#2494 #1470
Description
Fixes #2494.
#2496 attempted to fix this, but did not appear to delete all problem references. This deletes the additional problem reference.
This can be (and has been) tested manually, in the following way:Currently, memory usage will continue to rise until the VM runs out of heap space and crashes. With this fix applied, the GC can do its thing and memory usage stays at an acceptable level.This test, proposed in #1470, would hopefully prevent this from happening again in the future, but I also don't know how to integrate the test here. Perhaps someone else will be able to.After more investigation, I realized that the aforementioned test is in fact implemented via
npm run test:leak
. However, the test usesbundle.cache
for the cache instead of justbundle
, causing the test to pass even though it should fail.I've updated the test, and confirmed that it fails before my change, and succeeds after.