Details
-
Bug
-
Resolution: Fixed
-
P4
-
13
-
b14
-
generic
-
generic
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8247429 | 11.0.9-oracle | Unassigned | P4 | Resolved | Fixed | b01 |
JDK-8248201 | 11.0.9 | Unassigned | P4 | Resolved | Fixed | b01 |
Description
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
- backported by
-
JDK-8247429 java.rmi.NoSuchObjectException: no such object in table
- Resolved
-
JDK-8248201 java.rmi.NoSuchObjectException: no such object in table
- Resolved
- duplicates
-
JDK-8165727 sun/tools/jstatd/TestJstatdExternalRegistry.java failure: Could not read data for remote JVM
- Closed
-
JDK-8216389 sun/tools/jstatd/TestJstatdServer.java fails with no such object in table
- Closed
-
JDK-8216543 sun/tools/jstatd/TestJstatdDefaults.java failed with no such object in table
- Closed
- relates to
-
JDK-8081569 sun/tools/jstatd/TestJstatd* tests timed out intermittently
- Closed