On Mon, 22 Feb 2021 15:50:03 GMT, Ivan Šipka <[email protected]> wrote:
>> Refactor `test/jdk/java/lang/annotation/loaderLeak/LoaderLeak.sh` as java
>> test.
>
> Ivan Šipka has updated the pull request incrementally with one additional
> commit since the last revision:
>
> 8166026: Refactor java/lang shell tests to java
test/jdk/java/lang/annotation/LoaderLeakTest.java line 77:
> 75: var c = new WeakReference<Class<?>>(loader.loadClass("C"));
> 76: if (c.get() == null) throw new AssertionError("class missing
> after loadClass");
> 77: if (c.get().getClassLoader() != loader) throw new
> AssertionError("wrong classloader");
This can throw NPE as there is no guarantee that two subsequent calls will
return the same value: c.get() could very well be null the second time around.
test/jdk/java/lang/annotation/LoaderLeakTest.java line 94:
> 92: System.gc();
> 93: Thread.sleep(20);
> 94: if (c.get() == null) {
I'd suggest using the new `if (c.refersTo(null)) {` here.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1577