| Summary: | ArrayIndexOutOfBoundsException caused by concurrent threads | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [WebTools] WTP Source Editing | Reporter: | Natalia Bartol <natalia.bartol> | ||||
| Component: | wst.sse | Assignee: | wst.sse <wst.sse-inbox> | ||||
| Status: | NEW --- | QA Contact: | Nick Sandonato <nsand.dev> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 7 | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Natalia Bartol
Created attachment 209987 [details]
ArrayIndexOutOfBoundsException catched in DirtyRegionProcessor
I was trying to add synchronization on StructuredDocumentTextStore replace() and get() methods but this badly affects editor's performance.
I came up with the idea that maybe it is enough to catch ArrayIndexOutOfBoundsException in DirtyRegionProcessor so it will not stop processing of all remaining regions in case when one region cannot be reconciled properly.
When working with big php file, having this patch applied, in case of concurrent access nothing bad happens. Syntax colouring for changed region is reconciled just after the next modification of file and no exception is reported so user experience is much better.
Comment on attachment 209987 [details]
ArrayIndexOutOfBoundsException catched in DirtyRegionProcessor
Hi, Natalia. Thank you again for the patch. For now though, I would really like to try to get to the root of the problem instead of mitigating the exception. Thank you very much for the detailed analysis of the problem. Hopefully we can use that as a starting point.
|