Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 340405 - Dead lock between jobs at Eclipse startup
Summary: Dead lock between jobs at Eclipse startup
Status: VERIFIED DUPLICATE of bug 320329
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.6.2   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Jay Arthanareeswaran CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-18 05:34 EDT by Nicolas Lalevée CLA
Modified: 2011-05-15 23:27 EDT (History)
2 users (show)

See Also:


Attachments
the jstack output during the dead lock (18.06 KB, text/plain)
2011-03-18 05:36 EDT, Nicolas Lalevée CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Lalevée CLA 2011-03-18 05:34:03 EDT
Build Identifier: M20110210-1200

Continuation of http://www.eclipse.org/forums/index.php?t=rview&th=206257

I am one of the developper behind IvyDE : http://ant.apache.org/ivy/ivyde . This plugin is managing the dependencies computed by Ivy.
In the trunk version I often get a sort of dead lock between some Eclipse Jobs and the IvyDE one and I would like to understand why, so I can fix my plugin.

What I see is in the progress view, the IvyDE resolve job (job which compute the dependencies of each project and setup the IvyDE classpath containers) and the "Initialzin Java Tooling" jobs being both stuck. If I cancel the IvyDE job, then things progress and terminate sucessfully.

Please find there the relevant jstack output : http://people.apache.org/~hibou/jstack-ivyde.txt

I don't understand much which thread is blocking ivyde one.
To explain a little bit the IvyDE stacks, the "Worker-4" is the IvyDE Job which is launching the "IvyDE resolver thread" which actually do the resolve. We have two threads here to bind the Eclipse progress monitor into Ivy's interuption mechanism so the resolve may be stop as early as possible. And during that resolve, Ivy is also configured to search dependencies into the workspace (WorkspaceResolver). And during that search in the workspace, it looks up for the IvyDE classpath containers of the projects which holds the Ivy metadata required to achieve the Ivy resolve.


Reproducible: Always

Steps to Reproduce:
1. Install latest IvyDE from the updatesite https://hudson.apache.org/hudson/job/IvyDE-updatesite/lastSuccessfulBuild/artifact/trunk/build
2. Setup a project which use IvyDE (there are many here http://svn.apache.org/repos/asf/ant/ivy/ivyde/trunk/test/ )
3. Restart eclipse
Comment 1 Nicolas Lalevée CLA 2011-03-18 05:36:00 EDT
Created attachment 191489 [details]
the jstack output during the dead lock

here is the jstack output referenced in the description
Comment 2 James Blackburn CLA 2011-03-18 06:24:09 EDT
This looks like bug 320329
Comment 3 Ayushman Jain CLA 2011-03-18 07:26:20 EDT
> This looks like bug 320329
Yup! Jay, please confirm if this is indeed a dup.
Comment 4 Nicolas Lalevée CLA 2011-03-18 15:07:59 EDT
I tried with the 3.7 M6, I cannot reproduce the lock.
Comment 5 James Blackburn CLA 2011-03-18 15:10:09 EDT
As per comment 4

*** This bug has been marked as a duplicate of bug 320329 ***
Comment 6 Jay Arthanareeswaran CLA 2011-05-15 23:27:52 EDT
Verified with build I20110514-0800