Skip to main content



      Home
Home » Archived » Hudson » Maven Build : ArrayIndexOutOfBoundsException
Maven Build : ArrayIndexOutOfBoundsException [message #894125] Fri, 06 July 2012 14:33 Go to next message
Eclipse UserFriend

I am running Maven 3 build on hudson slave and getting below exception. This started happening after moving to JDK 1.7. Any help is appreciated.


[INFO] Using Maven 3 installation: Maven-3
[INFO] Checking Maven 3 installation environment
[platform] $ /opt/install/apps/maven/current/bin/mvn --help
[INFO] Checking Maven 3 installation version
[platform] $ /opt/install/apps/maven/current/bin/mvn --version
[INFO] Detected Maven 3 installation version: 3.0.4
[DEBUG] Waiting for connection on port: 58977
[platform] $ /opt/install/apps/maven/current/bin/mvn clean deploy -V -B -DHUDSON=true -Dmaven.ext.class.path=/home/hudson/maven/slavebundle/resources:/home/hudson/maven/slavebundle/lib/maven3-eventspy-3.0.jar:/home/hudson/slave.jar -Dhudson.eventspy.port=58977 -Dmaven.repo.local=/home/hudson/platform/.maven/repo -f parent/pom.xml -N -q -U
[ERROR] Failure: java.lang.ArrayIndexOutOfBoundsException: 0
FATAL: java.lang.ArrayIndexOutOfBoundsException: 0
org.hudsonci.utils.tasks.OperationFailure: java.lang.ArrayIndexOutOfBoundsException: 0
at org.hudsonci.utils.tasks.PerformOperation.execute(PerformOperation.java:75)
at org.hudsonci.maven.plugin.builder.MavenBuilder.perform(MavenBuilder.java:169)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:630)
at hudson.model.Build$RunnerImpl.build(Build.java:175)
at hudson.model.Build$RunnerImpl.doRun(Build.java:137)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:429)
at hudson.model.Run.run(Run.java:1366)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:145)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at hudson.remoting.RemoteInvocationHandler$RPCRequest.choose(RemoteInvocationHandler.java:295)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:273)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:258)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:218)
at hudson.remoting.UserRequest.perform(UserRequest.java:114)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:283)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Re: Maven Build : ArrayIndexOutOfBoundsException [message #894127 is a reply to message #894125] Fri, 06 July 2012 14:37 Go to previous messageGo to next message
Eclipse UserFriend
Hudson currently does not compile in jdk 1.7, or 1.5. You must use jdk 1.6.

Edit: As a side note are you using a maven project? The maven job has been deprecated and it is recommended that you use a freestyle job and use the maven 3 build step.

[Updated on: Fri, 06 July 2012 14:38] by Moderator

Re: Maven Build : ArrayIndexOutOfBoundsException [message #895705 is a reply to message #894127] Sun, 15 July 2012 03:32 Go to previous messageGo to next message
Eclipse UserFriend
Hi,
We've also just migrated to jdk 1.7 and hit the exact same problem with the slave machines!

Does this mean building java code on slaves other than 1.6 are not supported? Or should it be possible to launch the slave process using java 1.6, but still build our code that is using 1.7?

Hopefully this is simple but I've had a look at the slave plugin page but couldn't figure it out. Any pointers appreciated.
Re: Maven Build : ArrayIndexOutOfBoundsException [message #895881 is a reply to message #895705] Mon, 16 July 2012 08:39 Go to previous messageGo to next message
Eclipse UserFriend
We have not gotten around to providing support for jdk 1.7 yet (hopefully that will change very soon). You must download the jdk 1.6 and use that instead.

Quote:
Does this mean building java code on slaves other than 1.6 are not supported? Or should it be possible to launch the slave process using java 1.6, but still build our code that is using 1.7?

You should have no problems running java 1.6 and 1.7. Since hudson is already compiled into a .war file, you don't need the full JDK 1.6, you just need the JRE in order for hudson to run. I always thought there was an argument for the jvm that uses "sourcejdk" "targetjdk" where you can specify the -source jdk version (1.6) and the -target jdk version (1.7) and have no compatibility issues.
Re: Maven Build : ArrayIndexOutOfBoundsException [message #895894 is a reply to message #895881] Mon, 16 July 2012 08:57 Go to previous messageGo to next message
Eclipse UserFriend
Ok, sorry to be a bit slow on this. Is this the position:

Hudson can run on JRE 6 or JRE 7 - No problem
Husdon isn't supported to compile projects to Java 7 but this is coming soon?

If this is correct is there a jira issue or roadmap I can track/vote on? Or any beta code I can try out?

(BTW, we're compiling code OK to Java 7 in the master, its just the slave nodes that are causing issues so perhaps things are pretty close now?)
Re: Maven Build : ArrayIndexOutOfBoundsException [message #895999 is a reply to message #895894] Mon, 16 July 2012 15:45 Go to previous messageGo to next message
Eclipse UserFriend
Quote:
Hudson can run on JRE 6 or JRE 7 - No problem
Husdon isn't supported to compile projects to Java 7 but this is coming soon?

If your project is using JDK or JRE 7, you should have no issues there. It's just that hudson must be in a JRE 6 environment to compile. I believe adding the -source and -target parts will fix it so you can use JRE 7.

Quote:
If this is correct is there a jira issue or roadmap I can track/vote on? Or any beta code I can try out?

We currently do not use jira roadmap feature for anything hudson releated. You can log a bug for this issue in the bugs.eclipse.org and Winston and I can will take a look at it.

Edit: Actually log a bug requesting the feature for jdk 7 support for master and slave nodes. I will talk to Winston today or tomorrow about it. Also put the bugzilla ID on this page.

[Updated on: Mon, 16 July 2012 15:47] by Moderator

Re: Maven Build : ArrayIndexOutOfBoundsException [message #896852 is a reply to message #895999] Fri, 20 July 2012 03:11 Go to previous messageGo to next message
Eclipse UserFriend
Hi,
I've tried but failed to run the slave as JRE6 but compile as JDK7, if you've got any instructions that would be great. Meanwhile I've raised bugzilla https://bugs.eclipse.org/bugs/show_bug.cgi?id=385566
Re: Maven Build : ArrayIndexOutOfBoundsException [message #896995 is a reply to message #896852] Fri, 20 July 2012 14:01 Go to previous messageGo to next message
Eclipse UserFriend
Hi,
After further fiddling I've got something thats working for me. Not sure if this will work for everyone but thought I'd share. To make the build launch ok on the slave agent I had to change these settings for the node:

Advanced -> Java Path: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/java

Environment Variables:
name: JAVA_HOME
value: /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

Btw, the slave is running on a mac.

Hope that helps anyone who finds this thread like I did.
Re: Maven Build : ArrayIndexOutOfBoundsException [message #896996 is a reply to message #896995] Fri, 20 July 2012 14:02 Go to previous messageGo to next message
Eclipse UserFriend
Since this worked for you, I'm closing that bug as no fix required.
Re: Maven Build : ArrayIndexOutOfBoundsException [message #897001 is a reply to message #896996] Fri, 20 July 2012 14:26 Go to previous messageGo to next message
Eclipse UserFriend
Understood - thanks.

Is one of the objectives of the new 3.X hudson development to targeting running ok JRE7? I know java 6 is almost end of life, and apple especially seem to be very keen to drop Java 6 from their platform.

The SSH slave.jar is now the last thing using JRE6 (hudson itself runs happily on JRE7 for me). The sooner I'm java 7 everywhere, the happier I'll be Razz

Cheers,Paul
Re: Maven Build : ArrayIndexOutOfBoundsException [message #897003 is a reply to message #897001] Fri, 20 July 2012 14:31 Go to previous messageGo to next message
Eclipse UserFriend
We won't be dropping support for JRE 6 because it's still a very stable version of java, but the hudson slave.jar should work with JRE 7 and hudson 3.x out of the box.
Re: Maven Build : ArrayIndexOutOfBoundsException [message #1004958 is a reply to message #897003] Thu, 24 January 2013 02:59 Go to previous messageGo to next message
Eclipse UserFriend
Sorry, what dependency do you use to get MavenBuilder?
I always fail to resolve package
package org.hudsonci.maven.plugin.builder does not exist
import org.hudsonci.maven.plugin.builder.MavenBuilder;
Thanks
Re: Maven Build : ArrayIndexOutOfBoundsException [message #1005329 is a reply to message #1004958] Thu, 24 January 2013 17:08 Go to previous messageGo to next message
Eclipse UserFriend
To get the mavenbuilder class, add this dependency to your pom.xml file:
<dependency>
<groupId>org.eclipse.hudson.main</groupId>
<artifactId>maven-plugin</artifactId>
<version>3.0.0-1</version>
</dependency>
Re: Maven Build : ArrayIndexOutOfBoundsException [message #1085893 is a reply to message #896995] Tue, 13 August 2013 09:59 Go to previous messageGo to next message
Eclipse UserFriend
I set JAVA_HOME environment variable for the node, but I don't see where to set Advanced -> Java path. My slave is a Windows 7 VM and I'm getting the same error.
Re: Maven Build : ArrayIndexOutOfBoundsException [message #1085965 is a reply to message #1085893] Tue, 13 August 2013 11:56 Go to previous message
Eclipse UserFriend
Advanced -> Java Path will be available on the node if it's launched via ssh.

How is your slave invoked?

Your Slave on Windows 7 should be launched using Java6, with the JAVA_HOME for the slave set to Java7. For the workaround to work.
Previous Topic:Hudson copy command in shell executable
Next Topic:${WORKSPACE} not resolved with Windows script build step
Goto Forum:
  


Current Time: Tue Jul 22 00:19:13 EDT 2025

Powered by FUDForum. Page generated in 0.06706 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top