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

[jstatd] Could not bind /JStatRemoteHost to RMI Registry

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8u40, 9
    • Fix Version/s: 9
    • Component/s: core-svc
    • Subcomponent:
    • Resolved In Build:
      b22

      Description

      ./bin/jstatd -J-XX:+UsePerfData -J-Djava.security.policy=./jdk/test/sun/tools/jstatd/all.policy
      Could not bind /JStatRemoteHost to RMI Registry
      java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
      java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
      java.lang.ClassNotFoundException: sun.jvmstat.monitor.remote.RemoteHost
      at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:418)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:266)
      at sun.rmi.transport.Transport$1.run(Transport.java:179)
      at sun.rmi.transport.Transport$1.run(Transport.java:176)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:175)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:744)
      at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
      at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)
      at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
      at java.rmi.Naming.rebind(Naming.java:177)
      at sun.tools.jstatd.Jstatd.bind(Jstatd.java:57)
      at sun.tools.jstatd.Jstatd.main(Jstatd.java:143)
      Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
      java.lang.ClassNotFoundException: sun.jvmstat.monitor.remote.RemoteHost
      at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
      at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:408)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:266)
      at sun.rmi.transport.Transport$1.run(Transport.java:179)
      at sun.rmi.transport.Transport$1.run(Transport.java:176)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:175)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:744)
      Caused by: java.lang.ClassNotFoundException: sun.jvmstat.monitor.remote.RemoteHost
      at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:426)
      at sun.rmi.server.LoaderHandler$Loader.loadClass(LoaderHandler.java:1207)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:359)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:340)
      at sun.rmi.server.LoaderHandler.loadClassForName(LoaderHandler.java:1221)
      at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:731)
      at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:674)
      at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:611)
      at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:646)
      at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:311)
      at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:256)
      at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1558)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1773)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
      ... 13 more

      sun/tools/jstatd/TestJstatdDefaults.java and sun/tools/jstatd/TestJstatdServer.java fail because jstatd process just print out the exception and keep running. The attept to verify with jps if jstatd is up an running fails:

      ./bin/jps <hostname>
      RMI Server JStatRemoteHost not available

      The test will hang forever. The failure is 100% reproducible.

        Attachments

          Activity

            People

            • Assignee:
              jbachorik Jaroslav BachorĂ­k
              Reporter:
              ykantser Yekaterina Kantserova (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: