[ http://jira.codehaus.org/browse/SUREFIRE-495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andre updated SUREFIRE-495: --------------------------- Attachment: space wtih surfireplugin.jpg > OutOfMemory Exception > ---------------------- > > Key: SUREFIRE-495 > URL: http://jira.codehaus.org/browse/SUREFIRE-495 > Project: Maven Surefire > Issue Type: Bug > Components: plugin > Affects Versions: 2.4.2 > Environment: VMWare with Suse Linux 32bit, > Surfire Plugin with Maven2 and TestNG > Reporter: Andre > Priority: Critical > Attachments: bugreport.zip, space wtih surfireplugin.jpg > > > Hello, > when we run testNG Tests in Parallel Mode, we become a OutOfMemory Exception > from the jvm. > Surfire safe the log information as a lot of byte-Arrays, and dosn't destroy > this, so we run into a memmoryleak. > in a example stackdump we bekomme ~1500 > 'org.apache.maven.surefire.util.TeeStream' objects whitch have ~500MB > retained size. > We have found the Problem in the log handling from surfire, when surfire > sends the output into StreamArrays. > surfire plugin-call in pom.xml: > ... > <plugin> > <artifactId>maven-surefire-plugin</artifactId> > <configuration> > <forkMode>once</forkMode> > <systemProperties> > <catalina.base>.</catalina.base> > </systemProperties> > <testFailureIgnore> > ${sdit.testFailureIgnore} > </testFailureIgnore> > <suiteXmlFiles> > <suiteXmlFile>${sdit.testSuite}</suiteXmlFile> > </suiteXmlFiles> > <argLine>-Xmx1000M</argLine> > </configuration> > <version>2.4.2</version> > </plugin> > ... > In Attachment I give you the jesult from JConsole (with surfire and without > surfire) ans Eclipse Memory Analyzer > ------------------------------------------------------------------------------------ > The bugreport in german: > Wir haben das Problem, dass der Speicherverbrauch der JVM wenn wir testng > tests mit dem surfire-plugin aus maven2 aufrufen nahezu linear ansteigt. Wir > machen Performencemessungen bei denen wir testng tests mit unterschiedlicher > anzahl threads ausführen lassen. > Nach längerer Suche konnten wir das Problem in > org.apache.maven.surefire.util.TeeStream entdecken. Die logausgeben welche > normalerweise auf die Konsole ausgegeben werden werden vom surfireplugin in > byteArrays geschrieben, welche nicht mehr freigegeben werden. > In unserem Beispiel hatten wir ~1500 TeeStream Objekte welche ~500MB Speicher > nutzen. > Scheinbar ist surfire nicht 100% Threadsafe und hat an diese Stelle ein > Speicherleak. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira