Hello,

I have a web server application running (I am using TOMCAT NIO connector).
Looking at the thread dump It appears 392 request processing threads are
stuck while waiting for a monitor:

Waiting for monitor entry [0x58d75000..0x58d75eb0] at
java.nio.channels.spi.AbstractSelector.cancel(AbstractSelector.java:71)
- waiting to lock <0x739bdeb8> (a java.util.HashSet)
at java.nio.channels.spi.AbstractSelectionKey.cancel(
AbstractSelectionKey.java:56)
- locked <0xd8727238> (a sun.nio.ch.SelectionKeyImpl)

The "wanted" monitor is being held by the main selector thread which also
wait for a monitor entry:

Waiting for monitor entry [0x58d75000..0x58d75eb0]
at java.nio.channels.spi.AbstractSelector.cancel(AbstractSelector.java:71)
- waiting to lock <0x739bdeb8> (a java.util.HashSet)
at java.nio.channels.spi.AbstractSelectionKey.cancel(
AbstractSelectionKey.java:56)
- locked <0xd8727238> (a sun.nio.ch.SelectionKeyImpl)

The monitor that the selector is waiting for is not being held by any other
application thread.

Meanwhile, I am receiving request timeouts.

Comments will be appreciated.
Thanks

Reply via email to