Java.lang.InternalError: An error occurred in a recent unsafe memory access operation in compiled Java code

I was wondering if some of the JVM gurus can briefly explain the following error. What does this mean in technical terms and what are the sequences of events that can lead to this error?

java.lang.InternalError: a fault occurred in a recent unsafe memory access operation in compiled Java code
+4
source share
1 answer

This error means that access to memory sun.misc.Unsafe.getX()or putX()led to an error SIGBUS, which was then infected by the JVM and transferred to asynchronous InternalError.

A bit more detailed:

  • sun.misc.Unsafe - API JDK, Java. API Direct ByteBuffers MappedByteBuffers.
  • , , , SIGBUS. :

    • , .
    • , , .
    • , tmpfs, ( tmpfs 50% ).
  • JVM HotSpot . Unsafe.getX / putX . , , , .

  • JVM SIGBUG. , Unsafe, InternalError .
  • IOException , JVM - , ByteBuffer get/put .
  • Unsafe JIT- , JVM ( , ByteBuffer API). InternalError . , VM. , "".

JDK-4454115, JDK.

+9

Source: https://habr.com/ru/post/1683121/


All Articles