--- old/test/sun/misc/Cleaner/ExitOnThrow.java 2013-03-04 02:22:23.979679179 +0800 +++ new/test/sun/misc/Cleaner/ExitOnThrow.java 2013-03-04 02:22:23.338334859 +0800 @@ -28,21 +28,17 @@ public class ExitOnThrow { - private static volatile boolean ran = false; - public static void main(String[] args) throws Exception { Cleaner.create(new Object(), new Runnable() { public void run() { - ran = true; throw new RuntimeException("Foo!"); } }); - while (!ran) { + while (true) { System.gc(); Thread.sleep(100); } - System.exit(0); } }