| Summary: | Infinite loop in WeakHashMap (calling put method from WorkbenchServiceRegistry getService) | ||
|---|---|---|---|
| Product: | [RT] RAP | Reporter: | erru <erru> |
| Component: | Workbench | Assignee: | Project Inbox <rap-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | 2.0 | ||
| Target Milestone: | 3.0 RC3 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
erru
WeakHashMap is not synchronized as it's JavaDoc states. The WorkbenchServiceRegistry is static - shared by all UI sessions. The WorkbenchServiceRegistry code is the original RCP code and maybe we have to adjust it to multi-user environment. It seems a known problem that accesing the WeakHashMap unsynchronized from multiple threads may lead to endless loop. See [1] and [2]. [1] http://www.adam-bien.com/roller/abien/entry/endless_loops_in_unsychronized_weakhashmap [2] https://java.net/jira/browse/JAVASERVERFACES-2544 Pending change: https://git.eclipse.org/r/#/c/48938/ Change submitted. |