Jim Apple has uploaded a new change for review.
http://gerrit.cloudera.org:8080/6425
Change subject: IMPALA-5031: Suppress noisy UBSAN errors from Thrift.
......................................................................
IMPALA-5031: Suppress noisy UBSAN errors from Thrift.
This suppresses a Thrift undefined behavior error in which a negative
value is left-shifted. See THRIFT-2026 for tracking.
One example backtrace from the exr-test backend test:
/thrift/protocol/TCompactProtocol.tcc:375:13: runtime error: left shift of
negative value -1
#0 0x2b02fe247996 in
apache::thrift::protocol::TCompactProtocolT<apache::thrift::transport::TMemoryBuffer>::i64ToZigzag(long)
/thrift/protocol/TCompactProtocol.tcc:375:13
#1 0x2b02fe247674 in
apache::thrift::protocol::TCompactProtocolT<apache::thrift::transport::TMemoryBuffer>::writeI64(long)
/thrift/protocol/TCompactProtocol.tcc:242:24
#2 0x2b02fe239504 in
apache::thrift::protocol::TVirtualProtocol<apache::thrift::protocol::TCompactProtocolT<apache::thrift::transport::TMemoryBuffer>,
apache::thrift::protocol::TProtocolDefaults>::writeI64_virt(long)
/thrift/protocol/TVirtualProtocol.h:409:12
#3 0x2b03014a3a06 in apache::thrift::protocol::TProtocol::writeI64(long)
/thrift/protocol/TProtocol.h:453:12
#4 0x2b0301d55c02 in
impala::TRuntimeProfileNode::write(apache::thrift::protocol::TProtocol*) const
/generated-sources/gen-cpp/RuntimeProfile_types.cpp:827:11
#5 0x2b0301d59e34 in
impala::TRuntimeProfileTree::write(apache::thrift::protocol::TProtocol*) const
/generated-sources/gen-cpp/RuntimeProfile_types.cpp:1017:15
#6 0x2b02f6f8c7be in impala::Status
impala::ThriftSerializer::Serialize<impala::TRuntimeProfileTree>(impala::TRuntimeProfileTree*,
unsigned int*, unsigned char**) /src/rpc/thrift-util.h:67:7
#7 0x2b02f6f0d23e in impala::Status
impala::ThriftSerializer::Serialize<impala::TRuntimeProfileTree>(impala::TRuntimeProfileTree*,
std::vector<unsigned char, std::allocator<unsigned char> >*)
/src/rpc/thrift-util.h:54:31
#8 0x2b02f6eec934 in
impala::RuntimeProfile::SerializeToArchiveString(std::basic_stringstream<char,
std::char_traits<char>, std::allocator<char> >*) const
/src/util/runtime-profile.cc:727:19
#9 0x2b02f6eec640 in impala::RuntimeProfile::SerializeToArchiveString()
const /src/util/runtime-profile.cc:718:3
#10 0x2b02feda626c in
impala::ImpalaServer::ArchiveQuery(impala::ImpalaServer::QueryExecState const&)
/src/service/impala-server.cc:671:39
#11 0x2b02fedb57b0 in
impala::ImpalaServer::UnregisterQuery(impala::TUniqueId const&, bool,
impala::Status const*) /src/service/impala-server.cc:972:3
#12 0x2b02ff15b666 in impala::ImpalaServer::close(beeswax::QueryHandle
const&) /src/service/impala-beeswax-server.cc:236:29
#13 0x2b030177dc14 in beeswax::BeeswaxServiceProcessor::process_close(int,
apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*,
void*) /generated-sources/gen-cpp/BeeswaxService.cpp:3543:5
#14 0x2b0301763825 in
beeswax::BeeswaxServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*,
apache::thrift::protocol::TProtocol*, std::string const&, int, void*)
/generated-sources/gen-cpp/BeeswaxService.cpp:2952:3
#15 0x2b03016bc2d6 in
impala::ImpalaServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*,
apache::thrift::protocol::TProtocol*, std::string const&, int, void*)
/generated-sources/gen-cpp/ImpalaService.cpp:1673:12
#16 0x2b02f650138e in
apache::thrift::TDispatchProcessor::process(boost::shared_ptr<apache::thrift::protocol::TProtocol>,
boost::shared_ptr<apache::thrift::protocol::TProtocol>, void*)
/thrift/TDispatchProcessor.h:121:12
#17 0x1d4080a in apache::thrift::server::TThreadPoolServer::Task::run()
(/build/debug/exprs/expr-test+0x1d4080a)
#18 0x1d23e38 in apache::thrift::concurrency::ThreadManager::Worker::run()
(/build/debug/exprs/expr-test+0x1d23e38)
#19 0x2b02fe2be520 in
impala::ThriftThread::RunRunnable(boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long>*) /src/rpc/thrift-thread.cc:64:3
#20 0x2b02fe2c4c6b in boost::_mfi::mf2<void, impala::ThriftThread,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long>*>::operator()(impala::ThriftThread*,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long>*) const /boost/bind/mem_fn_template.hpp:280:16
#21 0x2b02fe2c498a in void
boost::_bi::list3<boost::_bi::value<impala::ThriftThread*>,
boost::_bi::value<boost::shared_ptr<apache::thrift::concurrency::Runnable> >,
boost::_bi::value<impala::Promise<unsigned long>*>
>::operator()<boost::_mfi::mf2<void, impala::ThriftThread,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long>*>, boost::_bi::list0>(boost::_bi::type<void>,
boost::_mfi::mf2<void, impala::ThriftThread,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long>*>&, boost::_bi::list0&, int)
/boost/bind/bind.hpp:392:9
#22 0x2b02fe2c444b in boost::_bi::bind_t<void, boost::_mfi::mf2<void,
impala::ThriftThread, boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long>*>,
boost::_bi::list3<boost::_bi::value<impala::ThriftThread*>,
boost::_bi::value<boost::shared_ptr<apache::thrift::concurrency::Runnable> >,
boost::_bi::value<impala::Promise<unsigned long>*> > >::operator()()
/boost/bind/bind_template.hpp:20:16
#23 0x2b02fe2c3709 in
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::mf2<void, impala::ThriftThread,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long>*>,
boost::_bi::list3<boost::_bi::value<impala::ThriftThread*>,
boost::_bi::value<boost::shared_ptr<apache::thrift::concurrency::Runnable> >,
boost::_bi::value<impala::Promise<unsigned long>*> > >,
void>::invoke(boost::detail::function::function_buffer&)
/boost/function/function_template.hpp:153:11
#24 0x2b02f70085d4 in boost::function0<void>::operator()() const
/boost/function/function_template.hpp:766:14
#25 0x2b02f6ff9710 in impala::Thread::SuperviseThread(std::string const&,
std::string const&, boost::function<void ()>, impala::Promise<long>*)
/src/util/thread.cc:325:3
#26 0x2b02f7021783 in void
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>*> >::operator()<void (*)(std::string
const&, std::string const&, boost::function<void ()>, impala::Promise<long>*),
boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&,
std::string const&, boost::function<void ()>, impala::Promise<long>*),
boost::_bi::list0&, int) /boost/bind/bind.hpp:457:9
#27 0x2b02f70210ab in 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>*> > >::operator()()
/boost/bind/bind_template.hpp:20:16
#28 0x2b02f701faf5 in 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()
/boost/thread/detail/thread.hpp:116:17
#29 0xfaa189 in thread_proxy (/build/debug/exprs/expr-test+0xfaa189)
#30 0x2b0305c5e183 in start_thread
(/lib/x86_64-linux-gnu/libpthread.so.0+0x8183)
#31 0x2b0305f6e37c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xfa37c)
Change-Id: I74ece2157048e8cd24c2536c0a292d9c21f719b9
---
M bin/ubsan-suppressions.txt
1 file changed, 4 insertions(+), 0 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/25/6425/1
--
To view, visit http://gerrit.cloudera.org:8080/6425
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I74ece2157048e8cd24c2536c0a292d9c21f719b9
Gerrit-PatchSet: 1
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Jim Apple <[email protected]>