Hi all:
  I followed 
https://cwiki.apache.org/confluence/display/IMPALA/Impala+Debugging+Tips to 
debug impalad fe
  My step:
         
JAVA_TOOL_OPTIONS="-agentlib:jdwp=transport=dt_socket,address=localhost:9009,server=y,suspend=y
 -Xcheck:jni"

  When using idea attaching,impalad process exited,with following error msg:
    I0713 16:49:02.511322 32715 JniFrontend.java:637] checkConfiguration called.
I0713 16:49:02.538199 32715 JniFrontend.java:638] 
fs.defaultFS=hdfs://nameservice1
I0713 16:49:02.538336 32715 JniFrontend.java:639] dfs.nameservices=nameservice1
I0713 16:49:02.538432 32715 JniFrontend.java:640] foo=null
I0713 16:49:05.230675 32715 JniFrontend.java:679] Short-circuit reads are not 
enabled.
I0713 16:49:05.231148 32715 tmp-file-mgr.cc:109] Using scratch directory 
/opt/impala/impalad/impala-scratch on disk 1
I0713 16:49:05.231283 32715 simple-logger.cc:83] Logging to: 
/tmp/profiles//impala_profile_log_1.1-1499935745231
I0713 16:49:05.233969 32715 impala-server.cc:492] Event logging is disabled
I0713 16:49:05.234060 32715 simple-logger.cc:83] Logging to: 
/opt/var/log/impalad/lineage/impala_lineage_log_1.0-1499935745234
I0713 16:49:05.284077#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (javaCalls.cpp:550), pid=32715, tid=140494292248832
#  guarantee(method->size_of_parameters() == size_of_parameters()) failed: 
wrong no. of arguments pushed
#
# JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.65-b04 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
#
# An error report file with more information is saved as:
# 
/run/cloudera-scm-agent/process/5532-impala-IMPALAD/impala-conf/hs_err_pid32715.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
 32715 impala-server.cc:1856] Impala Beeswax Service listening on 21000
I0713 16:49:05.285711 32715 impala-server.cc:1878] Impala HiveServer2 Service 
listening on 21050
I0713 16:49:05.287331 32715 impala-server.cc:1897] ImpalaInternalService 
listening on 22000
I0713 16:49:05.290220 32715 thrift-server.cc:449] ThriftServer 'backend' 
started on port: 22000
I0713 16:49:05.504369 32715 thrift-server.cc:449] ThriftServer 
'beeswax-frontend' started on port: 21000
I0713 16:49:05.878450 32715 thrift-server.cc:449] ThriftServer 
'hiveserver2-frontend' started on port: 21050
I0713 16:49:05.878495 32715 exec-env.cc:241] Starting global services

And 
/run/cloudera-scm-agent/process/5532-impala-IMPALAD/impala-conf/hs_err_pid32715.log
 showed:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (javaCalls.cpp:550), pid=32715, tid=140494292248832
#  guarantee(method->size_of_parameters() == size_of_parameters()) failed: 
wrong no. of arguments pushed
#
# JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.65-b04 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.sun.com/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x000000000662e000):  JavaThread "main" [_thread_in_vm, 
id=32715, stack(0x00007ffe33568000,0x00007ffe33668000)]

Stack: [0x00007ffe33568000,0x00007ffe33668000],  sp=0x00007ffe33660020,  free 
space=992k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x99eb8a]  VMError::report_and_die()+0x2ea
V  [libjvm.so+0x497282]  report_vm_error(char const*, int, char const*, char 
const*)+0x62
V  [libjvm.so+0x5ff69a]  JavaCallArguments::verify(methodHandle, BasicType, 
Thread*)+0x5a
V  [libjvm.so+0x5ff9ed]  JavaCalls::call_helper(JavaValue*, methodHandle*, 
JavaCallArguments*, Thread*)+0x1ed
V  [libjvm.so+0x5fe5c8]  JavaCalls::call(JavaValue*, methodHandle, 
JavaCallArguments*, Thread*)+0x28
V  [libjvm.so+0x638dd4]  jni_invoke_nonstatic(JNIEnv_*, JavaValue*, _jobject*, 
JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*)+0x2b4
V  [libjvm.so+0x649ab9]  jni_CallObjectMethodV+0xe9
V  [libjvm.so+0x67293e]  checked_jni_CallObjectMethodV+0x15e
C  [impalad+0xdb9799]  JNIEnv_::CallObjectMethod(_jobject*, _jmethodID*, 
...)+0xb5
C  [impalad+0x11a1335]  impala::Status 
impala::JniUtil::CallJniMethod<impala::TGetJvmMetricsRequest, 
impala::TGetJvmMetricsResponse>(_jobject* const&, _jmethodID* cons
t&, impala::TGetJvmMetricsRequest const&, impala::TGetJvmMetricsResponse*)+0x18b
C  [impalad+0x11a0f68]  
impala::JniUtil::GetJvmMetrics(impala::TGetJvmMetricsRequest const&, 
impala::TGetJvmMetricsResponse*)+0x42
C  [impalad+0x11a5249]  
impala::JvmMetric::InitMetrics(impala::MetricGroup*)+0x101
C  [impalad+0x11a4c74]  impala::RegisterMemoryMetrics(impala::MetricGroup*, 
bool)+0x460
C  [impalad+0xf42e91]  impala::ExecEnv::StartServices()+0x585
C  [impalad+0x112d913]  ImpaladMain(int, char**)+0x88c
C  [impalad+0xd6df40]  main+0xba

,
         When I changed 
JAVA_TOOL_OPTIONS="-agentlib:jdwp=transport=dt_socket,address=10.2.177.246:9009,server=y,suspend=y
   -Xmx1g" ,without -Xcheck:jni,everything seems ok
    Anyone explain why? Should -Xcheck:jni be added to JAVA_TOOL_OPTIONS?

Reply via email to