On Tue, 11 Jan 2022 09:11:57 GMT, Severin Gehwolf <sgehw...@openjdk.org> wrote:
>> Condition is obviously wrong, because if name starts with "java." other 2 >> conditions are always true. Intent, as I understand it, was to redefine >> class where debug event took place (in case of test classes), unless it took >> place in class of jdk itself, in which case redefine test's main class (if >> redefineAtEvents is true of course). Check for class names starting with >> "jdk." was added with later commit [1], not touching that wrong condition >> (check for classes belonging to jdk) and putting check to else branch >> instead (therefore not doing any redefinition in case name starts with >> "jdk."). >> >> Actually fix is done to be then backported to jdk8u, where >> com/sun/jdi/RedefineCrossEvent.java test stared failing after recent >> backport [2], due to missing check for classes starting with "jdk." [3]: >> ... >> Redefining class jdk.internal.misc.TerminatingThreadLocal (no class loader) >> FAIL: redefine - unexpected exception: java.io.FileNotFoundException: >> /home/tester/test.1638289866/jdk/JTwork/classes/com/sun/jdi/jdk/internal/misc/TerminatingThreadLocal.class >> (No such file or directory) >> ... >> >> This test actually passes for (latest) jdk. However fixing this condition >> before doing backport, rather than backporting it in current form seems like >> right thing to do. I tested this locally and jdi tests are passing with this >> change for latest jdk (and also for jdk8u). >> >> [1] >> https://github.com/zzambers/jdk/commit/426873751c710061d0f9bc713a0de47373e51418#diff-778880449f85966d3c6b219b8ceb41fdbbe7acc5e520d2aa27aada3f33bf1eab >> [2] https://bugs.openjdk.java.net/browse/JDK-8273772 >> [3] >> https://github.com/openjdk/jdk8u/blob/7d3c0bede34930cadd76644e58bf56f2a83c3d01/jdk/test/com/sun/jdi/TestScaffold.java#L535 > > @zzambers please integrate this (see bot comment above) and I'll sponsor the > push for you. @jerboaa @sspitsyn @alexmenkov thanks for help and reviews ------------- PR: https://git.openjdk.java.net/jdk/pull/6652