Summary: | Stack overflow when container resolved to null | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Darin Wright <darin.eclipse> |
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 2.1 | ||
Target Milestone: | 2.1 M5 | ||
Hardware: | PC | ||
OS: | Windows 2000 | ||
Whiteboard: | |||
Bug Depends on: | |||
Bug Blocks: | 30922 |
Description
Darin Wright
2003-02-04 18:18:15 EST
java.lang.StackOverflowError at java.net.URLStreamHandler.hostsEqual(URLStreamHandler.java:396) at java.net.URLStreamHandler.sameFile(URLStreamHandler.java:342) at java.net.URLStreamHandler.equals(URLStreamHandler.java:275) at java.net.URL.equals(URL.java:857) at java.util.Hashtable.get(Hashtable.java:332) at org.eclipse.core.internal.boot.DelegatingURLClassLoader.isClassVisible (DelegatingURLClassLoader.java:821) at org.eclipse.core.internal.boot.DelegatingURLClassLoader.checkClassVisibility (DelegatingURLClassLoader.java:367) at org.eclipse.core.internal.plugins.PluginClassLoader.internalFindClassParentsSelf (PluginClassLoader.java:149) at org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParentsSelf (DelegatingURLClassLoader.java:499) at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass (DelegatingURLClassLoader.java:891) at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass (DelegatingURLClassLoader.java:871) at java.lang.ClassLoader.loadClass(ClassLoader.java:255) at org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension (PluginDescriptor.java:130) at org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension (PluginDescriptor.java:167) at org.eclipse.core.internal.plugins.ConfigurationElement.createExecutableExtension (ConfigurationElement.java:103) at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer (JavaCore.java:937) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:857) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1438) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateProjectReferencesIfNec essary(SetClasspathOperation.java:719) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:228) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:556) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2078) at org.eclipse.jdt.core.JavaCore$3.run(JavaCore.java:2749) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:2633) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:2739) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:63) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:872) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:867) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1438) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateProjectReferencesIfNec essary(SetClasspathOperation.java:719) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:228) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:556) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2078) at org.eclipse.jdt.core.JavaCore$3.run(JavaCore.java:2749) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:2633) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:2739) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:63) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:872) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:867) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1438) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateProjectReferencesIfNec essary(SetClasspathOperation.java:719) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:228) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:556) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2078) at org.eclipse.jdt.core.JavaCore$3.run(JavaCore.java:2749) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:2633) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:2739) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:63) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:872) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:867) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1438) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateProjectReferencesIfNec essary(SetClasspathOperation.java:719) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:228) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:556) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2078) at org.eclipse.jdt.core.JavaCore$3.run(JavaCore.java:2749) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:2633) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:2739) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:63) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:872) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:867) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1438) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateProjectReferencesIfNec essary(SetClasspathOperation.java:719) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:228) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:556) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2078) at org.eclipse.jdt.core.JavaCore$3.run(JavaCore.java:2749) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:343) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:671) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1588) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:2633) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:2739) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:63) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:872) ... Setting container to null should reset its cached value, causing next request to re-run the initializer again. However, it shouldn't loop internally. Fixed Verified. Regression test is ClasspathInitializerTests#testContainerInitializer05() |