Daniel Becker created IMPALA-9111:
-------------------------------------

             Summary: Sorting 'Decimal16Value's with codegen enabled but 
codegen optimizations disabled fails
                 Key: IMPALA-9111
                 URL: https://issues.apache.org/jira/browse/IMPALA-9111
             Project: IMPALA
          Issue Type: Bug
          Components: Backend
            Reporter: Daniel Becker


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
#32 0x00007fda6e71041d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to