It's all about the answers!

Ask a question

Why does my CCM plugin cause a StackOverflowError in Launch callback handler?


Brandon Van Slyke (1035) | asked Sep 23 '14, 3:28 p.m.
edited Sep 25 '14, 5:09 p.m.

I have been developing a server-side participant plugin against my development copy of CCM 4.0.3. I was successfully able to deploy and use it locally during development.

After I installed Jazz and CCM 4.0.6 locally to match our new production environment, and deployed my plugin to this new installation, I am getting the following error in my Tomcat window:

INFO: Deploying web application archive C:\Program Files\IBM\JazzTeamServer_406_Dev\server\tomcat\webapps\ccm.war
Exception in thread "Launch callback handler" java.lang.StackOverflowError
        at java.nio.CharBuffer.wrap(CharBuffer.java:361)
        at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:399)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:159)
        at java.io.OutputStreamWriter.emptyBuffer(OutputStreamWriter.java:289)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:251)
        at java.io.PrintWriter.write(PrintWriter.java:423)
        at java.io.PrintWriter.write(PrintWriter.java:440)
        at java.io.PrintWriter.print(PrintWriter.java:570)
        at java.io.PrintWriter.println(PrintWriter.java:706)
        at com.ibm.team.repository.provision.internal.ProvisionService.installFeature(ProvisionServi
ce.java:382)
        at com.ibm.team.repository.provision.internal.ProvisionService.installFeature(ProvisionServi
ce.java:408)
        at com.ibm.team.repository.provision.internal.ProvisionService.installFeature(ProvisionServi
ce.java:408)
    (*above line repeats many times *)
 at com.ibm.team.repository.provision.internal.ProvisionService.installFromProfileProperties(
ProvisionService.java:952)
        at com.ibm.team.repository.provision.internal.ProvisionService.installFromProfiles(Provision
Service.java:1009)
        at com.ibm.team.repository.provision.internal.ProvisionService.installFromProfileNoWait(Prov
isionService.java:1143)
        at com.ibm.team.repository.provision.internal.ProvisionService.installFromProfile(ProvisionS
ervice.java:1081)
        at com.ibm.team.repository.provision.internal.ProvisionService.installFromContextConfigurati
onUrl(ProvisionService.java:1160)
        at com.ibm.team.jfs.app.install.Activator$1.run(Activator.java:172)
        at java.lang.Thread.run(Thread.java:761)

The steps I took are:

  1. Install Jazz server and apps (v.4.0.6).
  2. Upgrade my RTC client from 4.0.3 to 4.0.6.
  3. Clear feature and plugin jars from my plugin's update-site.
  4. "Rebuild All" in update site and copy update site to server/conf/ccm/sites to match previous setup
  5. Copy old provision profile .ini file to new location
  6. Start server

Please let me know what other information I might need to provide to diagnose this.

One answer



permanent link
Brandon Van Slyke (1035) | answered Sep 25 '14, 5:07 p.m.
I figured out my issue. I must have clicked "compute dependencies" on my plugin feature.

To fix, I recreated my dependencies by manually replacing the computed dependencies (plugins) with their respective server features as explained in the IBM Rational Team Concert 4.x Extensibility Lab.

Looking at the source of installFeature , it looks like it calls itself recursively as it walks your dependency graph. So I'm guessing my dependencies were circular, causing installFeature to overflow the stack.

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.