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).

This pull request has now been integrated.

Changeset: a2b9e941
Author:    Aleksey Shipilev <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/a2b9e941d67936d4cbf9125ff2ea70bd669e5130
Stats:     3 lines in 3 files changed: 0 ins; 0 del; 3 mod

8371949: Upcall exception handler crashes with bad oop

Reviewed-by: jvernee, dholmes

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

PR: https://git.openjdk.org/jdk/pull/31151

Reply via email to