Community
Participate
Working Groups
Build Identifier: When main thread modifies file content parallel to DirtyRegionProcessor.BackgroundThread BadLocationException may be thrown in PhpReconcilingStrategy#lineEndTable: java.lang.IllegalStateException: PhpReconcilingStrategy#lineEndTable(document at org.eclipse.php.internal.core.ast.util.Util.lineEndTable(Util.java:3272) at org.eclipse.php.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:184) at org.eclipse.php.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:157) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Reproducible: Sometimes Steps to Reproduce: 1. Add and quickly remove few lines from the end of document. If DirtyRegionProcessor.BackgroundThread is still processing first modification (added lines) then exception is thrown.
Created attachment 210056 [details] BadLocationException caught in Util.lineEndTable - patch I think it's enough to catch BadLocationException and simply return the result as is instead of throwing IllegalStateException. As we know where this BadLocationException comes from and that nothing really unusual happened (concurrent thread access) there is no need to report this issue. Reconciling process has already been triggered anew by the next modification. Clean error log will give users and developers a peace of mind.
thanks!
No longer reproduced. Closing... Kalin Yanev kalin.a@zend.com
*** Bug 410502 has been marked as a duplicate of this bug. ***