On Wed, 13 May 2026 11:40:14 GMT, Aleksey Shipilev <[email protected]> wrote:
> I have a local reproducer for > [JDK-8360595](https://bugs.openjdk.org/browse/JDK-8360595), and I only now > understood why it crashed badly, without producing a proper error. This is > because you are not allowed to pass `oop`-s to C++ methods. Because with > checked oops, `oop` is really a wrapper class, not a pointer. We should be > passing `oopDesc*`. > > I also extended the platform filter for the test, so reproducer can work on > my x86 machines, and it now crashes more reliably: > > > $ CONF=linux-x86_64-server-fastdebug make images test > TEST=java/foreign/TestUpcallStress.java > TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC > -XX:-ExitOnOutOfMemoryError" > ... > [12:37:47.635] test TestUpcallStress.testUpcallsStress(663, "f1_V_SD_DID", > VOID, [STRUCT, DOUBLE], [DOUBLE, INT, DOUBLE]): success [25ms] > Uncaught exception: > java.lang.OutOfMemoryError: Java heap space > <<no stack trace available>> > > > Additional testing: > - [x] Linux x86_64 server fastdebug, reproducer no longer cryptically > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). We pass `oop` parameters to lots of C++ methods. ?? ------------- PR Comment: https://git.openjdk.org/jdk/pull/31151#issuecomment-4441059596
