You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Riza Suminto (Jira)" <ji...@apache.org> on 2020/12/02 00:15:00 UTC

[jira] [Created] (IMPALA-10371) test_java_udfs crash impalad if result spooling is enabled

Riza Suminto created IMPALA-10371:
-------------------------------------

             Summary: test_java_udfs crash impalad if result spooling is enabled
                 Key: IMPALA-10371
                 URL: https://issues.apache.org/jira/browse/IMPALA-10371
             Project: IMPALA
          Issue Type: Bug
          Components: Backend
    Affects Versions: Impala 3.4.0
            Reporter: Riza Suminto
         Attachments: 46a19881-resolved.txt, hs_err_pid12878.log

The following test query from TestUdfExecution::test_java_udfs crash impalad when result spooling is enabled.
{code:java}
select throws_exception() from functional.alltypestiny{code}
The following is a truncated JVM crash log related to the crash
{code:java}
---------------  T H R E A D  ---------------Current thread (0x000000000fb4c000):  JavaThread "Thread-700" [_thread_in_native, id=30853, stack(0x00007f79715ff000,0x00007f7971dff000)]Stack: [0x00007f79715ff000,0x00007f7971dff000],  sp=0x00007f7971dfa280,  free space=8172k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xb6b032]
V  [libjvm.so+0x4f14bd]
V  [libjvm.so+0x80fa8f]
V  [libjvm.so+0x7e0991]
V  [libjvm.so+0x69fa10]
j  org.apache.impala.TestUdfException.evaluate()Lorg/apache/hadoop/io/BooleanWritable;+9
v  ~StubRoutines::call_stub
V  [libjvm.so+0x6af9ba]
V  [libjvm.so+0xa1def8]
V  [libjvm.so+0xa1f8d5]
V  [libjvm.so+0x7610f8]  JVM_InvokeMethod+0x128
J 2286  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007f7acb553ced [0x00007f7acb553c00+0xed]
J 6921 C2 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007f7acbd1de38 [0x00007f7acbd1ddc0+0x78]
J 3645 C2 org.apache.impala.hive.executor.UdfExecutor.evaluate()V (396 bytes) @ 0x00007f7acaf6e894 [0x00007f7acaf6e640+0x254]
v  ~StubRoutines::call_stub
V  [libjvm.so+0x6af9ba]
V  [libjvm.so+0x72c046]
V  [libjvm.so+0x730523]
C  0x00007f7ab4c5d0d0
C  [impalad+0x26a2648]  impala::ScalarExprEvaluator::GetValue(impala::ScalarExpr const&, impala::TupleRow const*)+0x7a
C  [impalad+0x26a25cb]  impala::ScalarExprEvaluator::GetValue(impala::TupleRow const*)+0x2b
C  [impalad+0x21f4f78]  impala::AsciiQueryResultSet::AddRows(std::vector<impala::ScalarExprEvaluator*, std::allocator<impala::ScalarExprEvaluator*> > const&, impala::RowBatch*, int, int)+0x4c2
C  [impalad+0x25c5862]  impala::BufferedPlanRootSink::GetNext(impala::RuntimeState*, impala::QueryResultSet*, int, bool*, long)+0x70c
C  [impalad+0x296cf17]  impala::Coordinator::GetNext(impala::QueryResultSet*, int, bool*, long)+0x557
C  [impalad+0x219f5fe]  impala::ClientRequestState::FetchRowsInternal(int, impala::QueryResultSet*, long)+0x6b2
C  [impalad+0x219d98e]  impala::ClientRequestState::FetchRows(int, impala::QueryResultSet*, long)+0x46
C  [impalad+0x21c1d29]  impala::ImpalaServer::FetchInternal(impala::TUniqueId, bool, int, beeswax::Results*)+0x717
C  [impalad+0x21bbde9]  impala::ImpalaServer::fetch(beeswax::Results&, beeswax::QueryHandle const&, bool, int)+0x577
{code}
If result spooling is enabled, BufferedPlanRootSink will be used and ScalarExprEvaluation will be called in BufferedPlanRootSink::GetNext, leading to this crash.

Without result spooling, BlockingPlanRootSink will be used and ScalarExprEvaluation is called in BlockingPlanRootSink::Send. No crash happen when result spooling is disabled.

Attached is the full JVM crash log and resolved minidump.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)