You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jeff Jensen (JIRA)" <ji...@codehaus.org> on 2010/12/13 22:53:58 UTC

[jira] Commented: (SUREFIRE-495) OutOfMemory Exception

    [ http://jira.codehaus.org/browse/SUREFIRE-495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=247494#action_247494 ] 

Jeff Jensen commented on SUREFIRE-495:
--------------------------------------

Wonderful!  Can't wait for 2.7... :-)  Thank you!

> OutOfMemory Exception 
> ----------------------
>
>                 Key: SUREFIRE-495
>                 URL: http://jira.codehaus.org/browse/SUREFIRE-495
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Surefire Plugin
>    Affects Versions: 2.4.2
>         Environment: VMWare with Suse Linux 32bit,
> Surfire Plugin with Maven2 and TestNG
>            Reporter: Andre
>            Assignee: Kristian Rosenvold
>            Priority: Critical
>             Fix For: 2.7
>
>         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