It's all about the answers!

Ask a question

Cannot start converter for rrc under tomcat 7


0
1
James Hewitt (4258) | asked Jun 20 '13, 10:20 a.m.
I'm trying to run the rrc converter on windows for our servers that all run on AIX.

Having downloaded a blank tomcat 7 and putting the converter.war from a windows 4.0.0.1 install (to match our aix version), I get errors in the tomcat logs.

The biggest problem seems to be in loading the bundles, I got this from the log in eclipse/workspace/.metadata/.log

!SESSION 2013-06-20 11:56:20.994 -----------------------------------------------
eclipse.buildId=unknown
java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows Server 2003 x86-32 jvmwi3260sr12-20121024_126067 (JIT enabled, AOT enabled)
J9VM - 20121024_126067
JIT  - r9_20120914_26057
GC   - 20120928_AA
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB

!ENTRY com.ibm.rdm.web.htmlgen 4 0 2013-06-20 11:56:20.994
!MESSAGE
!STACK 0
org.osgi.framework.BundleException: Exception in com.ibm.rdm.web.htmlgen.Activator.start() of bundle com.ibm.rdm.web.htmlgen.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.resumeBundles(PackageAdminImpl.java:302)
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.processDelta(PackageAdminImpl.java:546)
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.doResolveBundles(PackageAdminImpl.java:239)
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl$1.run(PackageAdminImpl.java:174)
    at java.lang.Thread.run(Thread.java:738)
Caused by: java.lang.NullPointerException
    at org.eclipse.emf.common.util.URI.createURIWithCache(URI.java:669)
    at org.eclipse.emf.common.util.URI.createURI(URI.java:541)
    at com.ibm.rdm.web.htmlgen.Activator.loadLoggingProperties(Activator.java:49)
    at com.ibm.rdm.web.htmlgen.Activator.start(Activator.java:102)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
    at java.security.AccessController.doPrivileged(AccessController.java:277)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
    ... 9 more
Root exception:
java.lang.NullPointerException
    at org.eclipse.emf.common.util.URI.createURIWithCache(URI.java:669)
    at org.eclipse.emf.common.util.URI.createURI(URI.java:541)
    at com.ibm.rdm.web.htmlgen.Activator.loadLoggingProperties(Activator.java:49)
    at com.ibm.rdm.web.htmlgen.Activator.start(Activator.java:102)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
    at java.security.AccessController.doPrivileged(AccessController.java:277)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.resumeBundles(PackageAdminImpl.java:302)
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.processDelta(PackageAdminImpl.java:546)
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.doResolveBundles(PackageAdminImpl.java:239)
    at org.eclipse.osgi.framework.internal.core.PackageAdminImpl$1.run(PackageAdminImpl.java:174)
    at java.lang.Thread.run(Thread.java:738)

!ENTRY com.ibm.rdm.web.htmlgen 4 0 2013-06-20 11:56:21.025
!MESSAGE
!STACK 0
org.osgi.framework.BundleException: Exception in com.ibm.rdm.web.htmlgen.Activator.start() of bundle com.ibm.rdm.web.htmlgen.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
Caused by: java.lang.NullPointerException
    at org.eclipse.emf.common.util.URI.createURIWithCache(URI.java:669)
    at org.eclipse.emf.common.util.URI.createURI(URI.java:541)
    at com.ibm.rdm.web.htmlgen.Activator.loadLoggingProperties(Activator.java:49)
    at com.ibm.rdm.web.htmlgen.Activator.start(Activator.java:102)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
    at java.security.AccessController.doPrivileged(AccessController.java:277)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
    ... 11 more
Root exception:
java.lang.NullPointerException
    at org.eclipse.emf.common.util.URI.createURIWithCache(URI.java:669)
    at org.eclipse.emf.common.util.URI.createURI(URI.java:541)
    at com.ibm.rdm.web.htmlgen.Activator.loadLoggingProperties(Activator.java:49)
    at com.ibm.rdm.web.htmlgen.Activator.start(Activator.java:102)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
    at java.security.AccessController.doPrivileged(AccessController.java:277)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

!ENTRY org.eclipse.osgi 4 0 2013-06-20 11:56:21.025
!MESSAGE Bundle com.ibm.rdm.web.htmlgen_4.0.10.v20120822_2128 [21] is not active.

One answer



permanent link
Stef van Dijk (2.0k179) | answered Jun 20 '13, 12:28 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Configuration of the delegated converter is discussed in a good bit of detail in the following article:
RM Converter Application Configuration and Troubleshooting Guide

However, I suspect what might be happening here is not currently covered in that document but is due to be added:
Update jazz.net article #1089 (72878)

Specifically, I suspect that the issue is related to needing to set the JAZZ_HOME environment variable. Here's the proposed addition for this to the above referenced document:

