| Summary: | 'Processing Dirty Regions' pop-up error message when certain PHP code is in the editor. | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Dan Small <s.j.small> |
| Component: | PDT | Assignee: | PHP UI <php.ui-inbox> |
| Status: | CLOSED FIXED | QA Contact: | Ilina Stefanova <ilina.s> |
| Severity: | minor | ||
| Priority: | P1 | CC: | kalin.a |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Linux | ||
| Whiteboard: | |||
fixed Verified. Closing... |
Build Identifier: M20110210-1200 The following line of PHP code: ${'prefix'.$i}($line); generates a pop up window with the text 'Processing Dirty Regions' and the details 'An internal error occurred during: "Processing Dirty Regions". java.lang.NullPointerException' whenever focus is given to the file in the editor. The following code does not give the error and works exactly the same: call_user_func(${'prefix'.$i}, $line); I am reading a variable number human readable expressions from a configuration file (XML file), using PHP create_function to create a function, in memory, to process the expression, using PHP variable variables to label the functions then using this code to call the functions many thousands of times. The pop-up is a distraction as it appears every time focus is given to the file within the editor. It even happens when toggling breakpoints when debugging. The first line of code is faster than the second so it would be better to use the first line I provided. It occurs on Helios with PHP Development Tools (PDT) SDK Feature 2.2.1.v20101001-2300-53184QAN4JBQgLYPWMLcXn6Na9Od but not Galileo 3.5 with PHP Development Tools (PDT) SDK Feature 2.1.1. The error log entry is below: !ENTRY org.eclipse.core.jobs 4 2 2011-04-11 16:33:14.912 !MESSAGE An internal error occurred during: "Processing Dirty Regions". !STACK 0 java.lang.NullPointerException at org.eclipse.php.internal.core.model.PerFileModelAccessCache.getGlobalFunctions(PerFileModelAccessCache.java:151) at org.eclipse.php.internal.ui.editor.highlighters.DeprecatedHighlighting$DeprecatedApply.visit(DeprecatedHighlighting.java:93) at org.eclipse.php.internal.core.ast.nodes.FunctionInvocation.accept0(FunctionInvocation.java:78) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.ExpressionStatement.childrenAccept(ExpressionStatement.java:73) at org.eclipse.php.internal.core.ast.nodes.ExpressionStatement.accept0(ExpressionStatement.java:67) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.Program.childrenAccept(Program.java:195) at org.eclipse.php.internal.core.ast.nodes.Program.accept0(Program.java:188) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.ui.editor.highlighter.AbstractSemanticHighlighting.consumes(AbstractSemanticHighlighting.java:90) at org.eclipse.php.internal.ui.editor.highlighter.AbstractSemanticHighlighting.consumes(AbstractSemanticHighlighting.java:99) at org.eclipse.wst.sse.ui.internal.style.SemanticHighlightingReconciler.reconcile(SemanticHighlightingReconciler.java:127) at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.endProcessing(DocumentRegionProcessor.java:119) at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor.run(DirtyRegionProcessor.java:682) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) !ENTRY org.eclipse.core.jobs 4 2 2011-04-11 16:40:50.521 !MESSAGE An internal error occurred during: "Processing Dirty Regions". !STACK 0 java.lang.NullPointerException at org.eclipse.php.internal.core.model.PerFileModelAccessCache.getGlobalFunctions(PerFileModelAccessCache.java:151) at org.eclipse.php.internal.ui.editor.highlighters.DeprecatedHighlighting$DeprecatedApply.visit(DeprecatedHighlighting.java:93) at org.eclipse.php.internal.core.ast.nodes.FunctionInvocation.accept0(FunctionInvocation.java:78) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.InfixExpression.childrenAccept(InfixExpression.java:189) at org.eclipse.php.internal.core.ast.nodes.InfixExpression.accept0(InfixExpression.java:183) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.IfStatement.childrenAccept(IfStatement.java:95) at org.eclipse.php.internal.core.ast.nodes.IfStatement.accept0(IfStatement.java:89) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.Block.childrenAccept(Block.java:97) at org.eclipse.php.internal.core.ast.nodes.Block.accept0(Block.java:90) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.ForStatement.childrenAccept(ForStatement.java:128) at org.eclipse.php.internal.core.ast.nodes.ForStatement.accept0(ForStatement.java:113) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.Block.childrenAccept(Block.java:97) at org.eclipse.php.internal.core.ast.nodes.Block.accept0(Block.java:90) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.ForEachStatement.childrenAccept(ForEachStatement.java:108) at org.eclipse.php.internal.core.ast.nodes.ForEachStatement.accept0(ForEachStatement.java:97) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.Program.childrenAccept(Program.java:195) at org.eclipse.php.internal.core.ast.nodes.Program.accept0(Program.java:188) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.ui.editor.highlighter.AbstractSemanticHighlighting.consumes(AbstractSemanticHighlighting.java:90) at org.eclipse.php.internal.ui.editor.highlighter.AbstractSemanticHighlighting.consumes(AbstractSemanticHighlighting.java:99) at org.eclipse.wst.sse.ui.internal.style.SemanticHighlightingReconciler.reconcile(SemanticHighlightingReconciler.java:127) at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.endProcessing(DocumentRegionProcessor.java:119) at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor.run(DirtyRegionProcessor.java:682) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Reproducible: Always Steps to Reproduce: 1. Open a file containing the code or return focus to a file containing the code.