Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tomcat thread waiting on and locking the same resource

Consider the following Java\Tomcat thread dump:

"http-0.0.0.0-4080-4" daemon prio=10 tid=0x0000000019a2b000 nid=0x360e in Object.wait() [0x0000000040b71000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002ab5565fe358> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00002ab5565fe358> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

Is this a deadlock? It seems that the same resource (0x00002ab5565fe358) is both locked and waited on - what does it mean?

like image 312
Adam Matan Avatar asked Oct 07 '22 05:10

Adam Matan


1 Answers

Its more like an infinite wait(). It would have said something like id1 is BLOCKED on monitor owned by id2

like image 151
clinton Avatar answered Oct 10 '22 02:10

clinton