Community
Participate
Working Groups
Dear all, Using the org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob class to load a target definition, we often obtain a deadlock that is caused by the use of a join inside the LoadTargetDefinitionJob#handleReload(String, List, PDEPreferencesManager, IProgressMonitor) method. This method instantiates the job TargetPlatformResetJob as follows: Job job = new TargetPlatformResetJob(state); job.schedule(); try { job.join(); } catch (InterruptedException e) { } I propose to remove the "job.join();" and I take this occasion to suggest to add the getTargetDefinition() method that returns the target definition being loaded. Best regards.
PDE bugs go to PDE.
Thank you for putting the bug in PDE. I had not done becauce the bug does not affect UI aspects and I have not found a component for PDE core bugs. (In reply to comment #1) > PDE bugs go to PDE.
What is the reset job waiting on that is causing your deadlock? It is a normal job (no workspace/ui dependencies) with no additional rules. A better solution would to move the code in the reset job to the load target job. There is no benefit to having them as separate jobs.
(In reply to comment #3) > What is the reset job waiting on that is causing your deadlock? It is a normal > job (no workspace/ui dependencies) with no additional rules. > The root cause is the TargetPlatformResetJob has IWorkspaceRoot(i.e., ResourcesPlugin.getWorkspace().getRoot()) as scheduling rule. > A better solution would to move the code in the reset job to the load target > job. There is no benefit to having them as separate jobs. yes I think also it's better to merge the code of these 2 classes.
Fixed in master: http://git.eclipse.org/c/pde/eclipse.pde.ui.git/commit/?id=7e200f86008e4256c55d4dd3f99ca9bd0ef988f0 Idrissa, please verify that this solves your deadlock issue.
Ok thansk!! I will test and inform you. (In reply to comment #5) > Fixed in master: > http://git.eclipse.org/c/pde/eclipse.pde.ui.git/commit/?id=7e200f86008e4256c55d4dd3f99ca9bd0ef988f0 > > Idrissa, please verify that this solves your deadlock issue.
Hello Curtis, yes this fixe the deadlock in our side. It's very cool.
Verified by the reporter.