Recent jdk8 builds seem to be more ambitious on the GC front. It turns out that we've no strong reference for the Logger being created in this testcase and it's collected before use.

Verified that test now passes.

suggested fix :

diff -r 28ca338366ff test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java
--- a/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java   Mon Nov 25 
20:22:23 2013 -0800
+++ b/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java   Wed Dec 04 
15:22:42 2013 +0000
@@ -76,6 +76,7 @@
 public class CheckLogging {
     private static int REGISTRY_PORT = -1;
     private static String LOCATION;
+    private static Logger logger;
private static final ByteArrayOutputStream clientCallOut =
         new ByteArrayOutputStream();
@@ -89,8 +90,8 @@
             System.err.println("set default stream");
             LogStream.setDefaultStream(new PrintStream(clientCallOut));
         } else {
-            Logger.getLogger("sun.rmi.client.call").
-                addHandler(new InternalStreamHandler(clientCallOut));
+            logger = Logger.getLogger("sun.rmi.client.call");
+            logger.addHandler(new InternalStreamHandler(clientCallOut));
         }
     }

regards,
Sean.

Reply via email to