You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Emilian Bold (JIRA)" <ji...@codehaus.org> on 2009/11/11 10:14:55 UTC
[jira] Created: (SUREFIRE-581) ReporterManager causes
OutOfMemoryException
ReporterManager causes OutOfMemoryException
-------------------------------------------
Key: SUREFIRE-581
URL: http://jira.codehaus.org/browse/SUREFIRE-581
Project: Maven Surefire
Issue Type: Bug
Components: plugin
Affects Versions: 2.4.3
Environment: Linux,JDK 1.6.0.07, surefire 2.4.2
OSX, JSK 1.5/1.5, surefire 2.4.2, 2.4.3
Reporter: Emilian Bold
Priority: Critical
I have some unit tests that indirectly generate a lot of output to stdout/stderr. What I have been noticing on the build server is that a lot of these tests die with OutOfMemory errors.
After profiling the testcase locally, it seems the cause isn't my own code, but the Maven runtime.
Specifically, the org.apache.maven.surefire.report.ReporterManager class seems to like holding the entire output *in RAM* via the variables:
private ByteArrayOutputStream stdOut;
private ByteArrayOutputStream stdErr;
The actual contents of these seem to be disregarded unless the test is failed, at which point you need the entire string, again, in RAM.
I wanted to provide a patch for this but I couldn't find a nice one as the design is a big unfortunate: org.apache.maven.surefire.report.Reporter expects a String for stdout/stderr -- perhaps a CharSequence would be nicer and we could have an adapter over a temporary file insted of a ByteArrayOutputStream.
--
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
[jira] Closed: (SUREFIRE-581) ReporterManager causes
OutOfMemoryException
Posted by "Kristian Rosenvold (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/SUREFIRE-581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Rosenvold closed SUREFIRE-581.
---------------------------------------
Resolution: Duplicate
> ReporterManager causes OutOfMemoryException
> -------------------------------------------
>
> Key: SUREFIRE-581
> URL: http://jira.codehaus.org/browse/SUREFIRE-581
> Project: Maven Surefire
> Issue Type: Bug
> Components: Maven Surefire Plugin
> Affects Versions: 2.4.3
> Environment: Linux,JDK 1.6.0.07, surefire 2.4.2
> OSX, JSK 1.5/1.5, surefire 2.4.2, 2.4.3
> Reporter: Emilian Bold
> Priority: Critical
>
> I have some unit tests that indirectly generate a lot of output to stdout/stderr. What I have been noticing on the build server is that a lot of these tests die with OutOfMemory errors.
> After profiling the testcase locally, it seems the cause isn't my own code, but the Maven runtime.
> Specifically, the org.apache.maven.surefire.report.ReporterManager class seems to like holding the entire output *in RAM* via the variables:
> private ByteArrayOutputStream stdOut;
> private ByteArrayOutputStream stdErr;
> The actual contents of these seem to be disregarded unless the test is failed, at which point you need the entire string, again, in RAM.
> I wanted to provide a patch for this but I couldn't find a nice one as the design is a big unfortunate: org.apache.maven.surefire.report.Reporter expects a String for stdout/stderr -- perhaps a CharSequence would be nicer and we could have an adapter over a temporary file insted of a ByteArrayOutputStream.
--
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