Java 8 Update 51 (sun-jdk-8u51) Неустранимая ошибка времени выполнения после нулевого вызова MethodHandle invokeExact с 448 аргументами System::gc Runnable
Резюме
Мне удалось скомпилировать интерфейс с основным методом, который вызывает нулевой метод invokeExact MethodHandle с 448 экземплярами ссылки на метод Runnable (System::gc).
Когда я запустил интерфейс, в среде выполнения Java была обнаружена фатальная ошибка:
- SIGSEGV (0xb) при pc=0xb71b9bde, pid=12918, tid=3030936432
- Версия JRE: Java(TM) SE Runtime Environment (8.0_51-b16) (сборка 1.8.0_51-b16)
- Java VM: клиентская виртуальная машина Java HotSpot ™ (смешанный режим 25.51-b03 linux-x86)
- Проблемная рамка:
- V [libjvm.so + 0x507bde] SignatureIterator:: parse_type () + 0x1ce
Ссылка на исходный код и результат выполнения: http://ideone.com/3oh7Uk
Источник
interface $ {
static void main(String[] $) throws Throwable {
((java.lang.invoke.MethodHandle) null).invokeExact(
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc,
(Runnable) System::gc
);
}
}
Результат
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb71b9bde, pid=12918, tid=3030936432
#
# JRE version: Java(TM) SE Runtime Environment (8.0_51-b16) (build 1.8.0_51-b16)
# Java VM: Java HotSpot(TM) Client VM (25.51-b03 mixed mode linux-x86 )
# Problematic frame:
# V [libjvm.so+0x507bde] SignatureIterator::parse_type()+0x1ce
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# Can not save log file, dump to screen..
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb71b9bde, pid=12918, tid=3030936432
#
# JRE version: Java(TM) SE Runtime Environment (8.0_51-b16) (build 1.8.0_51-b16)
# Java VM: Java HotSpot(TM) Client VM (25.51-b03 mixed mode linux-x86 )
# Problematic frame:
# V [libjvm.so+0x507bde] SignatureIterator::parse_type()+0x1ce
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://b...content-available-to-author-only...a.com/bugreport/crash.jsp
#