Community
Participate
Working Groups
java.lang.ArrayIndexOutOfBoundsException: 9 at org.eclipse.core.internal.jobs.DeadlockDetector.lockReleased(DeadlockDetector.java:341) at org.eclipse.core.internal.jobs.LockManager.removeLockThread(LockManager.java:269) at org.eclipse.core.internal.jobs.ImplicitJobs.endThreadJob(ImplicitJobs.java:161) at org.eclipse.core.internal.jobs.ImplicitJobs.end(ImplicitJobs.java:116) at org.eclipse.core.internal.jobs.JobManager.endRule(JobManager.java:660) at org.eclipse.core.internal.utils.StringPoolJob.run(StringPoolJob.java:103) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) I got this exception when I had a dialog open for a repository that doesn't exist and a dialog open for an update available. I am using I20101029-0251 (4.1 I-build)
I also got: java.lang.Exception: :: OrderedLock (56), OrderedLock (65), OrderedLock (72), OrderedLock (75), OrderedLock (82), OrderedLock (87), OrderedLock (90), OrderedLock (93), OrderedLock (96), OrderedLock (161), OrderedLock (164), OrderedLock (167), R/, Worker-17 : 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, Worker-33 : 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, Worker-25 : 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, Worker-32 : 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, Worker-28 : 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, Worker-29 : 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, Worker-70 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, Worker-77 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, Worker-79 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
Does the 4.1 I build use the latest core.jobs?
(In reply to comment #2) > Does the 4.1 I build use the latest core.jobs? Yes, is using core.jobs from 20101008. This contains your recent fix in this area, but I haven't investigated to see if it could be related.
I've seen this before, but not since bug 262032 has been fixed. AFAICS this shouldn't related to that change. I think I can see a couple other issues when deadlock resolution occurs - there may be a way to cause resumption of suspendedLocks to corrupt the DeadlockDetector data structures.
This looks very similar to bug 295213 reported against 3.5. In that bug the AIOOB is at: if ((lock instanceof ILock) && (graph[threadIndex][lockIndex] == WAITING_FOR_LOCK)) { In this bug it's a little later : for (int j = 0; j < graph[threadIndex].length; j++) {
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.