Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

NullPointerException in client when trying to load project

We are seeing a problem with the RRC 2.0 client where users will receive a StringIndexOutOfBoundsException or a NullPointerException. It seems that our issue started with this scenario:

1. Install RRC with NO hostname configured in DNS, so all references to the server are via IP address specifically. This includes using the WebUI and the RRC 2.0 GA client (with 2.0.0.1 server)
2. Add DNS hostname, change the 'Public URI Root' to be https://myhost.mydomain.com:9443/rdm/, change the hostname to be myhost.mydomain.com
3. Do not restart the server
3. Login to the projects with the RRC client and add one or more folders after changing the configuration in the RRC client
4. Other users try to now access the server using the old URL (IP address only) from the client, it doesn't work (StringIndexOutOfBoundsException). Other users try to use new hostname and receive NullPointerException:

java.lang.NullPointerException
at com.ibm.rdm.ui.explorer.projectdashboard.ProjectHomePageArtifactsPage$4.getURL(ProjectHomePageArtifactsPage.java:361)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterByFolderPart.getModelURL(FilterByFolderPart.java:160)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterByFolderRootPart.getModelURL(FilterByFolderRootPart.java:40)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.getModelChildren(FilterFolderAbstractPart.java:64)
at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:709)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.updateChildren(FilterFolderAbstractPart.java:85)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.refreshChildren(FilterFolderAbstractPart.java:81)
...


It seems that RRC is storing the hostname / URL / IP address somewhere in the database (if so, WHY!?!?) and changing it has caused this 'corruption'. Our projects are accessible via the web interface, but I seem to be unable to add/delete/change artifacts via the web interface.

Has anyone else seen this issue?

0 votes



8 answers

Permanent link
We are seeing a problem with the RRC 2.0 client where users will receive a StringIndexOutOfBoundsException or a NullPointerException. It seems that our issue started with this scenario:

1. Install RRC with NO hostname configured in DNS, so all references to the server are via IP address specifically. This includes using the WebUI and the RRC 2.0 GA client (with 2.0.0.1 server)
2. Add DNS hostname, change the 'Public URI Root' to be https://myhost.mydomain.com:9443/rdm/, change the hostname to be myhost.mydomain.com
3. Do not restart the server
3. Login to the projects with the RRC client and add one or more folders after changing the configuration in the RRC client
4. Other users try to now access the server using the old URL (IP address only) from the client, it doesn't work (StringIndexOutOfBoundsException). Other users try to use new hostname and receive NullPointerException:

java.lang.NullPointerException
at com.ibm.rdm.ui.explorer.projectdashboard.ProjectHomePageArtifactsPage$4.getURL(ProjectHomePageArtifactsPage.java:361)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterByFolderPart.getModelURL(FilterByFolderPart.java:160)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterByFolderRootPart.getModelURL(FilterByFolderRootPart.java:40)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.getModelChildren(FilterFolderAbstractPart.java:64)
at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:709)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.updateChildren(FilterFolderAbstractPart.java:85)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.refreshChildren(FilterFolderAbstractPart.java:81)
...


It seems that RRC is storing the hostname / URL / IP address somewhere in the database (if so, WHY!?!?) and changing it has caused this 'corruption'. Our projects are accessible via the web interface, but I seem to be unable to add/delete/change artifacts via the web interface.

Has anyone else seen this issue?


Hi there,

When the hostname or IP address is changed, the Composer server must be reconfigured to use the new hostname/IP. Try that and see if it resolves the issue. Check this technote for details:
http://www-01.ibm.com/support/docview.wss?rs=0&q1=1410449&uid=swg21410449&loc=en_US&cs=utf-8&cc=us&lang=en

