Description
Starting the Impala cluster with
bin/start-impala-cluster.py --impalad_args="-disable_optimization_passes"
the following query fails and Impala crashes:
SELECT d28_1 FROM functional.decimal_rtf_tbl ORDER BY d28_1;
This error happens if the inlining pass in OptimizeModule in be/src/codegen/llvm-codegen.cc is not run. It seems the problem only happens with decimals that need to be stored on 16 bytes. Maybe it is some ABI incompatibility with Decimal16Value.
Stack trace:
#0 0x00007fda6e63e428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 0x00007fda6e64002a in __GI_abort () at abort.c:89 #2 0x00007fda71707149 in os::abort(bool) () from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so #3 0x00007fda718bad27 in VMError::report_and_die() () from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so #4 0x00007fda71710e4f in JVM_handle_linux_signal () from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so #5 0x00007fda71703e48 in signalHandler(int, siginfo_t*, void*) () from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so #6 <signal handler called> #7 0x00007fd9c3437f8b in impala::RawValue::Compare(void const*, void const*, impala::ColumnType const&) () #8 0x00007fd9c3438e25 in Compare () #9 0x0000000002a26293 in impala::TupleRowComparator::Compare (rhs=0x7fd9c3c4a8b8, lhs=0x7fd9c3c4a8c0, this=0x1284e480) at be/src/util/tuple-row-compare.h:98 #10 impala::TupleRowComparator::Less (rhs=0x7fd9c3c4a8b8, lhs=0x7fd9c3c4a8c0, this=0x1284e480) at be/src/util/tuple-row-compare.h:107 #11 impala::Sorter::TupleSorter::Less (this=0x137b2000, lhs=0x7fd9c3c4a8c0, rhs=0x7fd9c3c4a8b8) at be/src/runtime/sorter-ir.cc:72 #12 0x0000000002a27409 in impala::Sorter::TupleSorter::MedianOfThree (this=0x137b2000, t1=0x14808e50, t2=0x14802d3f, t3=0x14808085) at be/src/runtime/sorter-ir.cc:214 #13 0x0000000002a27394 in impala::Sorter::TupleSorter::SelectPivot (this=0x137b2000, begin=..., end=...) at be/src/runtime/sorter-ir.cc:206 #14 0x0000000002a26cd8 in impala::Sorter::TupleSorter::SortHelper (this=0x137b2000, begin=..., end=...) at be/src/runtime/sorter-ir.cc:165 #15 0x0000000002a15e8a in impala::Sorter::TupleSorter::Sort (this=0x137b2000, run=0x13974da0) at be/src/runtime/sorter.cc:755 #16 0x0000000002a18e27 in impala::Sorter::SortCurrentInputRun (this=0x1284e3c0) at be/src/runtime/sorter.cc:956 #17 0x0000000002a183e7 in impala::Sorter::InputDone (this=0x1284e3c0) at be/src/runtime/sorter.cc:892 #18 0x000000000263bc18 in impala::SortNode::SortInput (this=0xdf63e40, state=0x11e652a0) at be/src/exec/sort-node.cc:187 #19 0x000000000263a8e0 in impala::SortNode::Open (this=0xdf63e40, state=0x11e652a0) at be/src/exec/sort-node.cc:90 #20 0x00000000020f289a in impala::FragmentInstanceState::Open (this=0xe0571e0) at be/src/runtime/fragment-instance-state.cc:348 #21 0x00000000020ef54c in impala::FragmentInstanceState::Exec (this=0xe0571e0) at be/src/runtime/fragment-instance-state.cc:84 #22 0x0000000002102f9b in impala::QueryState::ExecFInstance (this=0xd376000, fis=0xe0571e0) at be/src/runtime/query-state.cc:650 #23 0x0000000002101268 in impala::QueryState::<lambda()>::operator()(void) const (__closure=0x7fd9c3c4bca8) at be/src/runtime/query-state.cc:558 #24 0x0000000002104c7d in boost::detail::function::void_function_obj_invoker0<impala::QueryState::StartFInstances()::<lambda()>, void>::invoke(boost::detail::function::function_buffer &) (function_obj_ptr=...) at toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:153 #25 0x0000000001f04b46 in boost::function0<void>::operator() (this=0x7fd9c3c4bca0) at toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:767 #26 0x000000000247bafd in impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*) (Python Exception <class 'gdb.error'> No type named class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep.: name=, Python Exception <class 'gdb.error'> No type named class std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep.: category=, functor=..., parent_thread_info=0x7fd9c4c4d950, thread_started=0x7fd9c4c4c8f0) at be/src/util/thread.cc:360 #27 0x0000000002483e81 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=0xd3857c0, f=@0xd3857b8: 0x247b796 <impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*)>, a=...) at toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:525 #28 0x0000000002483da5 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=0xd3857b8) at toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20 #29 0x0000000002483d68 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=0xd385600) at toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116 #30 0x0000000003c6909a in thread_proxy () #31 0x00007fda71fb56ba in start_thread (arg=0x7fd9c3c4c700) at pthread_create.c:333
Attachments
Issue Links
- is fixed by
-
IMPALA-7923 DecimalValue should be marked as packed
- Resolved