It's all about the answers!

Ask a question

StringIndexOutOfBoundsException during [IBM i Command Build


Bud Blanchard (3633) | asked May 04 '10, 4:02 p.m.
StringIndexOutOfBoundsException during

RTCi
IBM Rational Developer for i 7.5.0.3
IBM Rational Developer for i, Version 7.5.0.3 Interim Fix 001

After the last source member was built, these messages appear and the build stops:
java.lang.StringIndexOutOfBoundsException
at java.lang.String.charAt(String.java:415)
at java.util.regex.Matcher.appendReplacement(Matcher.java:720)
at java.util.regex.Matcher.replaceAll(Matcher.java:822)
at java.lang.String.replaceAll(String.java:1566)
at com.ibm.teami.build.internal.engine.QcmdBuildParticipant.generateCommand(QcmdBuildParticipant.java:1025)
at com.ibm.teami.build.internal.engine.QcmdBuildParticipant.buildProject(QcmdBuildParticipant.java:429)
at com.ibm.teami.build.internal.engine.QcmdBuildParticipant.executeCommandOnAll(QcmdBuildParticipant.java:360)
at com.ibm.teami.build.internal.engine.QcmdBuildParticipant.build(QcmdBuildParticipant.java:216)
at com.ibm.team.build.internal.engine.BuildLoop.invokeBuildParticipants(BuildLoop.java:601)
at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:432)
at java.lang.Thread.run(Thread.java:811)

What can I do to clear this error? I can't complete a build and deliver all my changes.

13 answers



permanent link
Nick Edgar (6.5k711) | answered May 05 '10, 8:20 p.m.
JAZZ DEVELOPER
I'm getting the Bad Gateway message now too, but wasn't earlier (obviously).

permanent link
Kushal Munir (126103) | answered May 06 '10, 7:47 a.m.
JAZZ DEVELOPER
Hi Bud,

Could you please send me a zip of the i Projects that you are building? In the i Projects Navigator view, right click on the projects and select Export.... Under the General node, select Archive File. Then put in the name of a zip file to export to.

In the build definition, in the Command - IBM i tab, do you have either of the options to "Run the build command for every changed artifact" or "Run the build command for all artifacts in the workspace" selected?

I think we're able to reproduce the problem, but I wanted to confirm we're able to with your scenario.

Thanks for your help,
Kushal

Hi Bud,

Do you have a special character, such as '$', '@' or '#', in your library, source file or member names?

Thanks,
Kushal

This looks like a JDK bug, since String.replaceAll doesn't take any index arguments. Which JDK are you using to run JBE? Please see: https://jazz.net/wiki/bin/view/Main/BuildFAQ#WhichJDK


Nick, The referenced FAQ example has the -vm entry pointing to \Program Files\IBM\TeamConcert\jdk\bin\java which is a Windows environment. We are starting the Build Engine from the IBM i system. I am submitting the following:
cd /QIBM/ProdData/RTCi/V1.0/Build/Jazz/BuildSystem/BuildEngine/Eclipse
startup.qsh -repository https://tfcs1:9443/jazz -engineId TFCS -userId JAZZBUILDR -pass **********

Here is the resulting Command for the current build engine from the IBM i job that was submitted:
QSH CMD('/QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit/bin/java -Dos400.stdout=file:/QIBM/ProdData/RTCi/V1.0/Build/jazz/buildsystem/buildengine/eclipse/RTCiLogs/QRTCIBE308/jbeout -Dos400.stderr=file:/QIBM/ProdData/RTCi/V1.0/Build/jazz/buildsystem/buildengine/eclipse/RTCiLogs/QRTCIBE308/jbeerr -Dos400.stdio.convert=Y -cp /QIBM/ProdData/RTCi/V1.0/Build/jazz/buildsystem/buildengine/eclipse/./plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar -DDB2I_JDBC=/QIBM/ProdData/HTTP/Public/jt400/lib org.eclipse.equinox.launcher.Main -application com.ibm.team.build.engine.jazzBuildEngine -repository https://tfcs1:9443/jazz -engineId TFCS -userId JAZZBUILDR -pass **********')


Here are the installed license programs on my IBM i:
5722JV1 V5R4M0 IBM Developer Kit for Java
5722JV1 V5R4M0 Java Developer Kit 1.3
5722JV1 V5R4M0 Java Developer Kit 1.4
5722JV1 V5R4M0 Java Developer Kit 5.0
5722JV1 V5R4M0 J2SE 5.0 32 bit
5722JV1 V5R4M0 Java Developer Kit


We are running WAS 6.1 on the IBM i.

Bud.
Kushal,

Yes, I have some of each in member names only. That must be a problem? Some of these member names with special characters have been delivered and built for upwards of a year now.

I also have the underscore character in some member names. None of the source file names contain any special characters. A few libraries have a period in the middle of the name (carry over from ADM).

Bud.

permanent link
Bud Blanchard (3633) | answered May 19 '10, 3:56 p.m.
I had one source member name ending in a $. I renamed the source member and the build completed normally.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.