Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 350723

Summary: EDT build failures on a valid project
Product: z_Archived Reporter: Matt Heitz <mheitz>
Component: EDTAssignee: Project Inbox <edt.mofmodel-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: pharmon
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
This is my project
none
valid TestUILib none

Description Matt Heitz CLA 2011-06-29 12:44:00 EDT
I have the latest code from CVS.  My project is attached.  It includes some of the code from the RBD FVT tests for JavaScript.

Five errors appear in the log.  They're listed below in order from oldest to newest.

I experimented a bit with the TotalState record (from records.egl) and found that it has one array field.  If I comment it out or change it to not be an array, there's no error on TotalState.  But I also copied TotalState to a different project and it worked fine.

------------------------------------

Error #1: EDT Build Failure

org.eclipse.edt.compiler.internal.core.builder.BuildException: java.lang.ClassCastException: org.eclipse.edt.compiler.core.ast.ArrayAccess incompatible with org.eclipse.edt.compiler.core.ast.QualifiedName
	at org.eclipse.edt.compiler.internal.core.builder.AbstractProcessingQueue.process(AbstractProcessingQueue.java:187)
	at org.eclipse.edt.compiler.internal.core.builder.AbstractProcessingQueue.process(AbstractProcessingQueue.java:152)
	at org.eclipse.edt.ide.core.internal.builder.AbstractBuilder.processParts(AbstractBuilder.java:99)
	at org.eclipse.edt.ide.core.internal.builder.AbstractBuilder.build(AbstractBuilder.java:136)
	at org.eclipse.edt.ide.core.internal.builder.Builder.cleanBuild(Builder.java:167)
	at org.eclipse.edt.ide.core.internal.builder.Builder.build(Builder.java:94)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.ClassCastException: org.eclipse.edt.compiler.core.ast.ArrayAccess incompatible with org.eclipse.edt.compiler.core.ast.QualifiedName
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2MofExpression.visit(Egl2MofExpression.java:398)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2Mof.visit(Egl2Mof.java:1)
	at org.eclipse.edt.compiler.core.ast.FunctionInvocation.accept(FunctionInvocation.java:45)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2MofStatement.visit(Egl2MofStatement.java:442)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2Mof.visit(Egl2Mof.java:1)
	at org.eclipse.edt.compiler.core.ast.FunctionInvocationStatement.accept(FunctionInvocationStatement.java:36)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2MofStatement.visit(Egl2MofStatement.java:638)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2Mof.visit(Egl2Mof.java:1)
	at org.eclipse.edt.compiler.core.ast.TryStatement.accept(TryStatement.java:45)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2MofStatement.visit(Egl2MofStatement.java:399)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2Mof.visit(Egl2Mof.java:1)
	at org.eclipse.edt.compiler.core.ast.ForStatement.accept(ForStatement.java:163)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2MofPart.handleEndVisitPart(Egl2MofPart.java:422)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2MofPart.defaultHandleVisitPart(Egl2MofPart.java:347)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2MofPart.visit(Egl2MofPart.java:183)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2Mof.visit(Egl2Mof.java:1)
	at org.eclipse.edt.compiler.core.ast.Library.accept(Library.java:49)
	at org.eclipse.edt.compiler.internal.egl2mof.Egl2Mof.convert(Egl2Mof.java:160)
	at org.eclipse.edt.ide.core.internal.builder.AbstractProcessingQueue.createIRFromBoundAST(AbstractProcessingQueue.java:250)
	at org.eclipse.edt.ide.core.internal.builder.AbstractProcessingQueue.processCompiledPart(AbstractProcessingQueue.java:226)
	at org.eclipse.edt.ide.core.internal.builder.AbstractProcessingQueue.level03Compile(AbstractProcessingQueue.java:165)
	at org.eclipse.edt.compiler.internal.core.builder.AbstractProcessingQueue.process(AbstractProcessingQueue.java:169)
	... 17 more


Error #2: IWN.VAL.9001.e 0/0 Generation of arrayFlexArrayRecord was terminated because the part org.eclipse.edt.mof.serialization.DeserializationException: java.lang.RuntimeException: org.eclipse.edt.mof.serialization.TypeNotFoundException: org.eclipse.edt.mof.serialization.MofObjectNotFoundException: MofObject not found: org.eclipse.edt.mof.egl.ArrayType could not be found.


