RFR: 8334872: BigEndian: java/lang/invoke/condy Tests failing since JDK-8294960

Richard Reingruber rrich at openjdk.org
Mon Jun 24 22:14:16 UTC 2024


On Mon, 24 Jun 2024 16:01:41 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> After JDK-8294960 is java.lang.invoke.ClassSpecializer using lamdas for code generation and unfortunately it causes StackOverflow on BigEndian platforms.
> 
> This patch converts all lambdas in ClassSpecializer into anonymous inner classes.
> 
> Please review and test on a BigEndian platform.
> 
> Thanks,
> Adam

Hi Adam,

I've tested this change on a Linux PPC64 big endian system. Sadly I still get StackOverflowErrors.
I've run only test/jdk/java/lang/invoke/condy/ConstantBootstrapsTest.java. I've experimented with `ThreadStackSize` and `VMThreadStackSize` without success.

When running the test standalone I get the following message:


./jdk/bin/java
-cp testclasses:jtreg_latest/lib/testng-7.3.0.jar:jtreg_latest/lib/jcommander-1.82.jar
-XX:+UnlockDiagnosticVMOptions
-XX:UseBootstrapCallInfo=3
-Xint
org.testng.TestNG
-testclass
ConstantBootstrapsTest
Error occurred during initialization of boot layer
java.lang.StackOverflowError


It's likely not a byte ordering problem since @offamitkumar cannot reproduce the failures on s390x.

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

PR Comment: https://git.openjdk.org/jdk/pull/19863#issuecomment-2187498690


More information about the core-libs-dev mailing list