[
https://issues.apache.org/jira/browse/IMPALA-8969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16956437#comment-16956437
]
Tim Armstrong commented on IMPALA-8969:
---------------------------------------
[~boroknagyz] can we close this?
> Grouping aggregator can cause segmentation fault when doing multiple
> aggregations.
> ----------------------------------------------------------------------------------
>
> Key: IMPALA-8969
> URL: https://issues.apache.org/jira/browse/IMPALA-8969
> Project: IMPALA
> Issue Type: Bug
> Reporter: Zoltán Borók-Nagy
> Assignee: Zoltán Borók-Nagy
> Priority: Major
>
> The following query deterministically crashes Impala:
> {noformat}
> select group_concat(distinct cast(l_orderkey as string))),
> group_concat(distinct(l_comment))) from tpch_parquet.lineitem group by
> l_comment{noformat}
> The stack trace during the crash:
> {noformat}
> #0 0x00007fd3f605a428 in raise () from /lib/x86_64-linux-gnu/libc.so.6
> #1 0x00007fd3f605c02a in abort () from /lib/x86_64-linux-gnu/libc.so.6
> #2 0x00007fd3fa8ad149 in ?? () from
> /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
> #3 0x00007fd3faa60d27 in ?? () from
> /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
> #4 0x00007fd3fa8b6e4f in JVM_handle_linux_signal () from
> /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
> #5 0x00007fd3fa8a9e48 in ?? () from
> /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
> #6 <signal handler called>
> #7 0x00007fd400105bfa in impala::Tuple::IsNull (this=0x0, offset=...) at
> /home/boroknagyz/Impala/be/src/runtime/tuple.h:247
> #8 0x00007fd3fd1c16d2 in impala::AggFnEvaluator::SerializeOrFinalize
> (this=0x75da4c0, src=0x0, dst_slot_desc=..., dst=0x0, fn=0x7fd3fd1cdc08
> <impala::AggregateFunctions::StringValSerializeOrFinalize(impala_udf::FunctionContext*,
> impala_udf::StringVal const&)>)
> at /home/boroknagyz/Impala/be/src/exprs/agg-fn-evaluator.cc:398
> #9 0x00007fd3fddbeb3a in impala::AggFnEvaluator::Serialize (this=0x75da4c0,
> tuple=0x0) at /home/boroknagyz/Impala/be/src/exprs/agg-fn-evaluator.h:267
> #10 0x00007fd3fddbebe3 in impala::AggFnEvaluator::Serialize (evals=...,
> dst=0x0) at /home/boroknagyz/Impala/be/src/exprs/agg-fn-evaluator.h:296
> #11 0x00007fd3fde4e847 in impala::GroupingAggregator::AddBatchStreamingImpl
> (this=0xd392300, agg_idx=1, needs_serialize=true,
> prefetch_mode=impala::TPrefetchMode::HT_BUCKET, in_batch=0xb7746c0,
> out_batch=0x758e040, ht_ctx=0xb336f80, remaining_capacity=0x7fd353bb6c40)
> at /home/boroknagyz/Impala/be/src/exec/grouping-aggregator-ir.cc:204
> #12 0x00007fd3fde3e426 in impala::GroupingAggregator::AddBatchStreaming
> (this=0xd392300, state=0x7006e00, out_batch=0x758e040, child_batch=0xb7746c0,
> eos=0x7fd353bb6f0e) at
> /home/boroknagyz/Impala/be/src/exec/grouping-aggregator.cc:459
> #13 0x00007fd3fdfa2773 in impala::StreamingAggregationNode::GetRowsStreaming
> (this=0x6205c00, state=0x7006e00, out_batch=0x758e040) at
> /home/boroknagyz/Impala/be/src/exec/streaming-aggregation-node.cc:160
> #14 0x00007fd3fdfa1616 in impala::StreamingAggregationNode::GetNext
> (this=0x6205c00, state=0x7006e00, row_batch=0x758e040, eos=0x7fd353bb74c7) at
> /home/boroknagyz/Impala/be/src/exec/streaming-aggregation-node.cc:76
> #15 0x00007fd3fe9ea566 in impala::FragmentInstanceState::ExecInternal
> (this=0x703b1e0) at
> /home/boroknagyz/Impala/be/src/runtime/fragment-instance-state.cc:368
> #16 0x00007fd3fe9e6e39 in impala::FragmentInstanceState::Exec
> (this=0x703b1e0) at
> /home/boroknagyz/Impala/be/src/runtime/fragment-instance-state.cc:93
> #17 0x00007fd3fea51c9d in impala::QueryState::ExecFInstance (this=0x6f9b200,
> fis=0x703b1e0) at /home/boroknagyz/Impala/be/src/runtime/query-state.cc:650
> #18 0x00007fd3fea4ff6a in impala::QueryState::<lambda()>::operator()(void)
> const (__closure=0x7fd353bb7ca8) at
> /home/boroknagyz/Impala/be/src/runtime/query-state.cc:558
> #19 0x00007fd3fea5397f in
> boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::<lambda()>,
> void>::invoke(boost::detail::function::function_buffer &)
> (function_obj_ptr=...)
> at
> /opt/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153
> #20 0x00007fd4005266f4 in boost::function0<void>::operator()
> (this=0x7fd353bb7ca0) at
> /opt/Impala-Toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:767
> #21 0x00007fd40020a44f in impala::Thread::SuperviseThread(std::string const&,
> std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*,
> impala::Promise<long, (impala::PromiseMode)0>*) (name=..., category=...,
> functor=...,
> parent_thread_info=0x7fd354bbb950, thread_started=0x7fd354bba8f0) at
> /home/boroknagyz/Impala/be/src/util/thread.cc:360
> #22 0x00007fd400213e13 in boost::_bi::list5<boost::_bi::value<std::string>,
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
> boost::_bi::value<impala::ThreadDebugInfo*>,
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*>
> >::operator()<void (*)(std::string const&, std::string const&,
> boost::function<void ()>, impala::ThreadDebugInfo const*,
> impala::Promise<long, (impala::PromiseMode)0>*),
> boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&,
> std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*,
> impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0&, int)
> (this=0x739f1c0,
> f=@0x739f1b8: 0x7fd40020a0e8 <impala::Thread::SuperviseThread(std::string
> const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo
> const*, impala::Promise<long, (impala::PromiseMode)0>*)>, a=...)
> at /opt/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525
> #23 0x00007fd400213d37 in boost::_bi::bind_t<void, void (*)(std::string
> const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo
> const*, impala::Promise<long, (impala::PromiseMode)0>*),
> boost::_bi::list5<boost::_bi::value<std::string>,
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
> boost::_bi::value<impala::ThreadDebugInfo*>,
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> >
> >::operator()() (this=0x739f1b8)
> at
> /opt/Impala-Toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20
> #24 0x00007fd400213cfa in boost::detail::thread_data<boost::_bi::bind_t<void,
> void (*)(std::string const&, std::string const&, boost::function<void ()>,
> impala::ThreadDebugInfo const*, impala::Promise<long,
> (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>,
> boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
> boost::_bi::value<impala::ThreadDebugInfo*>,
> boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > >
> >::run() (this=0x739f000)
> at
> /opt/Impala-Toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116
> #25 0x0000000000a3bcaa in thread_proxy ()
> #26 0x00007fd3fb60a6ba in start_thread () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #27 0x00007fd3f612c41d in clone () from /lib/x86_64-linux-gnu/libc.so.6
> {noformat}
> The problem is in be/src/exec/grouping-aggregator-ir.cc:204:
> {noformat}
> AggFnEvaluator::Serialize(agg_fn_evals_, out_batch_iter.Get()->GetTuple(0));
> {noformat}
> GetTuple() should be called with 'agg_idx' instead of zero.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]