maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andre (JIRA)" <j...@codehaus.org>
Subject [jira] Created: (SUREFIRE-495) OutOfMemory Exception
Date Thu, 08 May 2008 12:28:27 GMT
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

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

       

Mime
View raw message