Сбой JVM в фундаментальной базе данных SQLGrammar
Файл журнала сбоев JVM:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (sharedRuntime.cpp:834), pid=4784, tid=0x00007f50656d6700
# fatal error: exception happened outside interpreter, nmethods and vtable stubs at pc 0x00007f526d06d531
#
# JRE version: Java(TM) SE Runtime Environment (8.0_102-b14) (build 1.8.0_102-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.102-b14 mixed mode linux-amd64 compressed oops)
# 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://bugreport.java.com/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x00007f4fcc001000): JavaThread "RdbRangeTask-27" [_thread_in_Java, id=5200, stack(0x00007f50655d6000,0x00007f50656d7000)]
Stack: [0x00007f50655d6000,0x00007f50656d7000], sp=0x00007f50656d3d90, free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xac52aa] VMError::report_and_die()+0x2ba
V [libjvm.so+0x4fbe59] report_fatal(char const*, int, char const*)+0x59
V [libjvm.so+0x9c0d6a] SharedRuntime::continuation_for_implicit_exception(JavaThread*, unsigned char*, SharedRuntime::ImplicitExceptionKind)+0x33a
V [libjvm.so+0x92905a] JVM_handle_linux_signal+0x48a
V [libjvm.so+0x91f4b3] signalHandler(int, siginfo*, void*)+0x43
C [libpthread.so.0+0xf7e0]
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_294()Z+18
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_169()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_83()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_3_30()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_457()Z+43
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_393()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_307()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_216()Z+21
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_105()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_90()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_3R_81()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_3_28()Z+1
j com.foundationdb.sql.parser.SQLGrammar.jj_2_28(I)Z+19
j com.foundationdb.sql.parser.SQLGrammar.selectSublist(Lcom/foundationdb/sql/parser/ResultColumnList;)V+222
j com.foundationdb.sql.parser.SQLGrammar.selectColumnList(Lcom/foundationdb/sql/parser/ResultColumnList;)V+2
j com.foundationdb.sql.parser.SQLGrammar.selectList()Lcom/foundationdb/sql/parser/ResultColumnList;+19
j com.foundationdb.sql.parser.SQLGrammar.querySpecification()Lcom/foundationdb/sql/parser/ResultSetNode;+121
j com.foundationdb.sql.parser.SQLGrammar.simpleTable()Lcom/foundationdb/sql/parser/ResultSetNode;+33
j com.foundationdb.sql.parser.SQLGrammar.nonJoinQueryPrimary()Lcom/foundationdb/sql/parser/ResultSetNode;+41
j com.foundationdb.sql.parser.SQLGrammar.nonJoinQueryTerm(Lcom/foundationdb/sql/parser/ResultSetNode;I)Lcom/foundationdb/sql/parser/ResultSetNode;+1
j com.foundationdb.sql.parser.SQLGrammar.queryExpression(Lcom/foundationdb/sql/parser/ResultSetNode;I)Lcom/foundationdb/sql/parser/ResultSetNode;+3
j com.foundationdb.sql.parser.SQLGrammar.preparableSelectStatement()Lcom/foundationdb/sql/parser/CursorNode;+29
j com.foundationdb.sql.parser.SQLGrammar.preparableSQLDataStatement()Lcom/foundationdb/sql/parser/StatementNode;+105
j com.foundationdb.sql.parser.SQLGrammar.StatementPart([Lcom/foundationdb/sql/parser/Token;)Lcom/foundationdb/sql/parser/StatementNode;+237
Аргументы виртуальной машины:
-Xms8g -Xmx8g -XX:+PrintGCDetails -XX:+PrintGCDateStamps -verbose:gc
-XX:MaxTenuringThreshold=10 -XX:SurvivorRatio=14 -XX:NewRatio=2
-XX:+UseParallelOldGC -XX:+PrintTenuringDistribution
-XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime
Я запускаю его один на физическом боксе с 24-ядерным процессором и 96 ГБ памяти.
У меня есть несколько вопросов относительно файла журнала сбоев выше:
Что означает "Z+18" (точнее "Z") в строке "com.foundationdb.sql.parser.SQLGrammar.jj_3R_294()Z+18"? Я нашел несколько сообщений в блоге об анализе файла журнала сбоев, но ни один из них не упомянул об этом (очевидно, я пропустил некоторые сообщения в блоге, которые более подробны).
В чем причина этого сбоя? Это ошибка в кодах foundationdb, или это ошибка в ядре JVM (потому что я погуглил ключевое слово "Внутренняя ошибка (sharedRuntime.cpp:834)" и есть куча проблем по этому поводу).
Спасибо!