6.3. Virtual Machine Errors
A Java Virtual Machine implementation throws an object that is an instance of a subclass of the class
VirtualMethodError when an internal error or resource limitation prevents it from implementing the semantics described in this chapter. This specification cannot predict where internal errors or resource limitations may be encountered and does not mandate precisely when they can be reported. Thus, any of the
VirtualMethodError subclasses defined below may be thrown at any time during the operation of the Java Virtual Machine:
InternalError: An internal error has occurred in the Java Virtual Machine implementation because of a fault in the software implementing the virtual machine, a fault in the underlying host system ...