In the "Delegated Configuration " section, add 2 new steps between the existing 3 and 4 (in bold):
-Deploy the RM Converter application converter.war file to an application server on server2
-Copy the server1's <CLMInstallDir>/server/rrcweb directory to a similar location on server2.
-Define JAZZ_HOME in the web application server (WAS or Tomcat) on server2.  The value should be <CLMInstallDir>/server/conf.  This is a sibling directory to the rrcweb directory from the previous step.
-Start web application server (WAS or Tomcat) on server2

Let me know if this does or does not resolve the situation.

Comments
James Hewitt commented Jun 21 '13, 4:59 a.m.

  I don't see an rrcweb under <clminstalldir>/server/rrcweb on the rm I installed using the IM web package from jazz.net on Windows, or on the AIX server.


Is that the right path?


Stef van Dijk commented Jun 21 '13, 9:24 a.m.
FORUM MODERATOR / JAZZ DEVELOPER

Every 3.x and 4.x release I have installed (all of them) have a server/rrcweb directory. It typically only has a cache directory in it so maybe(?) it's not there yet if you've never actually used the web client on that server? That said, given that it does appear to just be a cache, maybe you're still fine even if you don't have this.
I'd really recommend following the instructions in the document link I provided as opposed to "downloading a blank tomcat 7". Be sure to read the sections on Tomcat Application Server Install and Converter Proxy Configuration as well.

BTW, the document has now been updated to include the information after JAZZ_HOME.


James Hewitt commented Jun 21 '13, 10:06 a.m.

  Yes, it seems that having not started the server I had no dir. Starting up the server gave me the dir, like you said, with an empty cache.


So I got one step further, after adding the JAZZ_HOME property, it now fails with a different error. I think to do with using a URI path to get the file, which is fine on linux, but doesn't seem to work on windows. I tried JAZZ_HOME as c:\converter\conf, c:/converter/conf and file://c:/converter/conf and they all produce the same error.


James Hewitt commented Jun 21 '13, 10:06 a.m.

 21-Jun-2013 14:41:28 org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet [equinoxbridgeservlet] in context with path [/converter] threw exception [Servlet execution threw an exception] with root cause
Throwable occurred: java.lang.NullPointerException
at java.io.File.<init>(File.java:233)
at com.ibm.rdm.web.htmlgen.Activator.loadLoggingProperties(Activator.java:53)
at com.ibm.rdm.web.htmlgen.Activator.start(Activator.java:102)
at 
and so on...


Stef van Dijk commented Jun 21 '13, 11:14 a.m.
FORUM MODERATOR / JAZZ DEVELOPER

This is a very curious exception. The code is attempting, in your case, to construct a path to c:/converter/conf/rm/converter/log4j.properties, though it really doesn't matter if the file actually exists or not.
The code is effectively doing the following:

        String jazz_home = System.getProperty("JAZZ_HOME");
        String confLocation = URI.decode(jazz_home);
        URI uri = URI.createURI(confLocation).appendSegments(
                new String[] { "rm", "converter", "log4j.properties" });

And based on the exception you are reporting, uri.path() is returning null for this.
I can't figure out how to reproduce that behavior using the 2nd and 3rd example values you mentioned as this works fine for me (the first example will definitely fail). If JAZZ_HOME were null, you'd get the exception you originally saw, so clearly it is picking up something.


James Hewitt commented Jun 21 '13, 12:27 p.m.

 So for completeness, I added my property to catalina.properties.


Where do you add your property, and what do you set it to, in order to get it to run?

I might take a look at the code for org.eclipse.emf.common.util.URI to see if I can work it out too.


Stef van Dijk commented Jun 21 '13, 1:49 p.m.
FORUM MODERATOR / JAZZ DEVELOPER

To be honest, I just wrote a simple stand-alone testcase to test how the code reacts. I haven't actually gone about creating an entire configuration/environment to test this.
In my case, I tested by setting the property in the VM:
-DJAZZ_HOME="C:/Program Files/IBM/CLM4001/server/conf"
quoted due to the space in the path and with forward slashes
This also worked fine for me:
-DJAZZ_HOME="file://C:/Program Files/IBM/CLM4001/server/conf"

But you can see how this is done for the product in the server.startup.bat file. The VM argument is provided via the JAVA_OPTS environment variable which is then passed through to catalina.bat.


Stef van Dijk commented Jun 21 '13, 2:02 p.m.
FORUM MODERATOR / JAZZ DEVELOPER

FYI, the instructions for copying over the <CLMInstallDir>/server/rrcweb directory is technically only accurate for the 4.0.3 release. Prior to that release, you should really be copying over the <CLMInstallDir>/server/conf/rm/converter directory.
That said, it's just a couple of properties files and generally there is no harm if they are missing.

Based on these last two comments, we will be making further improvements to the jazz.net article to make this more clear.

showing 5 of 8 show 3 more comments

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.