Bug 17766

Summary: Strange error when launching Eclipse from inside Eclipse
Product: [Eclipse Project] JDT Reporter: Michael Valenta <Michael.Valenta>
Component: CoreAssignee: Olivier Thomann <Olivier_Thomann>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 CC: rodrigo
Version: 2.0   
Target Milestone: 2.0 F3   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Michael Valenta CLA 2002-05-24 13:59:30 EDT
Im not sure if this is logged to the proper component but I got the following 
exception when launching Eclipse from inside Eclipse. Notice the class 
name "java/io/F)le". It's happened three times in the last 3 days to different 
classes. Relaunching seems to fix the problem.

java.lang.ClassFormatError: org/eclipse/core/tests/harness/EclipseWorkspaceTest 
(Illegal Class name "java/io/F)le")
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:496)
	at java.security.SecureClassLoader.defineClass
(SecureClassLoader.java:117)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
	at java.net.URLClassLoader.access$300(URLClassLoader.java:69)
	at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:544)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:203)
	at 
org.eclipse.core.internal.plugins.PluginClassLoader.findClassParentsSelf
(PluginClassLoader.java:147)
	at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:750)
	at org.eclipse.core.internal.boot.DelegatingURLClassLoader.access$0
(DelegatingURLClassLoader.java:744)
	at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader$DelegateLoader.loadClass
(DelegatingURLClassLoader.java:70)
	at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassPrerequisites
(DelegatingURLClassLoader.java:429)
	at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:758)
	at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:730)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:257)
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:496)
	at java.security.SecureClassLoader.defineClass
(SecureClassLoader.java:117)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
	at java.net.URLClassLoader.access$300(URLClassLoader.java:69)
	at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:544)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:203)
	at 
org.eclipse.core.internal.plugins.PluginClassLoader.findClassParentsSelf
(PluginClassLoader.java:147)
	at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:750)
	at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:730)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:257)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadSuiteClass
(RemoteTestRunner.java:294)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.getTest
(RemoteTestRunner.java:251)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:304)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:216)
	at org.eclipse.pde.internal.junit.ui.RemotePluginTestRunner.main
(RemotePluginTestRunner.java:30)
	at org.eclipse.pde.internal.junit.ui.CoreTestApplication.run
(CoreTestApplication.java:27)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:739)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:200)
	at org.eclipse.core.launcher.Main.run(Main.java:643)
	at org.eclipse.core.launcher.Main.main(Main.java:476)
Comment 1 Michael Valenta CLA 2002-05-24 14:02:26 EDT
I was laucnhing using the JUnit Plugin luancher set the the core application
Comment 2 Rodrigo Peretti CLA 2002-05-24 15:06:12 EDT
Where do you get the test harness from? Is is a JAR or just a project checked 
out from the repository?
Comment 3 Michael Valenta CLA 2002-05-24 15:13:33 EDT
Its the jar from the JDT UI website. However, I've had the error on launching 
using the PDE launcher as well.
Comment 4 Rodrigo Peretti CLA 2002-05-27 15:05:50 EDT
It seems to be a problem with the compiled class file. Moving to JDT Core for 
comments.
Comment 5 Olivier Thomann CLA 2002-05-27 17:10:09 EDT
"java/io/F)le" is an illegal file name. I need to investigate how this jar file has been built.
Comment 6 Philipe Mulet CLA 2002-05-28 06:34:57 EDT
Michael - did you play with encodings prior to building this file ? This might 
be the well-known VM bug with custom encodings...
Comment 7 Michael Valenta CLA 2002-05-28 08:26:11 EDT
As far as I know, I didn't play with any encodings. 
Comment 8 Olivier Thomann CLA 2002-05-28 12:30:04 EDT
As soon as this happened again, please give me the .class file corresponding to the class 
org.eclipse.core.tests.harness.EclipseWorkspaceTest.
It is really weird that this 
happends sometimes only and you cannot reproduce it on a regular base. We have only one way to 
generate .class files. So if it is wrong, it should be wrong all the time.
Comment 9 Michael Valenta CLA 2002-05-29 10:52:26 EDT
It happened again (see rdsources).

Unhandled exception caught in event loop.
Reason:
org/eclipse/team/internal/ccvs/core/rdsources/EclipseSynchronizer
java.lang.NoClassDefFoundError: 
org/eclipse/team/internal/ccvs/core/rdsources/EclipseSynchronizer
	at 
org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot.getCVSFolderFor
(CVSWorkspaceRoot.java:41)
	at 
org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot.getCVSResourceFor
(CVSWorkspaceRoot.java:54)
	at org.eclipse.team.internal.ccvs.ui.wizards.SharingWizard$3.run
(SharingWizard.java:339)
	at org.eclipse.team.internal.ccvs.ui.CVSUIPlugin.runWithRefresh
(CVSUIPlugin.java:149)
	at 
org.eclipse.team.internal.ccvs.ui.wizards.SharingWizard.doesCVSDirectoryExist
(SharingWizard.java:336)
	at org.eclipse.team.internal.ccvs.ui.wizards.SharingWizard.addPages
(SharingWizard.java:90)
	at org.eclipse.team.internal.ui.ConfigureProjectWizard.addPages
(ConfigureProjectWizard.java:73)
	at org.eclipse.jface.wizard.WizardDialog.createContents
(WizardDialog.java:451)
	at org.eclipse.jface.window.Window.create(Window.java:278)
	at org.eclipse.jface.window.Window.open(Window.java:527)
	at org.eclipse.team.internal.ui.actions.ConfigureProjectAction$1.run
(ConfigureProjectAction.java:36)
	at org.eclipse.team.internal.ui.actions.TeamAction$1.run
(TeamAction.java:156)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:56)
	at org.eclipse.team.internal.ui.actions.TeamAction.run
(TeamAction.java:153)
	at org.eclipse.team.internal.ui.actions.ConfigureProjectAction.run
(ConfigureProjectAction.java:29)
	at org.eclipse.ui.internal.PluginAction.runWithEvent
(PluginAction.java:210)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:407)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(ActionContributionItem.java:361)
	at org.eclipse.jface.action.ActionContributionItem.access$0
(ActionContributionItem.java:352)
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java:47)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:75)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1527)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1289)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1085)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1068)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:739)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:432)
	at EclipseRuntimeLauncher.main(EclipseRuntimeLauncher.java:24)
Comment 10 Olivier Thomann CLA 2002-05-29 11:56:06 EDT
Could you please try with a newer VM? We suspect either a class loader bug or a runtime bug. The IBM VM 
you are using is quite boggus (JITs problems, etc.). If you don't recompile and it is working, it 
means the .class files themselves are all right. I will investigate them, but this comes after 
some bugs in AST/DOM.
Comment 11 Olivier Thomann CLA 2002-05-31 11:10:35 EDT
This looks like a runtime problem. If you get it again with a newer VM, please reopen it and add a 
note.