[ https://issues.apache.org/jira/browse/IMPALA-7473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tim Armstrong reassigned IMPALA-7473: ------------------------------------- Assignee: Tim Armstrong > RawValue::PrintValue() hits general protection fault with VLOG level 3 > ---------------------------------------------------------------------- > > Key: IMPALA-7473 > URL: https://issues.apache.org/jira/browse/IMPALA-7473 > Project: IMPALA > Issue Type: Bug > Components: Backend > Affects Versions: Impala 2.13.0 > Reporter: Anuj Phadke > Assignee: Tim Armstrong > Priority: Critical > Labels: crash > > DecimalValue does not seem to be 16 bytes aligned and impala hits a GPF. I > could only recreate this issue only with logging level set to 3. > Here is a recreation of this on Impala version - 2.13.0 > {noformat} > [anuj-3.gce.cloudera.com:21000] > select * from tem_cja.fact_starts_channel > limit 2; > Query: select * from tem_cja.fact_starts_channel limit 2 > Query submitted at: 2018-08-21 10:33:52 (Coordinator: > [http://anuj-3.gce.cloudera.com:25000|http://anuj-3.gce.cloudera.com:25000/]) > Query progress can be monitored at: > [http://anuj-3.gce.cloudera.com:25000/query_plan?query_id=1b46ea60e56fb01c:b60b7bfa00000000] > Error communicating with impalad: TSocket read 0 bytes > [Not connected] > > (gdb) bt > #0 0x00007f59a9645277 in raise () from /lib64/libc.so.6 > #1 0x00007f59a9646968 in abort () from /lib64/libc.so.6 > #2 0x00007f59ac335f35 in os::abort(bool) () from > /usr/java/jdk1.8.0_162-cloudera/jre/lib/amd64/server/libjvm.so > #3 0x00007f59ac4d9f33 in VMError::report_and_die() () from > /usr/java/jdk1.8.0_162-cloudera/jre/lib/amd64/server/libjvm.so > #4 0x00007f59ac33c22f in JVM_handle_linux_signal () from > /usr/java/jdk1.8.0_162-cloudera/jre/lib/amd64/server/libjvm.so > #5 0x00007f59ac332253 in signalHandler(int, siginfo*, void*) () from > /usr/java/jdk1.8.0_162-cloudera/jre/lib/amd64/server/libjvm.so > #6 <signal handler called> > #7 0x0000000000b67f6b in impala::RawValue::PrintValue(void const*, > impala::ColumnType const&, int, std::basic_stringstream<char, > std::char_traits<char>, std::allocator<char> >*) () > #8 0x0000000000b686ec in impala::RawValue::PrintValue(void const*, > impala::ColumnType const&, int, std::string*) () > #9 0x0000000000cd1415 in impala::PrintTuple(impala::Tuple const*, > impala::TupleDescriptor const&) () > #10 0x0000000000cd16cb in impala::PrintRow(impala::TupleRow*, > impala::RowDescriptor const&) () > #11 0x0000000000b69718 in impala::RowBatch::VLogRows(std::string const&) () > #12 0x0000000000badcdd in impala::FragmentInstanceState::ExecInternal() () > #13 0x0000000000bb07bf in impala::FragmentInstanceState::Exec() () > #14 0x0000000000b9e85a in > impala::QueryState::ExecFInstance(impala::FragmentInstanceState*) () > #15 0x0000000000d60f1f in impala::Thread::SuperviseThread(std::string > const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo > const*, impala::Promise<long>*) () > #16 0x0000000000d6171a 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>*), > 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>*> > > >::run() () > #17 0x00000000012d930a in thread_proxy () > #18 0x00007f59a99e3e25 in start_thread () from /lib64/libpthread.so.0 > #19 0x00007f59a970dbad in clone () from /lib64/libc.so.6 > (gdb) quit > {noformat} > Here is a better stack trace from a CTAS query that I ran on Impala 2.10.0 - > {noformat} > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > Core was generated by `/home/anuj/Impala/be/build/latest/service/impalad > -kudu_master_hosts 127.0.0.1'. > Program terminated with signal SIGABRT, Aborted. > #0 0x00007f0597161c37 in __GI_raise (sig=sig@entry=6) at > ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. > (gdb) bt > #0 0x00007f0597161c37 in __GI_raise (sig=sig@entry=6) at > ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > #1 0x00007f0597165028 in __GI_abort () at abort.c:89 > #2 0x00007f05996f63c5 in os::abort(bool) () from > /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so > #3 0x00007f059989a5b3 in VMError::report_and_die() () from > /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so > #4 0x00007f05996fc70f in JVM_handle_linux_signal () from > /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so > #5 0x00007f05996f2653 in signalHandler(int, siginfo*, void*) () from > /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so > #6 <signal handler called> > #7 ToString (scale=5, precision=<optimized out>, this=0x1075e264) at > /home/anuj/Impala/be/src/runtime/decimal-value.inline.h:468 > #8 ToString (type=..., type=..., this=0x1075e264) at > /home/anuj/Impala/be/src/runtime/decimal-value.inline.h:452 > #9 impala::RawValue::PrintValue (value=value@entry=0x1075e264, type=..., > scale=scale@entry=-1, stream=stream@entry=0x7f04f5abb390) > at /home/anuj/Impala/be/src/runtime/raw-value.cc:300 > #10 0x0000000000a00ac6 in impala::RawValue::PrintValue (value=0x1075e264, > type=..., scale=scale@entry=-1, str=str@entry=0x7f04f5abb590) > at /home/anuj/Impala/be/src/runtime/raw-value.cc:108 > #11 0x0000000000b594a2 in impala::PrintTuple (t=0x1075e174, d=...) at > /home/anuj/Impala/be/src/util/debug-util.cc:198 > #12 0x0000000000b59714 in impala::PrintRow (row=0xd930008, d=...) at > /home/anuj/Impala/be/src/util/debug-util.cc:211 > #13 0x0000000000a38edc in impala::RowBatch::VLogRows (this=0xc44eee8, > context=<error reading variable: Cannot access memory at address 0x30>) > at /home/anuj/Impala/be/src/runtime/row-batch.cc:446 > #14 0x0000000000a51adc in impala::FragmentInstanceState::ExecInternal > (this=this@entry=0x75f4d00) at > /home/anuj/Impala/be/src/runtime/fragment-instance-state.cc:273 > #15 0x0000000000a54f19 in impala::FragmentInstanceState::Exec > (this=this@entry=0x75f4d00) at > /home/anuj/Impala/be/src/runtime/fragment-instance-state.cc:89 > #16 0x0000000000a316d8 in impala::QueryState::ExecFInstance (this=0x7082d00, > fis=0x75f4d00) at /home/anuj/Impala/be/src/runtime/query-state.cc:369 > #17 0x0000000000bd6fa2 in operator() (this=0x7f04f5abbda0) at > /home/anuj/Impala/toolchain/boost-1.57.0-p3/include/boost/function/function_template.hpp:767 > #18 impala::Thread::SuperviseThread(std::string const&, std::string const&, > boost::function<void ()>, impala::Promise<long>*) (name=..., category=..., > functor=..., > thread_started=0x7f04f62bc210) at /home/anuj/Impala/be/src/util/thread.cc:352 > #19 0x0000000000bd7704 in operator()<void (*)(const > std::basic_string<char>&, const std::basic_string<char>&, > boost::function<void()>, impala::Promise<long int>*), boost::_bi::list0> > (f=@0x82457b8: 0xbd6de0 <impala::Thread::SuperviseThread(std::string const&, > std::string const&, boost::function<void ()>, impala::Promise<long>*)>, > a=<synthetic pointer>, > this=0x82457c0) at > /home/anuj/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind.hpp:457 > #20 operator() (this=0x82457b8) at > /home/anuj/Impala/toolchain/boost-1.57.0-p3/include/boost/bind/bind_template.hpp:20 > #21 boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(std::string > const&, std::string const&, boost::function<void ()>, > impala::Promise<long>*), boost::_bi::list4<boost::_bi::value<std::string>, > boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, > boost::_bi::value<impala::Promise<long>*> > > >::run() (this=0x8245600) > at > /home/anuj/Impala/toolchain/boost-1.57.0-p3/include/boost/thread/detail/thread.hpp:116 > #22 0x0000000000e6414a in thread_proxy () > #23 0x00007f05974fc184 in start_thread (arg=0x7f04f5abc700) at > pthread_create.c:312 > #24 0x00007f059722903d in clone () at > ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 > (gdb) f 8 > #8 ToString (type=..., type=..., this=0x1075e264) at > /home/anuj/Impala/be/src/runtime/decimal-value.inline.h:452 > 452 return ToString(type.precision, type.scale); > (gdb) f 7 > #7 ToString (scale=5, precision=<optimized out>, this=0x1075e264) at > /home/anuj/Impala/be/src/runtime/decimal-value.inline.h:468 > 468 T remaining_value = value_; > (gdb) f 6 > #6 <signal handler called> > (gdb) f 7 > #7 ToString (scale=5, precision=<optimized out>, this=0x1075e264) at > /home/anuj/Impala/be/src/runtime/decimal-value.inline.h:468 > 468 T remaining_value = value_; > (gdb) p value_ > $1 = 0x000000000000000000df88b350ffb87f > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org