Community
Participate
Working Groups
In our current codes we have several java methods which contains more than 10,000 lines, JDT in Eclipse3.4R3(with IBM JDK1.6,compile compliance level:1.6) will thrown some JDT related errors when compiling the java classes contained such kind of methods. We changed the method to 1 line and the compiling error disappeared. Another finding is that if we didn't change the code, only changed the Java compiler's compliance level to 1.5, the compiling error also disappeared. It seems to us that there is some limitation/restriction in Eclipse3.4's JDT + JDK1.6 , since these 10,000-line methods can be compiled successfully in Eclipse3.3 + JDK1.5. Error detail: Internal compiler error java.lang.IllegalArgumentException: info cannot be null at org.eclipse.jdt.internal.compiler.codegen.StackMapFrame.addStackItem(StackMapFrame.java:81) at org.eclipse.jdt.internal.compiler.ClassFile.traverse(ClassFile.java:7498) at org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttribute(ClassFile.java:1613) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java: 244) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java: 188) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:530) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:581) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:356) at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:755) at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:137) at java.lang.Thread.run(Thread.java:735)
I'll investigate.
Marking for 3.4.1
Created attachment 104362 [details] Proposed fix + regression tests This should be backported to 3.3.x.
+1 for 3.3.x
Confirming 3.4.1 is the target for this one.
(In reply to comment #4) > +1 for 3.3.x In fact 3.3.x is not concerned by this patch as it doesn't contain the fix for bug 185350.
Added org.eclipse.jdt.core.tests.compiler.regression.StackMapAttributeTest#test036 for 3.3.x stream.
Jerome - pls release Olivier's patch for 3.4.1 integration. Olivier - pls verify, and release it to 3.5 when you return.
Proposed fix and regression test released for 3.4.1. Note that a binary patch is being prepared and should be available soon. Keeping the bug opened until Olivier releases the fix and tests in HEAD.
Released for 3.5M1.
Fixed.
Verified for 3.5M1 using I20080805-1307
Can the JDT team confirm that the fix is indeed included in the Eclipse 3.4.1 builds? The problem appears to be in the 7/24 buikd (eclipse-JDT-SDK-M20080724-0918.zip).
(In reply to comment #13) > The problem appears to be in the 7/24 buikd > (eclipse-JDT-SDK-M20080724-0918.zip). Then this is a different problem. The fix for the problem is included in this build. I tried the regression test and it fails on 3.4.0 and it works on 07/24 build.
The fix should be included in v_875_R34x or above (3.4 maintenance) or v_902 (HEAD stream). Let me know as soon as possible if you can reproduce the failure with such a build.
Verified for 3.4.1 using M20080827-2000.