The JVM tells me that a deadlock has occurred:
Found one Java-level deadlock:
=============================
"TP-Processor107":
waiting for ownable synchronizer 0x00002aaaf58e70f0, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
which is held by "indexTrackerThread3"
"indexTrackerThread3":
waiting for ownable synchronizer 0x00002aaaf4394580, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
which is held by "TP-Processor16"
"TP-Processor16":
waiting for ownable synchronizer 0x00002aaaf58e70f0, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
which is held by "indexTrackerThread3"
We see what indexTrackerThread3awaits the resource stored in TP-Processor16, and vice versa. This is really a dead end.
We see what indexTrackerThread3awaits 0x00002aaaf4394580:
"indexTrackerThread3":
- parking to wait for <0x00002aaaf4394580>
My question is:
In dump threads , why is there no line - locked <0x00002aaaf4394580>?
It seems that 0x00002aaaf58e70f0 is not actually locked by the thread. What could be blocked?
In all the dead end docs that I read ( example ), for every single line - parking to wait for <0x123>there is always one - locked <0x123>line. So I'm starting to suspect a JVM error. I do not understand something?
: pastebin, . , "at", .