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

Bug 314121

Summary: Lock-up on headless
Product: [Technology] Tigerstripe Reporter: Eric Dillon <erdillon>
Component: HeadlessAssignee: Richard Craddock <rcraddoc>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3    
Version: 0.5M1   
Target Milestone: 0.5M0   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Eric Dillon CLA 2010-05-24 10:58:29 EDT
When starting Headless, there is a deadlock at startup between main thread and worker on the set up of Classpath Variables.

Ultimately this boils down to:

   <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
      <classpathContainerInitializer
            class="org.eclipse.tigerstripe.workbench.internal.core.classpath.ReferencesInitializer"
            id="org.eclipse.tigerstripe.workbench.base.modelReferences"/>
   </extension>

triggering a worker to set up classpath variables, while the start() of the BasePlugin (activtor) eventually sets up classpath variables too. Leading to a deadlock as the start() being held up means that base plugin can't start (activator never finishes).
Comment 1 Eric Dillon CLA 2010-05-24 10:59:08 EDT
Looks like an option is to have our classpath set up be done in a worker (thru a job) as well.
Comment 2 Richard Craddock CLA 2010-05-28 05:38:13 EDT
Believe this has been fixed by provisiding the classPathVariables through an extension point rather than by calling them directly inthe start() method of the plugin