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

Bug 312099

Summary: Errors when opening/closing PHP files, result in stack overflow
Product: z_Archived Reporter: Jacob Weber <jacob>
Component: PDTAssignee: PHP UI <php.ui-inbox>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3 CC: eclipse.org, gadi, ganoro, janne.suominen, todd
Version: unspecified   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Bug Depends on: 312145    
Bug Blocks:    
Attachments:
Description Flags
stack trace none

Description Jacob Weber CLA 2010-05-07 12:47:47 EDT
Build Identifier: 20100218-1602, PDT 2.2.0.v201004270700

When opening and closing PHP files, e.g. from the Navigator or from Search Results, I got the following error in the Error Log:

An internal error occurred during: "Semantic Highlighting Job".
java.lang.NullPointerException
	at org.eclipse.wst.sse.ui.internal.style.SemanticHighlightingReconciler.addPosition(SemanticHighlightingReconciler.java:172)
	at org.eclipse.wst.sse.ui.internal.style.SemanticHighlightingReconciler.addPosition(SemanticHighlightingReconciler.java:154)
	at org.eclipse.wst.sse.ui.internal.style.SemanticHighlightingReconciler.reconcile(SemanticHighlightingReconciler.java:119)
	at org.eclipse.wst.sse.ui.internal.style.SemanticHighlightingReconciler$1.run(SemanticHighlightingReconciler.java:267)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

When I continued opening more files, I got this, after which point Eclipse reported that there was a stack overflow, and asked me to quit:

An internal error occurred during: "Semantic Highlighting Job".
java.lang.StackOverflowError
	at java.util.ArrayList.get(ArrayList.java:322)
	at java.util.AbstractList$Itr.next(AbstractList.java:345)
	at org.eclipse.dltk.ast.ASTListNode.traverse(ASTListNode.java:79)
	at org.eclipse.php.internal.core.compiler.ast.nodes.PHPCallExpression.traverse(PHPCallExpression.java:43)
	at org.eclipse.dltk.ast.ASTListNode.traverse(ASTListNode.java:80)
	at org.eclipse.php.internal.core.compiler.ast.nodes.PHPCallExpression.traverse(PHPCallExpression.java:43)
	at org.eclipse.php.internal.core.compiler.ast.nodes.UnaryOperation.traverse(UnaryOperation.java:51)
	at org.eclipse.php.internal.core.compiler.ast.nodes.Assignment.traverse(Assignment.java:72)
	at org.eclipse.php.internal.core.compiler.ast.nodes.ExpressionStatement.traverse(ExpressionStatement.java:44)
	at org.eclipse.dltk.ast.statements.Block.traverse(Block.java:43)
	at org.eclipse.php.internal.core.compiler.ast.nodes.IfStatement.traverse(IfStatement.java:55)
	at org.eclipse.dltk.ast.statements.Block.traverse(Block.java:43)
	at org.eclipse.dltk.ast.declarations.MethodDeclaration.traverseChildNodes(MethodDeclaration.java:97)
	at org.eclipse.dltk.ast.declarations.MethodDeclaration.traverse(MethodDeclaration.java:71)
	at org.eclipse.dltk.ast.statements.Block.traverse(Block.java:43)
	at org.eclipse.dltk.ast.declarations.TypeDeclaration.traverse(TypeDeclaration.java:158)
	at org.eclipse.dltk.ast.statements.Block.traverse(Block.java:43)
	at org.eclipse.dltk.ast.declarations.ModuleDeclaration.traverse(ModuleDeclaration.java:71)
	at org.eclipse.php.internal.core.typeinference.PHPModelUtils.getNodeByClass(PHPModelUtils.java:867)
	at org.eclipse.php.internal.core.typeinference.PHPModelUtils.getDocBlock(PHPModelUtils.java:446)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveMagicMethodDeclaration(MethodReturnTypeEvaluator.java:192)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:103)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:108)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.codeassist.CodeAssistUtils.getFunctionReturnType(CodeAssistUtils.java:200)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:161)
	at 
...etc

