Bug 186547

Summary: ClassFormatException in a non-existing JRE class
Product: [Eclipse Project] JDT Reporter: Wassim Melhem <wassim.melhem>
Component: CoreAssignee: Olivier Thomann <Olivier_Thomann>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3 CC: grant_gayed, mengli, tfmorris
Version: 3.3   
Target Milestone: 3.3 RC1   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Wassim Melhem CLA 2007-05-11 08:28:06 EDT
I started seeing this just before 3.3 M7 was out, I think.

At every startup, I get the following error logged.  The SunJCE_am.class does not even exist in my workspace.


eclipse.buildId=I20070511-0010
java.version=1.5.0_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -startup D:\Eclipse\eclipse\plugins\org.eclipse.equinox.launcher_1.0.0.v20070510.jar
Command-line arguments:  -os win32 -ws win32 -arch x86 -startup D:\Eclipse\eclipse\plugins\org.eclipse.equinox.launcher_1.0.0.v20070510.jar -data D:\Eclipse\UpdatedSource\plugins

Error
Fri May 11 08:22:30 EDT 2007
ClassFormatException in C:/Program Files/Java/jre1.5.0_03/lib/ext/sunjce_provider.jar|com/sun/crypto/provider/SunJCE_am.class. Please report this issue to JDT/Core including the problematic document

org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:342)
at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:121)
at org.eclipse.jdt.internal.core.search.indexing.BinaryIndexer.indexDocument(BinaryIndexer.java:622)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:74)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:314)
at org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex.execute(AddJarFileToIndex.java:197)
at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:392)
at java.lang.Thread.run(Unknown Source)
Comment 1 Frederic Fusier CLA 2007-05-11 09:09:48 EDT
Do you mean that SunJCE_am.class does not exist in
C:/Program Files/Java/jre1.5.0_03/lib/ext/sunjce_provider.jar file?
I verified that this class exists in jre1.5.0_12-ea
Comment 2 Olivier Thomann CLA 2007-05-11 09:12:16 EDT
I'll investigate it.
This means some exception has been thrown while reading this .class file.
The only consequence of this is that this class file is not indexed. My guess it that it has been obfuscated. I'll check it.
Comment 3 Olivier Thomann CLA 2007-05-11 09:13:04 EDT
You can also update your jre to see if this got fixed.
I'll try to get a jre 1.5.0_03 to reproduce this issue.
Comment 4 Olivier Thomann CLA 2007-05-11 18:24:31 EDT
I got this error:
org.eclipse.jdt.core.util.ClassFormatException
	at org.eclipse.jdt.internal.core.util.EnclosingMethodAttribute.<init>(EnclosingMethodAttribute.java:40)
	at org.eclipse.jdt.internal.core.util.ClassFileReader.<init>(ClassFileReader.java:257)
	at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:290)
	at org.eclipse.jdt.core.tools.disassembler.Disassemble.main(Disassemble.java:114)

I'll investigate.

This is not reproducable with the same class from a 1.5.0_12 JRE.
Comment 5 Olivier Thomann CLA 2007-05-12 15:47:24 EDT
In the JRE1.5.0_03, this class contains a EnclosingMethod attribute that is boggus. The enclosingClassIndex is pointing to a UTF-8 entry instead of a ConstantClass entry.
So there is nothing we can do.
Closing as INVALID.
Comment 6 Olivier Thomann CLA 2007-05-18 12:27:38 EDT
*** Bug 187845 has been marked as a duplicate of this bug. ***
Comment 7 Olivier Thomann CLA 2008-03-26 12:37:46 EDT
*** Bug 224046 has been marked as a duplicate of this bug. ***
Comment 8 Olivier Thomann CLA 2008-07-08 09:24:28 EDT
*** Bug 238017 has been marked as a duplicate of this bug. ***