[ https://jira.codehaus.org/browse/SUREFIRE-1147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=364839#comment-364839 ]
Laurent Claisse commented on SUREFIRE-1147: ------------------------------------------- I think restructuring the tests is not the right approach, it is feasible in my case only because my project is a toy project. It's not possible when you have complex setup/teardown logic. Also i found many people report memory leaks on stackoverflow, even if they probably run less tests. Then you find closed issues and you wonder what's wrong with your configuration. Finally when reports are off they should really be off. > Huge memory leak noticeable when running MANY tests > --------------------------------------------------- > > Key: SUREFIRE-1147 > URL: https://jira.codehaus.org/browse/SUREFIRE-1147 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Surefire Plugin > Affects Versions: 2.18.1 > Environment: win7, jdk 8u25, mvn 3.2.5 > Reporter: Laurent Claisse > Attachments: surefire-allocation-traces.png, surefire-leak2.png, > surefire-leak3.png, surefire-leak.png > > > I'm writing concurrency tests, checking that this thing is reproducible, that > other thing isn't, and so on. So i repeat tests MANY times like 100_000 (to > reproduce the leak, the test project is here: > https://github.com/vandekeiser/parallel-stream-fork-join-pool) > I see in VisualVM that the culprit is WrappedReportEntry, which indirectly > holds references to lots of byte[] and char[] (allocation traces and heap > dump pics are included in attachment) > I forked and patched maven-surefire-common, and that makes the leak go. I had > to replace WrappedReportEntry.original by a singleton fake ReportEntry. > Bebefore that i had replaced > Utf8RecodingDeferredFileOutputStream.deferredFileOutputStream by a > NullOutputStream and the leak was lesser but still here. > My fork of maven-surefire-common is there: > https://github.com/vandekeiser/maven-surefire/tree/master/maven-surefire-common. > It IS a patch so i checked the patch checkbox in the issue reporter, but it > is NOT intended to be distributed of course since it is very brutal and basic. > Also in my test project i explicitly deactivated reporting, but that doesn't > make the reporting leak go away at all: > <disableXmlReport>true</disableXmlReport> > <printSummary>false</printSummary> -- This message was sent by Atlassian JIRA (v6.1.6#6162)