[aarch64-port-dev ] [aarch64-port-dev] Compile error in stubGenerator_aarch64.cpp

Daniel Stewart daniel.stewart at linaro.org
Wed Aug 9 14:15:45 UTC 2017


I have tried the full "make clean", but get the same result. What is even
weirder is that if I make more changes (more interleaving), the error
message I get changes. For example, the following diff creates the
subsequent error:

diff -r 41421b726632 src/cpu/aarch64/vm/stubGenerator_aarch64.cpp
--- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp      Mon Jul 24 17:26:41
2017 +0000
+++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp      Wed Aug 09 14:14:06
2017 +0000
@@ -1231,12 +1231,14 @@
       __ stpq(v2, v3, Address(dend, -32));
     } else {
       __ ldp(t0, t1, Address(s, 0));
+      __ stp(t0, t1, Address(d, 0));
       __ ldp(t2, t3, Address(s, 16));
+      __ stp(t2, t3, Address(d, 16));
       __ ldp(t4, t5, Address(send, -32));
       __ ldp(t6, t7, Address(send, -16));

-      __ stp(t0, t1, Address(d, 0));
-      __ stp(t2, t3, Address(d, 16));
+//      __ stp(t0, t1, Address(d, 0));
+//      __ stp(t2, t3, Address(d, 16));
       __ stp(t4, t5, Address(dend, -32));
       __ stp(t6, t7, Address(dend, -16));
     }


Error:

Creating support/demos/image/jfc/Font2DTest/Font2DTest.jar
Creating interim jimage
Error: invoke=Lambda(a0:L/SpeciesData<LLLL>,a1:L,a2:I,a3:I,a4:L,a5:L)=>{
    t6:I=MethodHandle.invokeBasic(t500179317:L,a2:I,a1:L,a3:I,a5:L);
    t7:L=BoundMethodHandle$Species_L4.argL2(a0:L);
    t8:I=MethodHandle.invokeBasic(t7:L,t6:I,a1:L,a3:I,a4:L);
    t9:I=MethodHandle.invokeBasic(t7:L,t6:I,a1:L,a3:I,a4:L);
    t10:L=BoundMethodHandle$Species_L4.argL1(a0:L);
    t11:I=MethodHandle.invokeBasic(t10:L,t8:I,a1:L,a3:I);
    t12:L=BoundMethodHandle$Species_L4.argL0(a0:L);
    t13:L=MethodHandle.invokeBasic(t12:L,a1:L,t11:I,a3:I);t13:L}
java.lang.InternalError:
invoke=Lambda(a0:L/SpeciesData<LLLL>,a1:L,a2:I,a3:I,a4:L,a5:L)=>{
    t6:I=MethodHandle.invokeBasic(t500179317:L,a2:I,a1:L,a3:I,a5:L);
    t7:L=BoundMethodHandle$Species_L4.argL2(a0:L);
    t8:I=MethodHandle.invokeBasic(t7:L,t6:I,a1:L,a3:I,a4:L);
    t9:I=MethodHandle.invokeBasic(t7:L,t6:I,a1:L,a3:I,a4:L);
    t10:L=BoundMethodHandle$Species_L4.argL1(a0:L);
    t11:I=MethodHandle.invokeBasic(t10:L,t8:I,a1:L,a3:I);
    t12:L=BoundMethodHandle$Species_L4.argL0(a0:L);
    t13:L=MethodHandle.invokeBasic(t12:L,a1:L,t11:I,a3:I);t13:L}
        at
java.base/java.lang.invoke.MethodHandleStatics.newInternalError(MethodHandleStatics.java:111)
        at
java.base/java.lang.invoke.LambdaForm.compileToBytecode(LambdaForm.java:874)
        at
java.base/java.lang.invoke.LambdaForm.prepare(LambdaForm.java:815)
        at
java.base/java.lang.invoke.MethodHandle.<init>(MethodHandle.java:465)
        at
java.base/java.lang.invoke.BoundMethodHandle.<init>(BoundMethodHandle.java:58)
        at
java.base/java.lang.invoke.BoundMethodHandle$Species_L4.<init>(Species_L4)
        at
java.base/java.lang.invoke.BoundMethodHandle$Species_L4.make(Species_L4)
        at
java.base/java.lang.invoke.BoundMethodHandle$Species_L3.copyWithExtendL(Species_L3)
        at
java.base/java.lang.invoke.MethodHandles.foldArguments(MethodHandles.java:4266)
        at
java.base/java.lang.invoke.StringConcatFactory$MethodHandleInlineCopyStrategy.generate(StringConcatFactory.java:1519)
        at
