Found one Java-level deadlock:
=============================
"Thread-1":
waiting to lock monitor 0x00007f8c... (a java.lang.Object)
which is held by "Thread-0"
"Thread-0":
waiting to lock monitor 0x00007f8c... (a java.lang.Object)
which is held by "Thread-1"
Java stack information for the threads listed above:
===================================================
"Thread-1":
at DeadlockDemo.methodB(DeadlockDemo.java:30)
- waiting to lock <0x000000076b5f6d20> (a java.lang.Object)
- locked <0x000000076b5f6d10> (a java.lang.Object)
"Thread-0":
at DeadlockDemo.methodA(DeadlockDemo.java:20)
- waiting to lock <0x000000076b5f6d10> (a java.lang.Object)
- locked <0x000000076b5f6d20> (a java.lang.Object)