Removing the user list... The Oracle docs say "
The -Xcheck:jni option causes the VM to do additional validation on the arguments passed to JNI functions" I guessthat means there's a buginhow we're using JNI? On Thu, Jul 13, 2017 at 5:44 AM, Wang Lei(北京研发中心.112456) < alaleiw...@sohu-inc.com> wrote: > 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? >