java.base/java.lang.invoke.StringConcatFactory.generate(StringConcatFactory.java:722)
        at
java.base/java.lang.invoke.StringConcatFactory.doStringConcat(StringConcatFactory.java:631)
        at
java.base/java.lang.invoke.StringConcatFactory.makeConcatWithConstants(StringConcatFactory.java:547)
        at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:322)
        at
java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:250)
        at
java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:240)
        at
jdk.jlink/jdk.tools.jlink.internal.ResourcePoolManager$ResourcePoolModuleImpl.findEntry(ResourcePoolManager.java:101)
        at
jdk.jlink/jdk.tools.jlink.internal.plugins.SystemModulesPlugin.lambda$transform$1(SystemModulesPlugin.java:157)
        at
java.base/java.util.LinkedList$LLSpliterator.forEachRemaining(LinkedList.java:1239)
        at
java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:591)
        at
jdk.jlink/jdk.tools.jlink.internal.plugins.SystemModulesPlugin.transform(SystemModulesPlugin.java:156)
        at
jdk.jlink/jdk.tools.jlink.internal.ImagePluginStack.visitResources(ImagePluginStack.java:274)
        at
jdk.jlink/jdk.tools.jlink.internal.ImageFileCreator.generateJImage(ImageFileCreator.java:182)
        at
jdk.jlink/jdk.tools.jlink.internal.ImageFileCreator.writeImage(ImageFileCreator.java:161)
        at
jdk.jlink/jdk.tools.jlink.internal.ImageFileCreator.create(ImageFileCreator.java:100)
        at
jdk.jlink/jdk.tools.jlink.internal.JlinkTask$ImageHelper.retrieve(JlinkTask.java:768)
        at
jdk.jlink/jdk.tools.jlink.internal.ImagePluginStack.operate(ImagePluginStack.java:206)
        at
jdk.jlink/jdk.tools.jlink.internal.JlinkTask.createImage(JlinkTask.java:398)
        at
jdk.jlink/jdk.tools.jlink.internal.JlinkTask.run(JlinkTask.java:263)
        at jdk.jlink/jdk.tools.jlink.internal.Main.run(Main.java:54)
        at jdk.jlink/jdk.tools.jlink.internal.Main.main(Main.java:33)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
        at
java.base/java.lang.invoke.InvokerBytecodeGenerator.emitLoadInsn(InvokerBytecodeGenerator.java:420)
        at
java.base/java.lang.invoke.InvokerBytecodeGenerator.emitPushArgument(InvokerBytecodeGenerator.java:1565)
        at
java.base/java.lang.invoke.InvokerBytecodeGenerator.emitPushArguments(InvokerBytecodeGenerator.java:1551)
        at
java.base/java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke(InvokerBytecodeGenerator.java:999)
        at
java.base/java.lang.invoke.InvokerBytecodeGenerator.addMethod(InvokerBytecodeGenerator.java:832)
        at
java.base/java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCodeBytes(InvokerBytecodeGenerator.java:723)
        at
java.base/java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCode(InvokerBytecodeGenerator.java:681)
        at
java.base/java.lang.invoke.LambdaForm.compileToBytecode(LambdaForm.java:857)
        ... 29 more
gmake[3]: ***
[/home/stewartd/openjdk/OpenJDK10/hs/build/linux-aarch64-normal-server-release/support/interim-image/bin/java]
Error 4
gmake[2]: *** [interim-image] Error 1

ERROR: Build failed for target 'images' in configuration
'linux-aarch64-normal-server-release' (exit code 2)
Stopping sjavac server

Perhaps my system is entirely borked. I was just wondering if there was
something special about stubGenerator, but apparently there is not.

Daniel

On Wed, Aug 9, 2017 at 9:54 AM, Aleksey Shipilev <shade at redhat.com> wrote:

> On 08/09/2017 03:50 PM, Daniel Stewart wrote:
> > And here’s the error I get:
> > Creating support/demos/image/jfc/Metalworks/Metalworks.jar
> > Creating interim jimage
> > Invalid path in metadata, skipping
> > /modules/java.base/META-INF/services/java.nio.file.spi.
> FileSystemProvider
> > Invalid path in metadata, skipping
> > /modules/java.base/com/sun/crypto/provider/AESCipher$
> AES128_ECB_NoPadding.class
>
> These are weird. Maybe your JDK was so borked in some runs that it
> generated incorrect metadata for
> Jigsaw parts? Have you tried <strike>turning it off and on again</strike>
> "make clean", and then
> full rebuild?
>
> Thanks,
> -Aleksey
>
>
>
>
>


-- 
Daniel Stewart


More information about the aarch64-port-dev mailing list