Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 350723 - EDT build failures on a valid project
Summary: EDT build failures on a valid project
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: EDT (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-29 12:44 EDT by Matt Heitz CLA
Modified: 2017-02-23 14:19 EST (History)
1 user (show)

See Also:


Attachments
This is my project (108.90 KB, multipart/x-zip)
2011-06-29 12:44 EDT, Matt Heitz CLA
no flags Details
valid TestUILib (3.08 KB, application/octet-stream)
2011-06-29 12:58 EDT, Matt Heitz CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.