Hi
i an using jconsole to monitor my
java application using jmx.
it happened once that the jconsole got stuck and all threads that use jmx in our application are blocked.
they are all waiting for an object held by the jconsole
here is a partial view from the jstack:
"RMI TCP Connection(635)-192.168.10.62" daemon prio=10 tid=0x0000000049f22800 nid=0x501c waiting for monitor entry [0x0000000042cd4000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.rmi.server.UID.<init>(UID.java:93)
- waiting to lock <0x0000000784288068> (a java.lang.Object)
at sun.rmi.transport.ConnectionOutputStream.<init>(ConnectionOutputStream.java:47)
at sun.rmi.transport.StreamRemoteCall.getOutputStream(StreamRemoteCall.java:83)
at sun.rmi.transport.StreamRemoteCall.getResultStream(StreamRemoteCall.java:171)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:312)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
"RMI TCP Connection(348)-192.168.10.115" daemon prio=10 tid=0x0000000049f1f800 nid=0x501b waiting on condition [0x0000000040fb6000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at java.rmi.server.UID.<init>(UID.java:107)
- locked <0x0000000784288068> (a java.lang.Object)
at sun.rmi.transport.ConnectionOutputStream.<init>(ConnectionOutputStream.java:47)
at sun.rmi.transport.StreamRemoteCall.getOutputStream(StreamRemoteCall.java:83)
at sun.rmi.transport.StreamRemoteCall.getResultStream(StreamRemoteCall.java:171)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:312)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
did anyone had this issue or heard about jmx gets stuck?
thanks