| Summary: | Exceptions reading registry during startup | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Brock Janiczak <brockj> | ||||
| Component: | Compendium | Assignee: | Oleg Besedin <ob1.eclipse> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | pascal | ||||
| Version: | 3.2 | ||||||
| Target Milestone: | 3.2 M5 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Brock Janiczak
Created attachment 32659 [details]
Exceptions from the console
I tried to debug this, but came up with even stranger errors. It looks like this may be a threading problem. I found two threads (Refresh Packages) and a worker for RegistryStrategyOSGI$ExtensionEventDispatcherJob trying to access the same TableReader at the same time. It could be something totally different though :) Yes, I think you found the problem. The TableReader is not thread-safe. I'll look into fixing it. (The reason the problem goes away with "-clean" is that TableReader is only used if we are reading registry information from the cache. In case of the "-clean" run there is no cache and TableReader is not invoked. However, next time you run Eclipse, the TableReader is called and at some point it might run into synchronization problem.) Thank you for your input! Oleg produced a patch for it (bug #121766) and I just released it. It will be in the next I build. |