On Mon, 1 Aug 2022 07:18:52 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> `vmTestbase/nsk/jvmti/GetThreadInfo/thrinfo001/TestDescription.java`, >> `vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineVirtual/StressRedefineVirtual.java`, >> `java/beans/XMLDecoder/8028054/TestConstructorFinder.java` and >> `java/beans/XMLDecoder/8028054/TestMethodFinder.java` are added or modified >> by [JDK-8284161](https://bugs.openjdk.org/browse/JDK-8284161), and they are >> failed if Loom is not supported. Also, >> `vmTestbase/nsk/jvmti/GetThreadInfo/thrinfo001/TestDescription.java` and >> `vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineVirtual/StressRedefineVirtual.java` >> need "requires vm.jvmti". >> >> The issue could be reproduced by zero. > > For the XMLDecoder tests then I think the issue is that it's using the 1-arg > Class.forName rather than the 3-arg Class.forName. Can you try this: > > > diff --git a/test/jdk/java/beans/XMLDecoder/8028054/Task.java > b/test/jdk/java/beans/XMLDecoder/8028054/Task.java > index 1d55fa8e358..add48336d16 100644 > --- a/test/jdk/java/beans/XMLDecoder/8028054/Task.java > +++ b/test/jdk/java/beans/XMLDecoder/8028054/Task.java > @@ -130,8 +130,9 @@ abstract class Task<T> implements Runnable { > .map(s -> s.substring(s.indexOf("java"))) > .collect(Collectors.toList()); > > + ClassLoader scl = ClassLoader.getSystemClassLoader(); > for (String name : fileNames) { > - classes.add(Class.forName(name)); > + classes.add(Class.forName(name, false, scl)); > if (count == classes.size()) { > break; > } Hi @AlanBateman , your method works. It is a much better way. Thank you very much! Since these two kinds (`jvmti` and `XMLDecoder` tests) of the fix are a little different, should I split this issue into two? ------------- PR: https://git.openjdk.org/jdk/pull/9677