Reproducible: Sometimes

Steps to Reproduce:
Can't always reproduce, but after opening and closing several PHP files, it will eventually happen.
Comment 1 Roy Ganor CLA 2010-05-07 17:39:07 EDT
obviously there is a bug but with this information it will be quite difficult to resolve it.

Can you provide more details like - the content of the file that makes this exception.

btw, have you noticed that a newer version is out? (20100505 - http://eclipse.org/downloads/?tab=developer)

thanks for reporting!
Comment 2 Jacob Weber CLA 2010-05-07 19:00:22 EDT
Some additional information:

When I open a PHP file, a "Semantic Highlighting Job" task appears in the Progress view (if I have "Show sleeping and system operations" turned on).

If I close the file before the job has completed, I get that error. If I wait for the job to complete, I don't.

It doesn't seem to depend on the file's content.
Comment 3 Zhongwei Zhao CLA 2010-05-07 21:33:53 EDT
Hi Jacob

The stack overflow bug has been fixed already,actually the reason is the same as bug 311720.And about "Semantic Highlighting Job" bug,I will create a bug for wtp.
Comment 4 Zhongwei Zhao CLA 2010-05-16 23:29:42 EDT
mark as fixed for bug 312145,but we need use wtp RC1 or later version.
Comment 5 Roy Ganor CLA 2010-05-17 01:27:25 EDT
(In reply to comment #4)
> mark as fixed for bug 312145,but we need use wtp RC1 or later version.

Great Job Zhao for the cross team work!
 
RC1 should be out soon (today / tomorrow)!
Comment 6 Zhongwei Zhao CLA 2010-06-01 07:07:14 EDT
mark as fixed
Comment 7 Gadi Goldbarg CLA 2010-06-18 03:20:53 EDT
At previously PDT RC`s have similar problem when just close and after that open it again. Now at PDT-2.2.0.v20100616 the same problem cannot be find anymore

Closing this issue for now, but feel free to reopened it if see the same behavior again

Verified by
Teodor Kirkov
teodor.k@zend.com
Comment 8 Todd Chaffee CLA 2010-09-07 10:34:39 EDT
I am having this problem in PDT 2.2.0.v20100519.

It's happening so often that I can no longer use Eclipse.
Comment 9 François Rey CLA 2010-09-23 08:26:32 EDT
Created attachment 179451 [details]
stack trace

Please reopen this bug.
I'm now having this issue on Eclipse Helios + PDT 2.2.0.v20100519 on Arch Linux 64 bits.

I noticed it a couple times already in PHP perspective.
I just had it now in the PHP Debug perspective.
Attached is the stack trace.
I think this needs to be reopened.
The op stack trace seem different than mine, but both show a loop over some methods, which should help identify an infinite loop.
I'll try to report more information next time it occurs.
Comment 10 François Rey CLA 2010-09-23 12:25:04 EDT
Here's another stacktrace, occured in compare editor:
java.lang.StackOverflowError
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:106)
	at org.eclipse.core.internal.filesystem.local.LocalFile.openInputStream(LocalFile.java:362)
	at org.eclipse.dltk.core.internal.environment.EFSFileHandle.openInputStream(EFSFileHandle.java:133)
	at org.eclipse.dltk.internal.core.util.Util.getResourceContentsAsCharArrayNoCache(Util.java:516)
	at org.eclipse.dltk.internal.core.FileCacheStub.get(FileCacheStub.java:49)
	at org.eclipse.dltk.internal.core.util.Util.getResourceContentsAsCharArray(Util.java:503)
	at org.eclipse.dltk.internal.core.ExternalSourceModule.getBufferContent(ExternalSourceModule.java:108)
	at org.eclipse.dltk.internal.core.AbstractSourceModule.getSource(AbstractSourceModule.java:300)
	at org.eclipse.php.internal.core.codeassist.PHPSelectionEngine.internalASTResolve(PHPSelectionEngine.java:155)
	at org.eclipse.php.internal.core.codeassist.PHPSelectionEngine.select(PHPSelectionEngine.java:97)
	at org.eclipse.dltk.internal.core.Openable.codeSelect(Openable.java:578)
	at org.eclipse.dltk.internal.core.AbstractSourceModule.codeSelect(AbstractSourceModule.java:85)
	at org.eclipse.dltk.internal.core.AbstractSourceModule.codeSelect(AbstractSourceModule.java:76)
	at org.eclipse.php.internal.core.ast.nodes.DefaultBindingResolver.resolveFunction(DefaultBindingResolver.java:548)
	at org.eclipse.php.internal.core.ast.nodes.FunctionDeclaration.resolveFunctionBinding(FunctionDeclaration.java:343)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:151)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92)
	at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
	at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
	at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92)
	at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490)
	at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154)
	at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111)
	at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
....
Comment 11 janne CLA 2010-10-28 03:53:30 EDT
yeah. eclipse just got unusable for me too. heap error and what not. osx, 1.6, latest helios from eclipse.org. i'm going back to netbeans until this is solved.

please, please change this to unsolved.

eclipse.buildId=I20100608-0911
java.version=1.6.0_22
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.php.product -keyring /Users/janne/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.php.product -keyring /Users/janne/.eclipse_keyring -showlocation

stack trace:

java.lang.OutOfMemoryError: Java heap space
at org.eclipse.php.internal.core.compiler.ast.parser.DocumentorLexer.<init>(DocumentorLexer.java:405)
at org.eclipse.php.internal.core.compiler.ast.parser.php5.CompilerAstLexer.getDocumentorLexer(CompilerAstLexer.java:60)
at org.eclipse.php.internal.core.ast.scanner.php5.PhpAstLexer.parsePHPDoc(PhpAstLexer.java:1210)
at org.eclipse.php.internal.core.compiler.ast.parser.php5.CompilerAstLexer.parsePHPDoc(CompilerAstLexer.java:65)
at org.eclipse.php.internal.core.ast.scanner.php5.PhpAstLexer.next_token(PhpAstLexer.java:2226)
at java_cup.runtime.lr_parser.scan(lr_parser.java:335)
at java_cup.runtime.lr_parser.parse(lr_parser.java:563)
at org.eclipse.php.internal.core.compiler.ast.parser.AbstractPHPSourceParser.parse(AbstractPHPSourceParser.java:59)
at org.eclipse.php.internal.core.compiler.ast.parser.php5.PhpSourceParser.parse(PhpSourceParser.java:36)
at org.eclipse.php.internal.core.compiler.ast.parser.AbstractPHPSourceParser.parse(AbstractPHPSourceParser.java:40)
at org.eclipse.php.internal.core.compiler.ast.parser.PHPSourceParserFactory.parse(PHPSourceParserFactory.java:41)
at org.eclipse.dltk.core.SourceParserUtil.parse(SourceParserUtil.java:137)
at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:197)
at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:183)
at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:168)
at org.eclipse.php.internal.core.typeinference.evaluators.GlobalVariableReferencesEvaluator.init(GlobalVariableReferencesEvaluator.java:115)
at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92)
at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490)
at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148)
at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154)
at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111)
at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220)
at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223)
at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:231)
at org.eclipse.php.internal.core.typeinference.PHPTypeInferenceUtils.resolveExpression(PHPTypeInferenceUtils.java:92)
at org.eclipse.php.internal.core.typeinference.BindingUtility.getFunctionReturnType(BindingUtility.java:490)
at org.eclipse.php.internal.core.ast.nodes.MethodBinding.getReturnType(MethodBinding.java:148)
at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.resolveReturnType(MethodReturnTypeEvaluator.java:154)
at org.eclipse.php.internal.core.typeinference.evaluators.MethodReturnTypeEvaluator.init(MethodReturnTypeEvaluator.java:111)
Comment 12 Todd Chaffee CLA 2010-10-28 08:30:36 EDT
Janne, I don't remember how I did it, but using the Eclipse options I managed to turn off the semantic highlighting and that solved the problem for me.  Hope that helps.