Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 342465 - 'Processing Dirty Regions' pop-up error message when certain PHP code is in the editor.
Summary: 'Processing Dirty Regions' pop-up error message when certain PHP code is in t...
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: PDT (show other bugs)
Version: unspecified   Edit
Hardware: Other Linux
: P1 minor (vote)
Target Milestone: ---   Edit
Assignee: PHP UI CLA
QA Contact: Ilina Stefanova CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-11 12:23 EDT by Dan Small CLA
Modified: 2020-05-14 11:07 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Small CLA 2011-04-11 12:23:30 EDT
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.
Comment 1 Zhongwei Zhao CLA 2011-05-11 00:20:18 EDT
fixed
Comment 2 Kalin CLA 2011-07-28 03:48:22 EDT
Verified.
Closing...