2

The JVM crash log file:

#
# 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

The VM args are:

-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

I am running it alone on a physics box with 24 cores CPU and 96GB Memory.

I have some questions regarding the crash log file above:

  1. What's the "Z+18" (specific the "Z") mean in the line "com.foundationdb.sql.parser.SQLGrammar.jj_3R_294()Z+18"? I found some blog posts about analyzing the crash log file, but none of them mentioned it (clearly I have miss some blog posts that are more detailed).

  2. What's the root cause of this crash? Is it a bug in the foundationdb codes, or is it a bug in the JVM core (because I googled the key word "Internal Error (sharedRuntime.cpp:834)" and there are a bunch of issues about it).

Thanks!

bayinamy
  • 487
  • 4
  • 14
  • 1
    `Z` is a part of Java method signature, it stands for `boolean` return value. `+18` - is the bytecode index. – apangin Oct 28 '16 at 06:46
  • 1
    A crash log like this always indicates a bug in the JVM code (or JNI code if there is any). – greg-449 Oct 28 '16 at 06:52
  • 1
    This looks like a JVM bug. Can you share full `hs_err.log` dump? *"exception happened outside interpreter, nmethods and vtable stubs"* is actually a general assertion which triggers whenever a segfault occurs somewhere in VM runtime code. It is not a particular bug, but rather a trap for various unknown problems. – apangin Oct 28 '16 at 06:57

0 Answers0