along with a bunch of other threads waiting for the same lock.
In each of the Java dumps a different thread had gotten the lock and each time the thread owning the lock was doing a Resource/Path comparison like this:
3XMTHREADINFO "Worker-27880" J9VMThread:0x0000000002FFA000, omrthread_t:0x00000279AAA5A3A0, java/lang/Thread:0x000000008AE333D0, state:R, prio=5
3XMJAVALTHREAD (java/lang/Thread getId:0x6D5F, isDaemon:false)
3XMJAVALTHRCCL org/eclipse/osgi/internal/framework/ContextFinder(0x0000000080C91560)
3XMTHREADINFO1 (native thread ID:0x5FA0, native priority:0x5, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000081)
3XMCPUTIME CPU usage total: 0.921875000 secs, user: 0.828125000 secs, system: 0.093750000 secs, current category="Application"
3XMHEAPALLOC Heap bytes allocated since last GC cycle=1013440 (0xF76C0)
3XMTHREADINFO3 Java callstack:
4XESTACKTRACE at org/eclipse/core/runtime/Path.equals(Path.java:673(Compiled Code))
4XESTACKTRACE at org/eclipse/core/internal/resources/Resource.equals(Resource.java:985(Compiled Code))
4XESTACKTRACE at java/util/ArrayList.indexOfRange(ArrayList.java:299(Compiled Code))
4XESTACKTRACE at java/util/ArrayList.indexOf(ArrayList.java:286(Compiled Code))
4XESTACKTRACE at java/util/ArrayList.contains(ArrayList.java:275(Compiled Code))
4XESTACKTRACE at org/eclipse/core/internal/jobs/DeadlockDetector.lockAcquired(DeadlockDetector.java:317(Compiled Code))
4XESTACKTRACE at org/eclipse/core/internal/jobs/LockManager.addLockThread(LockManager.java:122(Compiled Code))
5XESTACKTRACE (entered lock: org/eclipse/core/internal/jobs/DeadlockDetector@0x0000000082680110, entry count: 1)
4XESTACKTRACE at org/eclipse/core/internal/jobs/WorkerPool.startJob(WorkerPool.java:265(Compiled Code))
4XESTACKTRACE at org/eclipse/core/internal/jobs/Worker.run(Worker.java:58(Compiled Code))
Environment
Windows 11
Eclipse OpenJ9 VM 17.0.3.0 (build openj9-0.32.0, JRE 17 Windows 11 amd64-64-Bit Compressed References 20220422_155 (JIT enabled, AOT enabled)
Recreate Sequence
Symptom
The source view opens but hangs, it is greyed/whited-out (not sure the terminology exactly), so you can't interact with it
Java dump analysis
I took three javacores. (IBM-only internal link at https://ibm.enterprise.slack.com/files/W4W23E3AM/F06E237P96D/olt494-java-dumps.zip).
Each shows the main thread in condition
waiting for this lock:
along with a bunch of other threads waiting for the same lock.
In each of the Java dumps a different thread had gotten the lock and each time the thread owning the lock was doing a Resource/Path comparison like this:
Environment