| Summary: | Lock-up on headless | ||
|---|---|---|---|
| Product: | [Technology] Tigerstripe | Reporter: | Eric Dillon <erdillon> |
| Component: | Headless | Assignee: | 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: | |||
Looks like an option is to have our classpath set up be done in a worker (thru a job) as well. 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 |
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).