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?
>
  • impala debug 北京研发中心.112456
    • Re: impala debug Tim Armstrong

Reply via email to