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

Aleksey Shipilev shade at openjdk.java.net
Thu Oct 22 14:14:11 UTC 2020


On Thu, 22 Oct 2020 12:53:23 GMT, Erik Joelsson <erikj 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!

Thanks @erikj79! I want this fixed sooner, is it OK to push now? Or should we ask someone else to review too?

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

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



More information about the build-dev mailing list