Error #3: IWN.VAL.9001.e 0/0 Generation of longDetails was terminated because the part org.eclipse.edt.mof.serialization.DeserializationException: java.lang.RuntimeException: org.eclipse.edt.mof.serialization.TypeNotFoundException: org.eclipse.edt.mof.serialization.MofObjectNotFoundException: MofObject not found: org.eclipse.edt.mof.egl.ArrayType could not be found.


Error #4: IWN.VAL.9001.e 0/0 Generation of results was terminated because the part org.eclipse.edt.mof.serialization.DeserializationException: java.lang.RuntimeException: org.eclipse.edt.mof.serialization.TypeNotFoundException: org.eclipse.edt.mof.serialization.MofObjectNotFoundException: MofObject not found: org.eclipse.edt.mof.egl.ArrayType could not be found.


Error #5: IWN.VAL.9001.e 0/0 Generation of TotalState was terminated because the part org.eclipse.edt.mof.serialization.DeserializationException: java.lang.RuntimeException: org.eclipse.edt.mof.serialization.TypeNotFoundException: org.eclipse.edt.mof.serialization.MofObjectNotFoundException: MofObject not found: org.eclipse.edt.mof.egl.ArrayType could not be found.
Comment 1 Matt Heitz CLA 2011-06-29 12:44:29 EDT
Created attachment 198843 [details]
This is my project
Comment 2 Matt Heitz CLA 2011-06-29 12:50:50 EDT
The project contains some invalid code.  I know the TestUILib library has problems.  The results library might be invalid in places, too.
Comment 3 Matt Heitz CLA 2011-06-29 12:58:57 EDT
Created attachment 198844 [details]
valid TestUILib

Here's a version of TestUILib with the invalid code cleaned up (as far as I can tell).
Comment 4 Matt Heitz CLA 2011-06-29 15:58:21 EDT
I think I've isolated the cause.  QualifiedFunctionInvocationImpl.resolveFunction is getting a NullPointerException when we're processing the call of the addTest function in TestUILib.init().  See the very long stack trace below.

The third arg to addTest is a function (the corresponding parameter is a delegate).  The line in resolveFunction causing the NullPointerException is this:
   argTypes[i] = (Classifier)expr.getType().getClassifier();
But expr.getType() returns null because the addTest function doesn't return a value.  In a case like this, where the expr is a function, we ought to be looking at the function itself not its return type.




org.eclipse.edt.mof.codegen.api.TemplateException: java.lang.reflect.InvocationTargetException
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:349)
	at org.eclipse.edt.gen.java.JavaGenerator.generate(JavaGenerator.java:100)
	at org.eclipse.edt.gen.AbstractGeneratorCommand.generate(AbstractGeneratorCommand.java:106)
	at org.eclipse.edt.ide.compiler.gen.JavaGenerator.generate(JavaGenerator.java:41)
	at org.eclipse.edt.ide.core.internal.generation.GenerationQueue.invokeGenerators(GenerationQueue.java:280)
	at org.eclipse.edt.ide.core.internal.generation.GenerationQueue.generate(GenerationQueue.java:198)
	at org.eclipse.edt.ide.core.internal.generation.GenerationQueue.generate(GenerationQueue.java:153)
	at org.eclipse.edt.ide.core.internal.generation.AbstractGenerator.build(AbstractGenerator.java:49)
	at org.eclipse.edt.ide.core.internal.generation.GenerationBuilder.cleanBuild(GenerationBuilder.java:93)
	at org.eclipse.edt.ide.core.internal.generation.GenerationBuilder.build(GenerationBuilder.java:43)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:343)
	... 21 more
Caused by: org.eclipse.edt.mof.codegen.api.TemplateException: java.lang.reflect.InvocationTargetException
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:349)
	at org.eclipse.edt.gen.java.templates.PartTemplate.genPart(PartTemplate.java:47)
	... 25 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:343)
	... 26 more
