Closed md5 closed 10 years ago
plugins » rubymetrics-plugin #1 SUCCESS This pull request looks good
Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests
Closing this PR for the moment. I did a better analysis of the heap dump and realized that these leaked Strings are only a small part of the problem. I'm going to submit another PR that changes the sourceCode field on RcovFileResult to be a weak reference and to be lazily loaded. That should address the bulk of the actual heap usage issues.
We've had some Jenkins crashes lately caused by OOME. After enabling heap dumps, I saw that a large proportion of the retained heap was large HTML strings attached to org.htmlparser.* classes. I spent quite some time today trying to track down where the references were coming from without success, so this is a blind fix that ensures that all Strings copied into the Rcov*Result objects have properly sized backing arrays.
If you aren't comfortable applying this patch, I can try to spend some more time understanding exactly how these strings are being retained.