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