Code: Select all
jdk.internal.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:715)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1047)
java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:857)
com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
com.sun.javafx.application.LauncherImpl$$Lambda$411.0x000000080033bdd8.run()
java.lang.Thread.run(Thread.java:833)
However, as you can see the stack trace involves some randomness (com.sun.javafx.application.LauncherImpl$$Lambda$411.0x000000080033bdd8.) That part can be anything (0x000000080033b700, 0x000000080033a268, etc.)
When I click "Ignore a false positive" an entry is added to deadlock_ignore_list.json like the following:
Code: Select all
[
"jdk.internal.misc.Unsafe : park(boolean, long)",
"java.util.concurrent.locks.LockSupport : park(java.lang.Object)",
"java.util.concurrent.locks.AbstractQueuedSynchronizer : acquire(java.util.concurrent.locks.AbstractQueuedSynchronizer$Node, int, boolean, boolean, boolean, long)",
"java.util.concurrent.locks.AbstractQueuedSynchronizer : acquireSharedInterruptibly(int)",
"java.util.concurrent.CountDownLatch : await()",
"com.sun.javafx.application.LauncherImpl : launchApplication1(java.lang.Class, java.lang.Class, java.lang.String[])",
"com.sun.javafx.application.LauncherImpl : lambda$launchApplication$2(java.lang.Class, java.lang.Class, java.lang.String[], java.util.concurrent.CountDownLatch)",
"com.sun.javafx.application.LauncherImpl$$Lambda$*.0x0000000800382548 : run()"
]
I noticed the asterisk. I assume its some sort of wild card. So I tried manually adding the following to the json file:
Code: Select all
[
"jdk.internal.misc.Unsafe : park(boolean, long)",
"java.util.concurrent.locks.LockSupport : park(java.lang.Object)",
"java.util.concurrent.locks.AbstractQueuedSynchronizer : acquire(java.util.concurrent.locks.AbstractQueuedSynchronizer$Node, int, boolean, boolean, boolean, long)",
"java.util.concurrent.locks.AbstractQueuedSynchronizer : acquireSharedInterruptibly(int)",
"java.util.concurrent.CountDownLatch : await()",
"com.sun.javafx.application.LauncherImpl : launchApplication1(java.lang.Class, java.lang.Class, java.lang.String[])",
"com.sun.javafx.application.LauncherImpl : lambda$launchApplication$2(java.lang.Class, java.lang.Class, java.lang.String[], java.util.concurrent.CountDownLatch)",
"com.sun.javafx.application.LauncherImpl$$Lambda$*.0x* : run()"
]