Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 123052

Summary: Exceptions reading registry during startup
Product: [Eclipse Project] Equinox Reporter: Brock Janiczak <brockj>
Component: CompendiumAssignee: 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 Flags
Exceptions from the console none

Description Brock Janiczak CLA 2006-01-08 23:36:59 EST
Version: 3.2.0
Build id: I20060105-0800

Every so often i get exceptions in my console about reading the extension registry.  Starting Eclipse with a -clean fixes it for a few restarts, but it always seems to come back.  It seems to have started after installing Mylar, but it could be a coincidence.

Attached are the exceptions from the console.
Comment 1 Brock Janiczak CLA 2006-01-08 23:37:35 EST
Created attachment 32659 [details]
Exceptions from the console
Comment 2 Brock Janiczak CLA 2006-01-09 00:45:54 EST
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 :)
Comment 3 Oleg Besedin CLA 2006-01-09 09:53:02 EST
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!
Comment 4 Pascal Rapicault CLA 2006-01-09 18:45:38 EST
Oleg produced a patch for it (bug #121766) and I just released it. It will be in the next I build.