Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDE hangs opening server.xml "Source" tab #494

Open
scottkurz opened this issue Jan 12, 2024 · 0 comments
Open

IDE hangs opening server.xml "Source" tab #494

scottkurz opened this issue Jan 12, 2024 · 0 comments

Comments

@scottkurz
Copy link
Member

scottkurz commented Jan 12, 2024

Recreate Sequence

  1. import a Liberty Maven project (1b. say "Yes" to generating the Liberty runtime via Liberty Maven integration).
  2. open the project's server.xml
  3. click the "Source" editor tab.

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

3XMTHREADINFO      "main" J9VMThread:0x000000000001E400, omrthread_t:0x00000279F960B090, java/lang/Thread:0x00000000800CA968, state:B, prio=6
3XMJAVALTHREAD            (java/lang/Thread getId:0x1, isDaemon:false)
3XMJAVALTHRCCL            org/eclipse/osgi/internal/framework/ContextFinder(0x0000000080C91560)
3XMTHREADINFO1            (native thread ID:0x51AC, native priority:0x6, native policy:UNKNOWN, vmstate:B, vm thread flags:0x00000281)
3XMCPUTIME               CPU usage total: 7.265625000 secs, user: 5.421875000 secs, system: 1.843750000 secs, current category="Application"
3XMTHREADBLOCK     Blocked on: org/eclipse/core/internal/jobs/DeadlockDetector@0x0000000082680110 Owned by: "Worker-27880" (J9VMThread:0x0000000002FFA000, java/lang/Thread:0x000000008AE333D0)
3XMHEAPALLOC             Heap bytes allocated since last GC cycle=0 (0x0)
3XMTHREADINFO3           Java callstack:
4XESTACKTRACE                at org/eclipse/core/internal/jobs/LockManager.addLockWaitThread(LockManager.java:141)
4XESTACKTRACE                at org/eclipse/core/internal/jobs/OrderedLock.doAcquire(OrderedLock.java:189)
4XESTACKTRACE                at org/eclipse/core/internal/jobs/OrderedLock.acquire(OrderedLock.java:125)
4XESTACKTRACE                at org/eclipse/core/internal/jobs/OrderedLock.acquire(OrderedLock.java:100(Compiled Code))
4XESTACKTRACE                at org/eclipse/core/internal/jobs/OrderedLock.acquire(OrderedLock.java:87(Compiled Code))
4XESTACKTRACE                at org/eclipse/wst/sse/core/internal/model/ModelManagerImpl.getExistingModelForRead(ModelManagerImpl.java:1264)
4XESTACKTRACE                at org/eclipse/wst/xml/ui/internal/autoedit/StructuredAutoEditStrategyXML.customizeDocumentCommand(StructuredAutoEditStrategyXML.java:49)
4XESTACKTRACE                at org/eclipse/jface/text/TextViewer.customizeDocumentCommand(TextViewer.java:3709)

waiting for this lock:

org/eclipse/core/internal/jobs/DeadlockDetector@0x0000000082680110

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)
  • Eclipse Platform 4.29.0.v20230903-1000 org.eclipse.platform.feature.group Eclipse.org
  • WebSphere® Application Server Liberty Tools 2023.0.200.v20231128_1051 com.ibm.websphere.wdt.server.tools.main.feature.group IBM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant