[ https://jira.codehaus.org/browse/MASSEMBLY-651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=324651#comment-324651 ]
Eric Tschetter commented on MASSEMBLY-651: ------------------------------------------ In the hopes of helping with the debugging effort, we went and took a bunch of thread dumps over and over again while it was building up its memory usage. It appears to just sit in the same code and accumulate memory. Here's a trace of where: {noformat} "main" prio=5 tid=7f95fd801000 nid=0x10ded8000 runnable [10ded5000] java.lang.Thread.State: RUNNABLE at java.io.UnixFileSystem.list(Native Method) at java.io.File.list(File.java:973) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:410) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:521) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:521) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:521) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:521) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:521) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:521) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:521) at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:521) at org.codehaus.plexus.util.DirectoryScanner.scan(DirectoryScanner.java:346) at org.codehaus.plexus.components.io.resources.PlexusIoFileResourceCollection.getResources(PlexusIoFileResourceCollection.java:187) at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:468) at org.apache.maven.plugin.assembly.filter.ComponentsXmlArchiverFileFilter.finalizeArchiveCreation(ComponentsXmlArchiverFileFilter.java:166) at org.codehaus.plexus.archiver.AbstractArchiver.runArchiveFinalizers(AbstractArchiver.java:884) at org.codehaus.plexus.archiver.AbstractArchiver.createArchive(AbstractArchiver.java:908) at org.apache.maven.plugin.assembly.archive.archiver.AssemblyProxyArchiver.createArchive(AssemblyProxyArchiver.java:512) at org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive(DefaultAssemblyArchiver.java:186) at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:436) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 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:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) {noformat} > REOPEN - OutOfMemory when running maven-assembly-plugin > ------------------------------------------------------- > > Key: MASSEMBLY-651 > URL: https://jira.codehaus.org/browse/MASSEMBLY-651 > Project: Maven 2.x Assembly Plugin > Issue Type: Bug > Affects Versions: 2.4 > Environment: Ubuntu 12.04, Oracle JDK 6 > Reporter: Eric Tschetter > Attachments: log.txt > > > I'm experiencing OutOfMemory error when maven build try to complete > maven-assembly-plugin job. > Issue reproducible on Linux only. > The project I'm trying to build is > [webcam-capture|https://github.com/sarxos/webcam-capture]. > Command: > {code} > $ mvn clean package -P assembly -X > {code} > It hangs always in the same place: > {code} > [DEBUG] Adding file-set in: > /home/sarxos/workspace-j2se/webcam-capture/webcam-capture/./src/example/java > to archive location: examples/ > {code} > In most cases process hangs and I'm getting OutOfMemory. Once I get this > exception in the same time, before process started to allocate huge amount of > memory OutOfMemory. OldGen is exhausted. Increasing memory to be allocated > does not have any effect. > Not sure if exception below is cause or effect. > {code} > [DEBUG] Adding file-set in: > /home/sarxos/workspace-j2se/webcam-capture/webcam-capture/./src/example/java > to archive location: examples/ > [DEBUG] Cannot find ArtifactResolver with hint: project-cache-aware > org.codehaus.plexus.component.repository.exception.ComponentLookupException: > java.util.NoSuchElementException > role: org.apache.maven.artifact.resolver.ArtifactResolver > roleHint: project-cache-aware > at > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:257) > at > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:233) > at > org.apache.maven.shared.repository.DefaultRepositoryAssembler.contextualize(DefaultRepositoryAssembler.java:721) > at > org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.contextualize(PlexusLifecycleManager.java:317) > at > org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.manageLifecycle(PlexusLifecycleManager.java:292) > at > org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:148) > at > com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108) > at > com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55) > at > com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68) > at > com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.Scopes$1$1.get(Scopes.java:59) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at > com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011) > at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961) > at > org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:83) > at > org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:49) > at > org.sonatype.guice.bean.locators.EntryListAdapter$ValueIterator.next(EntryListAdapter.java:112) > at > org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive(DefaultAssemblyArchiver.java:181) > at > org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:436) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) > 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:84) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) > at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) > Caused by: java.util.NoSuchElementException > at java.util.Collections$EmptyIterator.next(Collections.java:2958) > at > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253) > ... 43 more > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira