RFR: 8255225: compiler/aot tests fail on Windows with NPE during artifact resolution

Erik Joelsson erikj at openjdk.java.net
Thu Oct 22 12:56:12 UTC 2020


On Thu, 22 Oct 2020 08:55:09 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Bisection shows it started to happen after [JDK-8253660](https://bugs.openjdk.java.net/browse/JDK-8253660). I believe `toString()` there is not very resilient in the face of `null` causes.
> 
> Example output:
> $ make run-test TEST=compiler/aot
> 
> STDERR:
> java.lang.NullPointerException: Cannot invoke "java.lang.Throwable.getCause()" because "<local1>" is null
> at jdk.test.lib.artifacts.ArtifactResolverException.getRootCause(ArtifactResolverException.java:22)
> at jdk.test.lib.artifacts.ArtifactResolverException.toString(ArtifactResolverException.java:17)
> ...
> at compiler.aot.AotCompiler.resolveLinker(AotCompiler.java:270)
> at compiler.aot.AotCompiler.launchCompiler(AotCompiler.java:112)
> at compiler.aot.AotCompiler.main(AotCompiler.java:78)
> ...
> 
> ...and since it is a part of this block:
> 
>         } catch (ArtifactResolverException e) {
>             System.err.println("artifact resolution error: " + e); // <--- calling to broken toString() here
>             e.printStackTrace(System.err);
>             // let jaotc try to find linker
>             return null;
>         }
> 
> ...we never actually get to `// let jaotc try to find linker` part, and that is why I suspect it causes Windows x86_64 tier1/compiler failures in GitHub workflows. See below, `Windows tier1/compiler` tests are now passing. (There are some infra failures in other places on Windows, though).

Looks good, thanks for fixing it!

-------------

Marked as reviewed by erikj (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/800



More information about the build-dev mailing list