Closed dimakuv closed 4 months ago
In particular, this unblocks Java workloads. This is because Java performs a null pointer dereference on purpose, raising a #PF exception and handling it in an app-level signal handler.
Together with #36, this fully unblocks Java workloads like this one: https://github.com/dimstav23/gramine-examples/tree/dimstav23/add_java_image_processing_example/java_image
Java references that explain when/how Java induces a #PF exception:
https://github.com/openjdk/jdk/blob/6df7acbc74922d297852044596045a8b32636423/src/hotspot/cpu/x86/vm_version_x86.cpp#L570
https://github.com/openjdk/jdk/blob/dfacda488bfbe2e11e8d607a6d08527710286982/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp#L246
https://github.com/openjdk/jdk/blob/890adb6410dab4606a4f26a942aed02fb2f55387/src/hotspot/os/posix/signals_posix.cpp#L555
This change is
Description of the changes
In particular, this unblocks Java workloads. This is because Java performs a null pointer dereference on purpose, raising a #PF exception and handling it in an app-level signal handler.
How to test this PR?
Together with #36, this fully unblocks Java workloads like this one: https://github.com/dimstav23/gramine-examples/tree/dimstav23/add_java_image_processing_example/java_image
Java references that explain when/how Java induces a #PF exception:
https://github.com/openjdk/jdk/blob/6df7acbc74922d297852044596045a8b32636423/src/hotspot/cpu/x86/vm_version_x86.cpp#L570
https://github.com/openjdk/jdk/blob/dfacda488bfbe2e11e8d607a6d08527710286982/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp#L246
https://github.com/openjdk/jdk/blob/890adb6410dab4606a4f26a942aed02fb2f55387/src/hotspot/os/posix/signals_posix.cpp#L555
This change is