Caused by: org.eclipse.edt.mof.codegen.api.TemplateException: java.lang.reflect.InvocationTargetException
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:349)
	at org.eclipse.edt.gen.java.templates.EGLClassTemplate.genClassBody(EGLClassTemplate.java:83)
	... 30 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:343)
	... 31 more
Caused by: org.eclipse.edt.mof.codegen.api.TemplateException: java.lang.reflect.InvocationTargetException
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:349)
	at org.eclipse.edt.gen.java.templates.EGLClassTemplate.genFunctions(EGLClassTemplate.java:197)
	... 35 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:343)
	... 36 more
Caused by: org.eclipse.edt.mof.codegen.api.TemplateException: java.lang.reflect.InvocationTargetException
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:411)
	at org.eclipse.edt.gen.java.templates.EGLClassTemplate.genFunction(EGLClassTemplate.java:202)
	... 40 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor145.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:408)
	... 41 more
Caused by: org.eclipse.edt.mof.codegen.api.TemplateException: java.lang.reflect.InvocationTargetException
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:411)
	at org.eclipse.edt.gen.java.Context.gen(Context.java:209)
	at org.eclipse.edt.gen.java.templates.FunctionTemplate.genDeclaration(FunctionTemplate.java:49)
	... 45 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor83.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:408)
	... 47 more
Caused by: org.eclipse.edt.mof.codegen.api.TemplateException: java.lang.reflect.InvocationTargetException
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:411)
	at org.eclipse.edt.gen.java.Context.gen(Context.java:209)
	at org.eclipse.edt.gen.java.templates.StatementTemplate.genStatementNoBraces(StatementTemplate.java:30)
	... 51 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.edt.gen.EglContext.gen(EglContext.java:408)
	... 53 more
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.edt.mof.impl.AbstractVisitor.invokeVisit(AbstractVisitor.java:122)
	at org.eclipse.edt.mof.impl.AbstractVisitor.primVisit(AbstractVisitor.java:92)
	at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:206)
	at org.eclipse.edt.mof.impl.InternalEObject.visitChildren(InternalEObject.java:230)
	at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:208)
	at org.eclipse.edt.gen.ReorganizeCode.reorgCode(ReorganizeCode.java:57)
	at org.eclipse.edt.gen.java.templates.StatementBlockTemplate.processStatements(StatementBlockTemplate.java:49)
	at org.eclipse.edt.gen.java.templates.StatementBlockTemplate.genStatementBodyNoBraces(StatementBlockTemplate.java:38)
	... 57 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.edt.mof.impl.AbstractVisitor.invokeVisit(AbstractVisitor.java:119)
	... 64 more
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
	at org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl.getTarget(QualifiedFunctionInvocationImpl.java:51)
	at org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl.getTarget(QualifiedFunctionInvocationImpl.java:1)
	at org.eclipse.edt.gen.ReorganizeCode.processInvocation(ReorganizeCode.java:288)
	at org.eclipse.edt.gen.ReorganizeCode.visit(ReorganizeCode.java:271)
	... 68 more
Caused by: java.lang.NullPointerException
	at org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl.resolveFunction(QualifiedFunctionInvocationImpl.java:110)
	at org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl.getTarget(QualifiedFunctionInvocationImpl.java:49)
	... 71 more
Comment 5 Matt Heitz CLA 2011-06-29 16:01:14 EDT
This is a continuation of the previous comment, but it's so long I decided to start a new one.  After commenting out the line causing that problem, I began getting a NoSuchFunctionError at org.eclipse.edt.mof.egl.impl.BinaryExpressionImpl.resolveOperation(BinaryExpressionImpl.java:62).

I believe we haven't defined many of the valid operations on the float type.  I saw a similar problem from a line which used + between an any and a string literal.
Comment 6 Matt Heitz CLA 2011-06-29 16:27:13 EDT
I opened Bug 350746 problems mentioned in comment 5.  It appears the operator functions are defined correctly but they aren't found.
Comment 7 Paul Harmon CLA 2011-09-13 14:44:08 EDT
As near as I can tell, this is working now. I suspect that the changes that were put in for Bug 356075 may have fixed the original problem.
Comment 8 Matt Heitz CLA 2011-09-14 15:33:17 EDT
Verified.