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. Because 
> with checked oops, `oop` is really a wrapper class, not a pointer. We are 
> actually passing unwrapped `oopDesc*` from Java/stub code. All of our other 
> entry points declare `oopDesc*`, this one should do the same.
> 
> 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).

Thanks for finding and fixing the issue. I've started a CI job to check if the 
test passes there on the new platforms as well. (From what I remember it had 
some stability issues on certain platforms)

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

PR Review: https://git.openjdk.org/jdk/pull/31151#pullrequestreview-4282592351

Reply via email to