Question

For the last few days, my Domino Designer (9.0.1) has been "forgetting" the applications which show in my Applications Eclipse View. It was initially sporadic, so not every day, and I had thought it was a one-off, temporary thing. Now it is throwing a fun error.

screen shot of my error in DDE

I should also add that, after a suggestion from a co-worker, I renamed my workspace folder, and that allowed me to re-build it from scratch and it is back to a working state. So to qualify this, it is no longer an immediate crisis (which would prevent my using Designer to interact with an nsf), it's more of a:

  1. curiosity, instead of show stopper
  2. training moment, so I can learn what the heck this all means
  3. hope, that some of my learned fellow developers can bequeath some excellent skills, in troubleshooting and reading this error (since all I see is a null pointer exception, in relation to my com.ibm.designer.domino.navigator.DDViewer and my org.eclipse.ui.internal.Workbench*)

Any input would be appreciated. I will regard this question as "answered" if I am able to better orientate myself in my troubleshooting efforts; in order to eliminate such a heavy handed approach to "fixing" my Designer environment, should this arise again.

Full text of the error from the image:

java.lang.NullPointerException
        at com.ibm.icu.text.RuleBasedCollator.getFirstUnmatchedOffset(Unknown Source)
        at com.ibm.icu.text.RuleBasedCollator.compare(Unknown Source)
        at com.ibm.designer.domino.navigator.DesignerNavResourceComparator.compare(Unknown Source)
        at org.eclipse.jface.viewers.ViewerComparator$1.compare(Unknown Source)
        at java.util.Arrays.mergeSort(Unknown Source)
        at java.util.Arrays.sort(Unknown Source)
        at java.util.Arrays.sort(Unknown Source)
        at org.eclipse.jface.viewers.ViewerComparator.sort(Unknown Source)
        at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(Unknown Source)
        at com.ibm.designer.domino.navigator.DDViewer.getChildren(Unknown Source)
        at com.ibm.designer.domino.navigator.DDViewer.internalRefresh(Unknown Source)
        at com.ibm.designer.domino.navigator.DDViewer.inputChanged(Unknown Source)
        at org.eclipse.jface.viewers.ContentViewer.setInput(Unknown Source)
        at org.eclipse.jface.viewers.StructuredViewer.setInput(Unknown Source)
        at com.ibm.designer.domino.navigator.DDNavigator.refreshContents(Unknown Source)
        at com.ibm.designer.domino.navigator.DDNavigator.createPartControl(Unknown Source)
        at org.eclipse.ui.internal.ViewReference.createPartHelper(Unknown Source)
        at org.eclipse.ui.internal.ViewReference.createPart(Unknown Source)
        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(Unknown Source)
        at org.eclipse.ui.internal.WorkbenchPage$ActivationList.setActive(Unknown Source)
        at org.eclipse.ui.internal.WorkbenchPage$17.runWithException(Unknown Source)
        at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(Unknown Source)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Unknown Source)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(Unknown Source)
        at org.eclipse.swt.widgets.Display.syncExec(Unknown Source)
        at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(Unknown Source)
        at org.eclipse.ui.internal.WorkbenchPage.restoreState(Unknown Source)
        at org.eclipse.ui.internal.WorkbenchWindow.restoreState(Unknown Source)
        at com.ibm.rcp.personality.framework.internal.PersonalityWindowStateStore.restoreState(Unknown Source)
        at com.ibm.rcp.platform.personality.DefaultWorkbenchWindowAdvisor.postWindowCreate(Unknown Source)
        at com.ibm.designer.domino.rcp.personality.DesignerWorkbenchWindowAdvisor.postWindowCreate(Unknown Source)
        at org.eclipse.ui.internal.WorkbenchWindow.fireWindowCreated(Unknown Source)
        at org.eclipse.ui.internal.WorkbenchWindow.open(Unknown Source)
        at org.eclipse.ui.internal.Workbench$22.runWithException(Unknown Source)
        at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(Unknown Source)
        at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(Unknown Source)
        at com.ibm.rcp.personality.framework.internal.RCPWorkbenchAdvisor.openWindows(Unknown Source)
        at org.eclipse.ui.internal.Workbench$27.runWithException(Unknown Source)
        at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(Unknown Source)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Unknown Source)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(Unknown Source)
        at org.eclipse.swt.widgets.Display.syncExec(Unknown Source)
        at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(Unknown Source)
        at org.eclipse.ui.internal.Workbench.init(Unknown Source)
        at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
        at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
        at org.eclipse.ui.internal.Workbench$5.run(Unknown Source)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
        at com.ibm.rcp.personality.framework.internal.RCPApplication.run(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(Unknown Source)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
        at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
        at org.eclipse.equinox.launcher.Main.run(Unknown Source)
        at com.ibm.rcp.core.internal.launcher.Main.startLaunch(Unknown Source)
        at com.ibm.rcp.core.internal.launcher.Main.main(Unknown Source)
        at com.ibm.rcp.core.internal.launcher.Main.run(Unknown Source)
Was it helpful?

Solution

This issue has been reported to IBM development as SPR TMDS97PURR. In that instance the developer designer client had crashed and then it failed in the way you mentioned.

They deleted their workspace and carried on. Development were unable to reproduce the issue and closed it off as not reproducible.

If you are able to open a PMR, you can have your broken workspace submitted to the SPR, if you want them to investigate further.

OTHER TIPS

The fix I found involves editing Data\workspace.metadata.plugins\com.ibm.designer.domino.ide.resources\wsInfo.xml

In my case, the file appeared wellformed but for the last couple of 'project' entries. Typically they were missing properties that the other 'project' entries have like 'replicaid'or 'servername'

Deleting those lines succesfully enabled Designer use, without losing all working sets.

Losing all working sets is an immense pain when supporting more than 20 application templates with more than 1600 dependant databases by one person, me.

So try just deleting a few offending lines from wsInfo.xml and enjoy a fixed Designer.

IBM: Please feel free to make parsing wsInfo.xml more robust so this no longer happens.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top