WebSphere Commerce Developer

Troubleshooting: StackOverflowError during projectImport causes feature enablement to fail

Feature enablement fails on a WebSphere Commerce Developer system with Rational Application Developer. In the WCDE_installdir\logs\enableFeature.log file, you see that the enablement operation failed with a java.lang.StackOverflowError error message.

Problem

The final lines of the log might look similar to the following example:
[projectImport] projectName=Rest projectLocation=null
[projectImport] project.refresh
[projectImport] (Begin)
[projectImport] ... subtask: Refreshing '/Rest'.
[projectImport] (Done)

BUILD FAILED
C:\IBM\WCDE_E~1\components\common\xml\enableFeatureForToolkit.xml:55: The following error occurred while executing this line:
C:\IBM\WCDE_E~1\components\common\xml\enableFeatureForToolkit.xml:149: The following error occurred while executing this line:
C:\IBM\WCDE_E~1\components\common\xml\toolkitWorkspaceTask.xml:46: The following error occurred while executing this line:
C:\IBM\WCDE_E~1\components\common\xml\toolkitWorkspaceTask.xml:67: The following error occurred while executing this line:
C:\IBM\WCDE_E~1\components\common\xml\toolkitWorkspaceTask.xml:298: The following error occurred while executing this line:
java.lang.StackOverflowError
The WCDE_installdir\logs\enablefeaturename_timestamp.log file contains a very long java stack trace that provides the following information about the cause of the error:
Caused by: java.lang.StackOverflowError
at java.util.Hashtable$Entry.equalsKey(Hashtable.java:129)
at java.util.Hashtable.get(Hashtable.java:522)
at java.net.URL.getURLStreamHandler(URL.java:1112)
at java.net.URL.<init>(URL.java:584)
at java.net.URL.<init>(URL.java:476)
at java.net.URL.<init>(URL.java:425)
at org.eclipse.osgi.baseadaptor.bundlefile.DirZipBundleEntry.getLocalURL(DirZipBundleEntry.java:59)
at org.eclipse.osgi.framework.internal.core.BundleURLConnection.getLocalURL(BundleURLConnection.java:120)
at org.eclipse.core.runtime.internal.adaptor.URLConverterImpl.resolve(URLConverterImpl.java:52)
at org.eclipse.core.runtime.FileLocator.resolve(FileLocator.java:187)
at com.ibm.ws.ast.st.core.internal.util.FileUtil.getBundleFullLocationPath(FileUtil.java:790)
at com.ibm.ws.ast.st.core.internal.runtime.WASRuntimeClasspathProvider.addLibraryEntryWithJavaDoc(WASRuntimeClasspathProvider.java:237)
at com.ibm.ws.ast.st.core.internal.runtime.WASRuntimeClasspathProvider.addLibraryEntry(WASRuntimeClasspathProvider.java:211)
at com.ibm.ws.ast.st.core.internal.runtime.WASRuntimeClasspathProvider.addJars(WASRuntimeClasspathProvider.java:80)
at com.ibm.ws.ast.st.core.internal.runtime.WASRuntimeClasspathProvider70.resolveClasspathContainer(WASRuntimeClasspathProvider70.java:242)
at org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate.resolveClasspathContainerImpl(RuntimeClasspathProviderDelegate.java:133)
at org.eclipse.jst.server.core.internal.RuntimeClasspathProviderWrapper.resolveClasspathContainerImpl(RuntimeClasspathProviderWrapper.java:146)
at org.eclipse.jst.server.core.internal.RuntimeClasspathContainer.getClasspathEntries(RuntimeClasspathContainer.java:77)
at org.eclipse.jdt.internal.core.JavaModelManager.containerPutIfInitializingWithSameEntries(JavaModelManager.java:564)
at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:49)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:716)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:777)
at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:4616)
at org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer.initialize(RuntimeClasspathContainerInitializer.java:46)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2461)
at org.eclipse.jdt.internal.core.JavaModelManager$12.run(JavaModelManager.java:2391)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2405)
at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1675)
at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2553)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2611)
at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:222)
at org.eclipse.jdt.internal.core.ChangeClasspathOperation.classpathChanged(ChangeClasspathOperation.java:67)
at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:110)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:716)

Solution

The error might not repeat if you try to run the enablement command again. If you still receive the error, you should install the latest recommended version of Rational Application Developer. See Recommended fixes and settings for WebSphere Commerce Version 7 for more information. You can find Rational Application Developer updates here Updates to Rational Application Developer for WebSphere Software.