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

java.rmi.NoSuchObjectException: no such object in table

    XMLWordPrintable

Details

    • b14
    • generic
    • generic

    Backports

      Description

        Failure encounted while running test/jdk/sun/tools/jstatd/TestJstatdPort.java:

        Start jstat:
        [/scratch/mesos/jib-master/install/2018-05-11-2230264.kim.barrett.jdk/macosx-x64-debug.jdk/jdk-11/fastdebug/bin/jstat -J-XX:+UsePerfData -J-Duser.language=en -gcutil 52512@sc14ia501.us.oracle.com:61885 250 5]
        sun.jvmstat.monitor.MonitorException: Could not read data for remote JVM 52512
        at jdk.jstatd/sun.jvmstat.perfdata.monitor.protocol.rmi.PerfDataBuffer.<init>(PerfDataBuffer.java:68)
        at jdk.jstatd/sun.jvmstat.perfdata.monitor.protocol.rmi.RemoteMonitoredVm.<init>(RemoteMonitoredVm.java:71)
        at jdk.jstatd/sun.jvmstat.perfdata.monitor.protocol.rmi.MonitoredHostProvider.getMonitoredVm(MonitoredHostProvider.java:146)
        at jdk.jcmd/sun.tools.jstat.Jstat.logSamples(Jstat.java:107)
        at jdk.jcmd/sun.tools.jstat.Jstat.main(Jstat.java:70)
        Caused by: java.rmi.NoSuchObjectException: no such object in table
        at java.rmi/sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
        at java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
        at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
        at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:209)
        at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:161)
        at jdk.proxy1/com.sun.proxy.jdk.proxy1.$Proxy1.getCapacity(Unknown Source)
        at jdk.jstatd/sun.jvmstat.perfdata.monitor.protocol.rmi.PerfDataBuffer.<init>(PerfDataBuffer.java:63)
        ... 4 more

        Looking at where the java.rmi.NoSuchObjectException is being thrown, it may indicate a WeakReference was cleared when the application didn't expect that to happen. It's possible there is a bug in reference processing, but I think it's more likely either the test or the RMI infrastructure isn't properly ensuring the liveness of the referent, allowing it to be reclaimed by GC at a point where that isn't expected.

        Attachments

          Issue Links

            Activity

              People

                gadams Gary Adams (Inactive)
                kbarrett Kim Barrett
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: