--- old/test/java/lang/instrument/ParallelTransformerLoaderAgent.java Mon Oct 13 11:39:04 2014 +++ new/test/java/lang/instrument/ParallelTransformerLoaderAgent.java Mon Oct 13 11:39:04 2014 @@ -96,6 +96,12 @@ } // load additional classes when called from other threads + // with system class loader. If we use the same class loader as + // in other thread, it will throw CircularityError since + // this loading is in middle of loading TestClass2 and cause + // CircularityError for JarLoader$2 which is put in placeholder + // but not loaded yet. We see it twice on stack, Detail see + // bug 8038468 if (!tName.equals("main")) { loadClasses(3); @@ -106,10 +112,11 @@ public static void loadClasses( int index) { - ClassLoader loader = ParallelTransformerLoaderAgent.getClassLoader(); + // ClassLoader loader = ParallelTransformerLoaderAgent.getClassLoader(); try { - Class.forName("TestClass" + index, true, loader); + //Class.forName("TestClass" + index, true, loader); + Class.forName("TestClass" + index, true, ClassLoader.getSystemClassLoader()); } catch (Exception e) {