Also note that the Public URI must point to /jazz, and not /rdm. (https://myhost.mydomain.com:9443/jazz)

0 votes


Permanent link
... a problem with the RRC 2.0 client where users will receive a ... NullPointerException.


We have the same NullPointerException here, the window says "An internal error occured during: Get Child Folders for Project".

We also had issues because the RRC service does not run on the infrastructure DNS name (primary hostname of the server which the OS returns, something like "linserv1234.somedomain.com") but on an additional DNS entry, like "rrc.somedomain.com".

I have run through the technote mentioned above, fgrepped through other config files to replace the original hostname, cleared caches, restarted Websphere...

It resolved various other issues that we had with the web login but the full client gives the NullPointerException.

What shall I do?

:(

0 votes


Permanent link
We are seeing a problem with the RRC 2.0 client where users will receive a StringIndexOutOfBoundsException or a NullPointerException. It seems that our issue started with this scenario:

1. Install RRC with NO hostname configured in DNS, so all references to the server are via IP address specifically. This includes using the WebUI and the RRC 2.0 GA client (with 2.0.0.1 server)
2. Add DNS hostname, change the 'Public URI Root' to be https://myhost.mydomain.com:9443/rdm/, change the hostname to be myhost.mydomain.com
3. Do not restart the server
3. Login to the projects with the RRC client and add one or more folders after changing the configuration in the RRC client
4. Other users try to now access the server using the old URL (IP address only) from the client, it doesn't work (StringIndexOutOfBoundsException). Other users try to use new hostname and receive NullPointerException:

java.lang.NullPointerException
at com.ibm.rdm.ui.explorer.projectdashboard.ProjectHomePageArtifactsPage$4.getURL(ProjectHomePageArtifactsPage.java:361)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterByFolderPart.getModelURL(FilterByFolderPart.java:160)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterByFolderRootPart.getModelURL(FilterByFolderRootPart.java:40)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.getModelChildren(FilterFolderAbstractPart.java:64)
at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:709)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.updateChildren(FilterFolderAbstractPart.java:85)
at com.ibm.rdm.ui.explorer.dashboard.common.FilterFolderAbstractPart.refreshChildren(FilterFolderAbstractPart.java:81)
...


It seems that RRC is storing the hostname / URL / IP address somewhere in the database (if so, WHY!?!?) and changing it has caused this 'corruption'. Our projects are accessible via the web interface, but I seem to be unable to add/delete/change artifacts via the web interface.

Has anyone else seen this issue?


Hi there,

When the hostname or IP address is changed, the Composer server must be reconfigured to use the new hostname/IP. Try that and see if it resolves the issue. Check this technote for details:
http://www-01.ibm.com/support/docview.wss?rs=0&q1=1410449&uid=swg21410449&loc=en_US&cs=utf-8&cc=us&lang=en

Also note that the Public URI must point to /jazz, and not /rdm. (https://myhost.mydomain.com:9443/jazz)

Thanks for the suggestions--the above helped part way. First, let me state what I did:

1. I updated the {Composer Server install directory}\server\conf\rdm\fronting.properties file with the correct serverBaseURL value.
2. I updated the Public URI Root property
3. I updated the Host Name in the com.ibm.team.repository.servlet.internal.ServletConfigurationService section.
4. Restarted the Server
5. Ran the RRC Setup utility (https://myhost.mydomain:9443/rdm/setup) and changed the IP addresses to a hostname. At the end of the setup process, I was asked to build the indexes. They were previously built, but I figured, what the heck, and rebuilt them.
6. Updated my RRC client configuration to use the new hostname instead of the IP address.

So I no longer receive any Java exceptions (NullPointer, etc.) However, when the RRC client opens the project, no artifacts and no folders are displayed. The existing artifacts and folders are visible in the web client, however. Also, using the RRC client, I click the root folder, select the option to create a directory and the 'Create Directory' dialog appears. I type in a directory name and press Ok. Nothing happens. The dialog remains in place and no messaging (error, confirmation) is displayed. If I hit cancel, the dialog disappears and my folder is not created.

Can I turn up the logging level on the client to see what is happening? Or should I check the server? It seems that there may be a disconnect between the client and the server since I can use the web client on the server to view the information.

Thanks again for the help. Let me know if I should just open a PMR with IBM.

Justin Spies

0 votes


Permanent link
Can I turn up the logging level on the client to see what is happening? Or should I check the server? It seems that there may be a disconnect between the client and the server since I can use the web client on the server to view the information.


There is already a log that likely contains exception information. Whenever a dialog fails to close, it's typically because an exception has occurred on the ui thread.
Depending on your installation, there should be a .log file for the client in a folder such as:
C:\Documents and Settings\{Windows login id}\IBM\RequirementsComposer\workspace\.metadata

As for the project problem, I would be suspicious that any projects created prior to the steps you went through in reconfiguring the server are in an invalid/corrupt state. Have you tried starting with a brand new project?

0 votes


Permanent link
Can I turn up the logging level on the client to see what is happening? Or should I check the server? It seems that there may be a disconnect between the client and the server since I can use the web client on the server to view the information.


There is already a log that likely contains exception information. Whenever a dialog fails to close, it's typically because an exception has occurred on the ui thread.
Depending on your installation, there should be a .log file for the client in a folder such as:
C:\Documents and Settings\{Windows login id}\IBM\RequirementsComposer\workspace\.metadata

As for the project problem, I would be suspicious that any projects created prior to the steps you went through in reconfiguring the server are in an invalid/corrupt state. Have you tried starting with a brand new project?

Yes. A new project works fine. In fact, one of the previous projects works fine as well. The problem is that the projects that are not working (two of the four) are historical--so we need to get them working.

What doesn't make sense to me is why the web client works fine and the Eclipse client does not (for displaying artifacts, I know you cannot add a folder).

Here is the exception from .log file which occurs when I expanded the project list under the server and then tried 'Right Click->New->Folder':


!ENTRY org.eclipse.ui 4 0 2010-02-09 17:25:36.891
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
at com.ibm.rdm.tag.util.FolderUtil.getDuplicateNamesInFolderWithException(FolderUtil.java:753)
at com.ibm.rdm.tag.util.FolderUtil.getDuplicateNamesInFolder(FolderUtil.java:739)
at com.ibm.rdm.tag.util.FolderUtil.isFolderNameUnique(FolderUtil.java:732)
at com.ibm.rdm.ui.dialogs.NewFolderDialog.tagNameExists(NewFolderDialog.java:87)
at com.ibm.rdm.ui.dialogs.NewFolderDialog.tagNameExists(NewFolderDialog.java:83)
at com.ibm.rdm.ui.dialogs.NewFolderDialog.validate(NewFolderDialog.java:65)
at com.ibm.rdm.ui.tag.dialogs.NewPublicTagDialog.okPressed(NewPublicTagDialog.java:187)
at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at com.ibm.rdm.ui.explorer.actions.NewFolderAction.run(NewFolderAction.java:72)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.ibm.rdm.ui.application.ReqComposerApplication.start(ReqComposerApplication.java:122)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)


The above is the only exception that occurs as a result of the failed create folder attempt.



The following messages are the only log entries when I actually open a corrupted project. There are no exceptions logged.


!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:51.782
!MESSAGE NLS unused message: DoorsConnectionFigure_RemoveConnection in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.063
!MESSAGE NLS unused message: Copy_Link in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.063
!MESSAGE NLS unused message: Copy_Web_Link in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.078
!MESSAGE NLS unused message: Created_On in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.078
!MESSAGE NLS unused message: Modified_By in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.078
!MESSAGE NLS unused message: Modified_On in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.094
!MESSAGE NLS unused message: Overview_Artifact_Title in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.094
!MESSAGE NLS unused message: Overview_Loading_Title in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.094
!MESSAGE NLS unused message: Overview_Project_Title in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.110
!MESSAGE NLS unused message: Project in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:52.110
!MESSAGE NLS unused message: Project_Members in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:57.157
!MESSAGE NLS unused message: Calm_AllPassed in: messages

!ENTRY org.eclipse.osgi 2 1 2010-02-09 17:26:57.172
!MESSAGE NLS unused message: Calm_AllResolved in: messages



Any ideas? Can I export the projects using repotools, and then reimport them? Is there a consistency checker I can use?

The other thing is that if changing the hostname and public URI is this dangerous (i.e. can corrupt a project and should only be attempted when users are definitely not allowed to access the system), there should be a warning somewhere. I would have expected the change to not take effect until after the server is restarted and not corrupt a project.

0 votes


Permanent link
Can I turn up the logging level on the client to see what is happening? Or should I check the server? It seems that there may be a disconnect between the client and the server since I can use the web client on the server to view the information.


There is already a log that likely contains exception information. Whenever a dialog fails to close, it's typically because an exception has occurred on the ui thread.
Depending on your installation, there should be a .log file for the client in a folder such as:
C:\Documents and Settings\{Windows login id}\IBM\RequirementsComposer\workspace\.metadata

As for the project problem, I would be suspicious that any projects created prior to the steps you went through in reconfiguring the server are in an invalid/corrupt state. Have you tried starting with a brand new project?


p.s. Appreciate the suggestions and feedback.

0 votes


Permanent link
Have you tried deleting the eclipse client workspace files typically found in

C:\Documents and Settings\<user>\IBM\RequirementsComposer


I have found that deleting this folder often solves a lot of problems. You will need to respecify your connection url, and username and password when you restart the client.

0 votes


Permanent link
Have you tried deleting the eclipse client workspace files typically found in

C:\Documents and Settings\<user>\IBM\RequirementsComposer


I have found that deleting this folder often solves a lot of problems. You will need to respecify your connection url, and username and password when you restart the client.


Thanks for the suggestion. I had tried that, but not since running through the full re-configuration process. I just deleted the workspace directory as suggested and restarted/reconfigured the RRC client. Unfortunately the results are the same.

We've now opened a defect with the RRC team here on Jazz.net, I'll post a resolution when it comes through.

0 votes

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Feb 06 '10, 9:56 a.m.

Question was seen: 7,358 times

Last updated: Feb 06 '10, 9:56 a.m.

Confirmation Cancel Confirm