Bug 329090 - AIOOBE inside org.eclipse.core.internal.jobs.DeadlockDetector.lockReleased
Summary: AIOOBE inside org.eclipse.core.internal.jobs.DeadlockDetector.lockReleased
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Runtime (show other bugs)
Version: 3.7   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: platform-runtime-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-29 14:45 EDT by Olivier Thomann CLA
Modified: 2019-09-06 15:32 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Thomann CLA 2010-10-29 14:45:55 EDT
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)
Comment 1 Olivier Thomann CLA 2010-10-29 14:48:00 EDT
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,
Comment 2 James Blackburn CLA 2010-10-30 04:46:14 EDT
Does the 4.1 I build use the latest core.jobs?
Comment 3 John Arthorne CLA 2010-11-01 12:05:55 EDT
(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.
Comment 4 James Blackburn CLA 2010-11-02 09:12:45 EDT
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.
Comment 5 James Blackburn CLA 2010-11-26 05:17:19 EST
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++) {
Comment 6 Eclipse Webmaster CLA 2019-09-06 15:32:48 EDT
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.