[ 
http://jira.codehaus.org/browse/SUREFIRE-711?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kristian Rosenvold closed SUREFIRE-711.
---------------------------------------

    Resolution: Fixed

Take 2 is out in r1077870, updated 2.8-SNAPSHOT deployed.

The *interesting* thing about your error report is that it basically describes 
2 different problems. One is that you're describing a possible difference 
between 2.6 and 2.7.X in terms of classloading and unloading within the actual 
surefire plugin performin directory scanning. 

The *other* issue is the stacktrace you're including, where the recursive 
TeeStream invocation shows another (different) incarnation of SUREFIRE-495, 
this time not between the individual tests classes of a single surefire run but 
between the modules in the reactor. This leak should be much smaller than 
SUREFIRE-495, but may still be fairly large - especially for a large reactor 
like yours.

I suspect it's the second of the two that's causing the misery here, and this 
is the issue I have fixed now. I am closing this issue as fixed again, feel 
free to reopen if necessary. And if you don't mind, please see if the 
class-loading/unloading difference between 2.6->2.8-SNAPSHOT is still present 
and upload the nice graphs, even it if doesn't cause your build to fail.

> OutOfMemoryError while building multi module projects
> -----------------------------------------------------
>
>                 Key: SUREFIRE-711
>                 URL: http://jira.codehaus.org/browse/SUREFIRE-711
>             Project: Maven Surefire
>          Issue Type: Bug
>    Affects Versions: 2.7.2
>         Environment: Win 7 32bit
>            Reporter: Christian Moser
>            Assignee: Kristian Rosenvold
>            Priority: Critical
>             Fix For: 2.8
>
>         Attachments: surefire-log.zip, surefire2-6-0.JPG, surefire2-7-2.JPG, 
> surefire2-8-SNAPSHOT.JPG
>
>
> We're getting out of memory errors since we've updated to surefire 2.7.2 from 
> 2.6.
> Please check the attached jvisualvm pics they show the same build execution 
> with 2.6 and 2.7.2. The attached "log.txt" and "log -X.txt" might also be 
> interesting.
> it seems like 2.7.2 is not unloading classes after processing.
> We found out that if we skip tests with -DskipTests=true, the exception won't 
> occur.
> The build consists of several multi module projects.
>     <modules>
>               <module>..\..\BaseSys\trunk</module> (multimodule)
>               <module>..\..\MagIC\trunk</module> (multimodule)
>               <module>..\..\StabNet\trunk</module> (multimodule)
>               <module>..\..\tiamo\trunk</module> (multimodule)
>               <module>..\..\TiBase\trunk</module> (multimodule)
>               <module>..\..\VIVA\trunk</module> (multimodule)
>     </modules>
>  
> [ERROR] Java heap space -> [Help 1]---------------------------Exception in 
> thread "main" jav
> lang.OutOfMemoryError: Java heap space
>         at java.util.Arrays.copyOf(Arrays.java:2786)
>         at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:44)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)
>         at java.io.PrintStream.write(PrintStream.java:430)
>         at org.apache.maven.surefire.util.TeeStream.write(TeeStream.java:42)

-- 
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

        

Reply via email to