Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6475157

RMIConnectorServer.stop: deadlock

    XMLWordPrintable

Details

    • b01
    • sparc
    • solaris_9

    Backports

      Description

        The deadlock happens when:
        1) close the last client;
        2) stop the server immediately.

        Here the client report:
        <###@###.###>
        While running test cases against the server, I encountered a deadlock that prevented the tests from completing. From the stack trace, it looks like it's in the RMI communication performed by JMX. This needs to be looked into more closely because it has the potential to hang our tests (including anything that runs them, like daily builds), as well as obviously causing problems for the server itself.

        Neil


        2006-09-24 14:42:35
        Full thread dump Java HotSpot(TM) Client VM (1.6.0-rc-b99 mixed mode, sharing):

        ...............

        Found one Java-level deadlock:
        =============================
        "RMI Unreferenced-0":
          waiting to lock monitor 0x08099b88 (object 0x9ff0d648, a java.util.ArrayList),
          which is held by "main"
        "main":
          waiting to lock monitor 0x08099bec (object 0x9ff162b8, a javax.management.remote.rmi.RMIConnectionImpl),
          which is held by "RMI Unreferenced-0"

        Java stack information for the threads listed above:
        ===================================================
        "RMI Unreferenced-0":
        at javax.management.remote.rmi.RMIServerImpl.clientClosed(RMIServerImpl.java:324)
        - waiting to lock <0x9ff0d648> (a java.util.ArrayList)
        at javax.management.remote.rmi.RMIConnectionImpl.close(RMIConnectionImpl.java:182)
        - locked <0x9ff162b8> (a javax.management.remote.rmi.RMIConnectionImpl)
        at javax.management.remote.rmi.RMIConnectionImpl.unreferenced(RMIConnectionImpl.java:190)
        at sun.rmi.transport.Target$1.run(Target.java:310)
        at java.lang.Thread.run(Thread.java:619)
        "main":
        at javax.management.remote.rmi.RMIConnectionImpl.close(RMIConnectionImpl.java:162)
        - waiting to lock <0x9ff162b8> (a javax.management.remote.rmi.RMIConnectionImpl)
        at javax.management.remote.rmi.RMIServerImpl.close(RMIServerImpl.java:411)
        - locked <0x9ff0d648> (a java.util.ArrayList)
        - locked <0x9fef8cc8> (a org.opends.server.protocols.jmx.OpendsRMIJRMPServerImpl)
        at javax.management.remote.rmi.RMIConnectorServer.stop(RMIConnectorServer.java:528)
        at org.opends.server.protocols.jmx.RmiConnector.finalizeConnectionHandler(RmiConnector.java:433)
        at org.opends.server.protocols.jmx.JmxConnectionHandler.finalizeConnectionHandler(JmxConnectionHandler.java:508)
        at org.opends.server.protocols.jmx.JmxConnectionHandler.applyNewConfiguration(JmxConnectionHandler.java:798)
        at org.opends.server.protocols.jmx.JmxConnectionHandler.applyNewConfiguration(JmxConnectionHandler.java:771)
        at org.opends.server.protocols.jmx.JmxConnectTest.configureJmx(JmxConnectTest.java:375)
        at org.opends.server.protocols.jmx.JmxConnectTest.sslConnect(JmxConnectTest.java:336)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:552)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:411)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:785)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:114)
        at org.testng.TestRunner.privateRun(TestRunner.java:695)
        at org.testng.TestRunner.run(TestRunner.java:574)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:241)
        at org.testng.SuiteRunner.run(SuiteRunner.java:145)
        at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:901)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:863)
        at org.testng.TestNG.run(TestNG.java:613)
        at org.testng.TestNG.privateMain(TestNG.java:1001)
        at org.testng.TestNG.main(TestNG.java:938)

        Found 1 deadlock.

        Attachments

          Issue Links

            Activity

              People

                sjiang Shanliang Jiang (Inactive)
                sjiang Shanliang Jiang (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: