You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Andreas Kohn (JIRA)" <ji...@apache.org> on 2016/06/03 09:42:59 UTC

[jira] [Commented] (MSOURCES-94) Heap space OOM

    [ https://issues.apache.org/jira/browse/MSOURCES-94?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15313911#comment-15313911 ] 

Andreas Kohn commented on MSOURCES-94:
--------------------------------------

I hit the same issue, and instead of manually patching tried to get maven to use plexus-archiver 3.3:

1. Find all plugins that depend on plexus-archiver:
{code}
$ mvn dependency:resolve-plugins | grep -E '(Plugin Resolved|Plugin Dependency Resolved: plexus-archiver)' | sed 's,^\[INFO\],,' | perl -0777 -pe 's/\n\s+Plugin Dependency Resolved://igs' | grep plexus-archiver | sort | uniq
 Plugin Resolved: gwt-maven-plugin-2.7.0.jar plexus-archiver-2.6.3.jar
 Plugin Resolved: maven-assembly-plugin-2.6.jar plexus-archiver-3.0.1.jar
 Plugin Resolved: maven-dependency-plugin-2.10.jar plexus-archiver-2.9.jar
 Plugin Resolved: maven-jar-plugin-3.0.0.jar plexus-archiver-3.1.1.jar
 Plugin Resolved: maven-site-plugin-3.3.jar plexus-archiver-1.0.jar
 Plugin Resolved: maven-source-plugin-3.0.0.jar plexus-archiver-3.0.3.jar
 Plugin Resolved: maven-war-plugin-2.6.jar plexus-archiver-2.9.jar
{code}
2. For of these plugins add/modify the pluginManagement information and add a dependency to org.codehaus.plexus:plexus-archiver:3.3
3. For maven-assembly-plugin and maven-war-plugin: additionally add a dependency to org.codehaus.plexus:plexus-io:2.7.1 to avoid {code}
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.6:war (default-war) on project activity-engine: Execution default-war of goal org.apache.maven.plugins:maven-war-plugin:2.6:war failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-war-plugin:2.6:war: java.lang.NoSuchMethodError: org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection.isConcurrentAccessSupported()Z
{code}
4. Enjoy working builds again!

So, yes, please do update plexus-archiver :)

> Heap space OOM
> --------------
>
>                 Key: MSOURCES-94
>                 URL: https://issues.apache.org/jira/browse/MSOURCES-94
>             Project: Maven Source Plugin
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>         Environment: Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
> Java version: 1.8.0_74, vendor: Oracle Corporation
> OS name: "linux", version: "3.19.0-32-generic", arch: "amd64", family: "unix"
>            Reporter: Stephan Schroevers
>         Attachments: compare-plexus-archiver-revisions.sh, memory-usage-test-gc-logs-maven-3.0.5.tgz, memory-usage-test-gc-logs.tgz, memory-usage-test.sh
>
>
> After upgrading from version 2.4 to 3.0.0 our aggregate build (comprising 52 jar/war modules) started failing when run on Travis CI:
> {noformat}
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-source-plugin:3.0.0:jar-no-fork (generate-source-jar) on project etl-executor-impl: Error creating source archive: Problem creating jar: Execution exception: Java heap space -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-source-plugin:3.0.0:jar-no-fork (generate-source-jar) on project etl-executor-impl: Error creating source archive: Problem creating jar: Execution exception
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
>     at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:188)
>     at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:184)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Error creating source archive: Problem creating jar: Execution exception
>     at org.apache.maven.plugins.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:311)
>     at org.apache.maven.plugins.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:253)
>     at org.apache.maven.plugins.source.AbstractSourceJarMojo.execute(AbstractSourceJarMojo.java:216)
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>     ... 11 more
> Caused by: org.codehaus.plexus.archiver.ArchiverException: Problem creating jar: Execution exception
>     at org.codehaus.plexus.archiver.AbstractArchiver.createArchive(AbstractArchiver.java:982)
>     at org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:650)
>     at org.apache.maven.plugins.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:303)
>     ... 15 more
> Caused by: java.io.IOException: Execution exception
>     at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.close(AbstractZipArchiver.java:807)
>     at org.codehaus.plexus.archiver.AbstractArchiver.createArchive(AbstractArchiver.java:969)
>     ... 17 more
> Caused by: java.lang.OutOfMemoryError: Java heap space
>     at org.codehaus.plexus.archiver.zip.ByteArrayOutputStream.needNewBuffer(ByteArrayOutputStream.java:121)
>     at org.codehaus.plexus.archiver.zip.ByteArrayOutputStream.<init>(ByteArrayOutputStream.java:90)
>     at org.codehaus.plexus.archiver.zip.OffloadingOutputStream.<init>(OffloadingOutputStream.java:109)
>     at org.codehaus.plexus.archiver.zip.OffloadingOutputStream.<init>(OffloadingOutputStream.java:89)
>     at org.codehaus.plexus.archiver.zip.DeferredScatterOutputStream.<init>(DeferredScatterOutputStream.java:28)
>     at org.codehaus.plexus.archiver.zip.ConcurrentJarCreator$DeferredSupplier.get(ConcurrentJarCreator.java:47)
>     at org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator.createDeferred(ParallelScatterZipCreator.java:75)
>     at org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator.access$100(ParallelScatterZipCreator.java:54)
>     at org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator$1.initialValue(ParallelScatterZipCreator.java:84)
>     at org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator$1.initialValue(ParallelScatterZipCreator.java:80)
>     at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:180)
>     at java.lang.ThreadLocal.get(ThreadLocal.java:170)
>     at org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator$2.call(ParallelScatterZipCreator.java:175)
>     ... 4 more
> {noformat}
> I managed to reproduce this locally by comparing the following two commands:
> {noformat}
> # Runs fine in under 10 seconds
> MAVEN_OPTS=-Xmx128m mvn -e org.apache.maven.plugins:maven-source-plugin:2.4:jar
> # Fails already after the third module with source code, after some 7 seconds
> MAVEN_OPTS=-Xmx128m mvn -e org.apache.maven.plugins:maven-source-plugin:3.0.0:jar
> {noformat}
> Our project is closed-source, but I verified the issue can also be reproduced on a large Maven build such as the one of the [Jetty|https://github.com/eclipse/jetty.project] project.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)