You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Andrew Bayer <an...@gmail.com> on 2009/09/16 00:56:13 UTC

"Too many open files" with assembly plugin?

In one of my builds (run via Hudson), on only one of the multiple slaves it
could run on, I'm seeing the below error. I've had the machine rebooted, but
it keeps coming back. The other slaves this build runs on are configured
identically to this one, and, as I mentioned, they have no problems. Any
idea what I should be looking for to have caused this? (I'm trying this list
since the actual error is popping up in the Maven execution - I do also seem
to get it from the command-line as well).

A.

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------

[INFO] Failed to create assembly: Failed to retrieve OS environment
variables. Reason: Cannot run program "env": java.io.IOException:
error=24, Too many open files

[INFO] ------------------------------------------------------------------------

[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
create assembly: Failed to retrieve OS environment variables. Reason:
Cannot run program "env": java.io.IOException: error=24, Too many open
files

	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)

	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)

	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
	at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)

	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
	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.classworlds.Launcher.launchEnhanced(Launcher.java:315)
	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
	at hudson.maven.agent.Main.launch(Main.java:165)
	at hudson.maven.MavenBuilder.call(MavenBuilder.java:159)

	at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:677)
	at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:623)
	at hudson.remoting.UserRequest.perform(UserRequest.java:104)

	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
	at hudson.remoting.Request$2.run(Request.java:236)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)

	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to
create assembly: Failed to retrieve OS environment variables. Reason:
Cannot run program "env": java.io.IOException: error=24, Too many open
files

	at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:372)
	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
	at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)

	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
	... 28 more
Caused by: org.apache.maven.plugin.assembly.format.AssemblyFormattingException:
Failed to retrieve OS environment variables. Reason: Cannot run
program "env": java.io.IOException: error=24, Too many open files

	at org.apache.maven.plugin.assembly.utils.AssemblyFormatUtils.evaluateFileNameMapping(AssemblyFormatUtils.java:306)
	at org.apache.maven.plugin.assembly.archive.task.AddArtifactTask.execute(AddArtifactTask.java:170)

	at org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask.addDependencySet(AddDependencySetsTask.java:177)
	at org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask.execute(AddDependencySetsTask.java:116)

	at org.apache.maven.plugin.assembly.archive.phase.DependencySetAssemblyPhase.execute(DependencySetAssemblyPhase.java:74)
	at org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive(DefaultAssemblyArchiver.java:129)

	at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:322)
	... 31 more
Caused by: java.io.IOException: Cannot run program "env":
java.io.IOException: error=24, Too many open files

	at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
	at java.lang.Runtime.exec(Runtime.java:593)
	at java.lang.Runtime.exec(Runtime.java:431)
	at java.lang.Runtime.exec(Runtime.java:328)
	at org.apache.maven.plugin.assembly.utils.CommandLineUtils.getSystemEnvVars(CommandLineUtils.java:71)

	at org.apache.maven.plugin.assembly.utils.AssemblyFormatUtils.evaluateFileNameMapping(AssemblyFormatUtils.java:302)
	... 37 more
Caused by: java.io.IOException: java.io.IOException: error=24, Too
many open files

	at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
	at java.lang.ProcessImpl.start(ProcessImpl.java:65)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
	... 42 more

Re: "Too many open files" with assembly plugin?

Posted by Kalle Korhonen <ka...@gmail.com>.
Well the obvious thing to do is to set the file handle limit higher
(see e.g. http://lj4newbies.blogspot.com/2007/04/too-many-open-files.html).
If the jobs are identical it's either different OS configuration or
some other process hogging the file handles.

Kalle


On Tue, Sep 15, 2009 at 3:56 PM, Andrew Bayer <an...@gmail.com> wrote:
> In one of my builds (run via Hudson), on only one of the multiple slaves it
> could run on, I'm seeing the below error. I've had the machine rebooted, but
> it keeps coming back. The other slaves this build runs on are configured
> identically to this one, and, as I mentioned, they have no problems. Any
> idea what I should be looking for to have caused this? (I'm trying this list
> since the actual error is popping up in the Maven execution - I do also seem
> to get it from the command-line as well).
>
> A.
>
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
>
> [INFO] Failed to create assembly: Failed to retrieve OS environment
> variables. Reason: Cannot run program "env": java.io.IOException:
> error=24, Too many open files
>
> [INFO] ------------------------------------------------------------------------
>
> [INFO] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
> create assembly: Failed to retrieve OS environment variables. Reason:
> Cannot run program "env": java.io.IOException: error=24, Too many open
> files
>
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
>
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
>
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
>        at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
>
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
>        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.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>        at hudson.maven.agent.Main.launch(Main.java:165)
>        at hudson.maven.MavenBuilder.call(MavenBuilder.java:159)
>
>        at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:677)
>        at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:623)
>        at hudson.remoting.UserRequest.perform(UserRequest.java:104)
>
>        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
>        at hudson.remoting.Request$2.run(Request.java:236)
>        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>
>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to
> create assembly: Failed to retrieve OS environment variables. Reason:
> Cannot run program "env": java.io.IOException: error=24, Too many open
> files
>
>        at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:372)
>        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
>        at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
>
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
>        ... 28 more
> Caused by: org.apache.maven.plugin.assembly.format.AssemblyFormattingException:
> Failed to retrieve OS environment variables. Reason: Cannot run
> program "env": java.io.IOException: error=24, Too many open files
>
>        at org.apache.maven.plugin.assembly.utils.AssemblyFormatUtils.evaluateFileNameMapping(AssemblyFormatUtils.java:306)
>        at org.apache.maven.plugin.assembly.archive.task.AddArtifactTask.execute(AddArtifactTask.java:170)
>
>        at org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask.addDependencySet(AddDependencySetsTask.java:177)
>        at org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask.execute(AddDependencySetsTask.java:116)
>
>        at org.apache.maven.plugin.assembly.archive.phase.DependencySetAssemblyPhase.execute(DependencySetAssemblyPhase.java:74)
>        at org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive(DefaultAssemblyArchiver.java:129)
>
>        at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:322)
>        ... 31 more
> Caused by: java.io.IOException: Cannot run program "env":
> java.io.IOException: error=24, Too many open files
>
>        at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
>        at java.lang.Runtime.exec(Runtime.java:593)
>        at java.lang.Runtime.exec(Runtime.java:431)
>        at java.lang.Runtime.exec(Runtime.java:328)
>        at org.apache.maven.plugin.assembly.utils.CommandLineUtils.getSystemEnvVars(CommandLineUtils.java:71)
>
>        at org.apache.maven.plugin.assembly.utils.AssemblyFormatUtils.evaluateFileNameMapping(AssemblyFormatUtils.java:302)
>        ... 37 more
> Caused by: java.io.IOException: java.io.IOException: error=24, Too
> many open files
>
>        at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
>        at java.lang.ProcessImpl.start(ProcessImpl.java:65)
>        at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
>        ... 42 more
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org