Jim Apple has posted comments on this change.

Change subject: IMPALA-5031: Remove undefined behavior: left shift into the 
sign bit
......................................................................


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/6528/1/be/src/exprs/bit-byte-functions-ir.cc
File be/src/exprs/bit-byte-functions-ir.cc:

Line 151:   return (static_cast<std::make_unsigned_t<T>>(v) << shift)
In ExprTest.BitByteBuiltins:

    /home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:151:13: runtime 
error: left shift of 4611686018427387904 by 2 places cannot be represented in 
type 'long'
    #0 0x2ac0edaf65e2 in long impala::RotateLeftImpl<long>(long, int) 
/home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:151:13
    #1 0x2ac0edaf6494 in 
impala::BitByteFunctions::RotateLeft(impala_udf::FunctionContext*, 
impala_udf::BigIntVal const&, impala_udf::IntVal const&) 
/home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:192:180
    #2 0x2ac0eded87df in impala_udf::BigIntVal 
impala::ScalarFnCall::InterpretEval<impala_udf::BigIntVal>(impala::ExprContext*,
 impala::TupleRow const*) 
/home/ubuntu/Impala/be/src/exprs/scalar-fn-call.cc:492:376
    #3 0x2ac0ede634ef in 
impala::ScalarFnCall::GetBigIntVal(impala::ExprContext*, impala::TupleRow 
const*) /home/ubuntu/Impala/be/src/exprs/scalar-fn-call.cc:574:44
    #4 0x2ac0edc1f8c1 in impala::ExprContext::GetValue(impala::Expr*, 
impala::TupleRow const*) /home/ubuntu/Impala/be/src/exprs/expr-context.cc:258:33
    #5 0x2ac0edc1e97c in impala::ExprContext::GetValue(impala::TupleRow const*) 
/home/ubuntu/Impala/be/src/exprs/expr-context.cc:228:10
    #6 0x2ac0e90bdabf in void impala::Tuple::MaterializeExprs<false, 
false>(impala::TupleRow*, impala::TupleDescriptor const&, impala::ExprContext* 
const*, impala::MemPool*, impala::StringValue**, int*, int*) 
/home/ubuntu/Impala/be/src/runtime/tuple.cc:219:17
    #7 0x2ac0eb96d7be in void impala::Tuple::MaterializeExprs<false, 
false>(impala::TupleRow*, impala::TupleDescriptor const&, 
std::vector<impala::ExprContext*, std::allocator<impala::ExprContext*> > 
const&, impala::MemPool*, std::vector<impala::StringValue*, 
std::allocator<impala::StringValue*> >*, int*) 
/home/ubuntu/Impala/be/src/runtime/tuple.h:151:5
    #8 0x2ac0eb989924 in 
impala::UnionNode::MaterializeExprs(std::vector<impala::ExprContext*, 
std::allocator<impala::ExprContext*> > const&, impala::TupleRow*, unsigned 
char*, impala::RowBatch*) /home/ubuntu/Impala/be/src/exec/union-node.cc:273:3
    #9 0x2ac0eb982d40 in impala::UnionNode::GetNextConst(impala::RuntimeState*, 
impala::RowBatch*) /home/ubuntu/Impala/be/src/exec/union-node.cc:230:5
    #10 0x2ac0eb984a92 in impala::UnionNode::GetNext(impala::RuntimeState*, 
impala::RowBatch*, bool*) /home/ubuntu/Impala/be/src/exec/union-node.cc:259:31
    #11 0x2ac0e8eff3b1 in impala::PlanFragmentExecutor::ExecInternal() 
/home/ubuntu/Impala/be/src/runtime/plan-fragment-executor.cc:360:16
    #12 0x2ac0e8efde3d in impala::PlanFragmentExecutor::Exec() 
/home/ubuntu/Impala/be/src/runtime/plan-fragment-executor.cc:337:14
    #13 0x2ac0e8e40b4a in impala::FragmentInstanceState::Exec() 
/home/ubuntu/Impala/be/src/runtime/fragment-instance-state.cc:68:7
    #14 0x2ac0e8f1e67c in 
impala::QueryExecMgr::ExecFInstance(impala::FragmentInstanceState*) 
/home/ubuntu/Impala/be/src/runtime/query-exec-mgr.cc:110:3
    #15 0x2ac0e8f23fbe in boost::_mfi::mf1<void, impala::QueryExecMgr, 
impala::FragmentInstanceState*>::operator()(impala::QueryExecMgr*, 
impala::FragmentInstanceState*) const 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/mem_fn_template.hpp:165:16
    #16 0x2ac0e8f23e18 in void 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> 
>::operator()<boost::_mfi::mf1<void, impala::QueryExecMgr, 
impala::FragmentInstanceState*>, boost::_bi::list0>(boost::_bi::type<void>, 
boost::_mfi::mf1<void, impala::QueryExecMgr, impala::FragmentInstanceState*>&, 
boost::_bi::list0&, int) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind.hpp:313:9
    #17 0x2ac0e8f23acb in boost::_bi::bind_t<void, boost::_mfi::mf1<void, 
impala::QueryExecMgr, impala::FragmentInstanceState*>, 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> > >::operator()() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind_template.hpp:20:16
    #18 0x2ac0e8f22ea9 in 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf1<void, impala::QueryExecMgr, impala::FragmentInstanceState*>, 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> > >, 
void>::invoke(boost::detail::function::function_buffer&) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/function/function_template.hpp:153:11
    #19 0x2ac0e7565914 in boost::function0<void>::operator()() const 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/function/function_template.hpp:766:14
    #20 0x2ac0e7556a50 in impala::Thread::SuperviseThread(std::string const&, 
std::string const&, boost::function<void ()>, impala::Promise<long>*) 
/home/ubuntu/Impala/be/src/util/thread.cc:325:3
    #21 0x2ac0e757eac3 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) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind.hpp:457:9
    #22 0x2ac0e757e3eb 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()() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind_template.hpp:20:16
    #23 0x2ac0e757ce35 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() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/thread/detail/thread.hpp:116:17
    #24 0xfa8ba9 in thread_proxy 
(/home/ubuntu/Impala/be/build/debug/exprs/expr-test+0xfa8ba9)
    #25 0x2ac0f6325183 in start_thread 
(/lib/x86_64-linux-gnu/libpthread.so.0+0x8183)
    #26 0x2ac0f663537c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xfa37c)


Line 170:   return static_cast<std::make_unsigned_t<T>>(v) << shift;
In ExprTest.BitByteBuiltins:

    /home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:169:12: runtime 
error: left shift of 1073741824 by 2 places cannot be represented in type 'int'
    #0 0x2ac0edaf81c8 in int impala::ShiftLeftImpl<int>(int, int) 
/home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:169:12
    #1 0x2ac0edaf80ce in 
impala::BitByteFunctions::ShiftLeft(impala_udf::FunctionContext*, 
impala_udf::IntVal const&, impala_udf::IntVal const&) 
/home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:199:167
    #2 0x2ac0edebd19b in impala_udf::IntVal 
impala::ScalarFnCall::InterpretEval<impala_udf::IntVal>(impala::ExprContext*, 
impala::TupleRow const*) 
/home/ubuntu/Impala/be/src/exprs/scalar-fn-call.cc:492:376
    #3 0x2ac0ede62c74 in impala::ScalarFnCall::GetIntVal(impala::ExprContext*, 
impala::TupleRow const*) 
/home/ubuntu/Impala/be/src/exprs/scalar-fn-call.cc:566:44
    #4 0x2ac0edc1f571 in impala::ExprContext::GetValue(impala::Expr*, 
impala::TupleRow const*) /home/ubuntu/Impala/be/src/exprs/expr-context.cc:252:30
    #5 0x2ac0edc1e97c in impala::ExprContext::GetValue(impala::TupleRow const*) 
/home/ubuntu/Impala/be/src/exprs/expr-context.cc:228:10
    #6 0x2ac0e90bdabf in void impala::Tuple::MaterializeExprs<false, 
false>(impala::TupleRow*, impala::TupleDescriptor const&, impala::ExprContext* 
const*, impala::MemPool*, impala::StringValue**, int*, int*) 
/home/ubuntu/Impala/be/src/runtime/tuple.cc:219:17
    #7 0x2ac0eb96d7be in void impala::Tuple::MaterializeExprs<false, 
false>(impala::TupleRow*, impala::TupleDescriptor const&, 
std::vector<impala::ExprContext*, std::allocator<impala::ExprContext*> > 
const&, impala::MemPool*, std::vector<impala::StringValue*, 
std::allocator<impala::StringValue*> >*, int*) 
/home/ubuntu/Impala/be/src/runtime/tuple.h:151:5
    #8 0x2ac0eb989924 in 
impala::UnionNode::MaterializeExprs(std::vector<impala::ExprContext*, 
std::allocator<impala::ExprContext*> > const&, impala::TupleRow*, unsigned 
char*, impala::RowBatch*) /home/ubuntu/Impala/be/src/exec/union-node.cc:273:3
    #9 0x2ac0eb982d40 in impala::UnionNode::GetNextConst(impala::RuntimeState*, 
impala::RowBatch*) /home/ubuntu/Impala/be/src/exec/union-node.cc:230:5
    #10 0x2ac0eb984a92 in impala::UnionNode::GetNext(impala::RuntimeState*, 
impala::RowBatch*, bool*) /home/ubuntu/Impala/be/src/exec/union-node.cc:259:31
    #11 0x2ac0e8eff3b1 in impala::PlanFragmentExecutor::ExecInternal() 
/home/ubuntu/Impala/be/src/runtime/plan-fragment-executor.cc:360:16
    #12 0x2ac0e8efde3d in impala::PlanFragmentExecutor::Exec() 
/home/ubuntu/Impala/be/src/runtime/plan-fragment-executor.cc:337:14
    #13 0x2ac0e8e40b4a in impala::FragmentInstanceState::Exec() 
/home/ubuntu/Impala/be/src/runtime/fragment-instance-state.cc:68:7
    #14 0x2ac0e8f1e67c in 
impala::QueryExecMgr::ExecFInstance(impala::FragmentInstanceState*) 
/home/ubuntu/Impala/be/src/runtime/query-exec-mgr.cc:110:3
    #15 0x2ac0e8f23fbe in boost::_mfi::mf1<void, impala::QueryExecMgr, 
impala::FragmentInstanceState*>::operator()(impala::QueryExecMgr*, 
impala::FragmentInstanceState*) const 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/mem_fn_template.hpp:165:16
    #16 0x2ac0e8f23e18 in void 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> 
>::operator()<boost::_mfi::mf1<void, impala::QueryExecMgr, 
impala::FragmentInstanceState*>, boost::_bi::list0>(boost::_bi::type<void>, 
boost::_mfi::mf1<void, impala::QueryExecMgr, impala::FragmentInstanceState*>&, 
boost::_bi::list0&, int) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind.hpp:313:9
    #17 0x2ac0e8f23acb in boost::_bi::bind_t<void, boost::_mfi::mf1<void, 
impala::QueryExecMgr, impala::FragmentInstanceState*>, 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> > >::operator()() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind_template.hpp:20:16
    #18 0x2ac0e8f22ea9 in 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf1<void, impala::QueryExecMgr, impala::FragmentInstanceState*>, 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> > >, 
void>::invoke(boost::detail::function::function_buffer&) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/function/function_template.hpp:153:11
    #19 0x2ac0e7565914 in boost::function0<void>::operator()() const 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/function/function_template.hpp:766:14
    #20 0x2ac0e7556a50 in impala::Thread::SuperviseThread(std::string const&, 
std::string const&, boost::function<void ()>, impala::Promise<long>*) 
/home/ubuntu/Impala/be/src/util/thread.cc:325:3
    #21 0x2ac0e757eac3 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) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind.hpp:457:9
    #22 0x2ac0e757e3eb 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()() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind_template.hpp:20:16
    #23 0x2ac0e757ce35 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() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/thread/detail/thread.hpp:116:17
    #24 0xfa8ba9 in thread_proxy 
(/home/ubuntu/Impala/be/build/debug/exprs/expr-test+0xfa8ba9)
    #25 0x2ac0f6325183 in start_thread 
(/lib/x86_64-linux-gnu/libpthread.so.0+0x8183)
    #26 0x2ac0f663537c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xfa37c)

and

    /home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:169:12: runtime 
error: left shift of 4611686018427387904 by 2 places cannot be represented in 
type 'long'
    #0 0x2ac0edaf85a9 in long impala::ShiftLeftImpl<long>(long, int) 
/home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:169:12
    #1 0x2ac0edaf8494 in 
impala::BitByteFunctions::ShiftLeft(impala_udf::FunctionContext*, 
impala_udf::BigIntVal const&, impala_udf::IntVal const&) 
/home/ubuntu/Impala/be/src/exprs/bit-byte-functions-ir.cc:200:179
    #2 0x2ac0eded87df in impala_udf::BigIntVal 
impala::ScalarFnCall::InterpretEval<impala_udf::BigIntVal>(impala::ExprContext*,
 impala::TupleRow const*) 
/home/ubuntu/Impala/be/src/exprs/scalar-fn-call.cc:492:376
    #3 0x2ac0ede634ef in 
impala::ScalarFnCall::GetBigIntVal(impala::ExprContext*, impala::TupleRow 
const*) /home/ubuntu/Impala/be/src/exprs/scalar-fn-call.cc:574:44
    #4 0x2ac0edc1f8c1 in impala::ExprContext::GetValue(impala::Expr*, 
impala::TupleRow const*) /home/ubuntu/Impala/be/src/exprs/expr-context.cc:258:33
    #5 0x2ac0edc1e97c in impala::ExprContext::GetValue(impala::TupleRow const*) 
/home/ubuntu/Impala/be/src/exprs/expr-context.cc:228:10
    #6 0x2ac0e90bdabf in void impala::Tuple::MaterializeExprs<false, 
false>(impala::TupleRow*, impala::TupleDescriptor const&, impala::ExprContext* 
const*, impala::MemPool*, impala::StringValue**, int*, int*) 
/home/ubuntu/Impala/be/src/runtime/tuple.cc:219:17
    #7 0x2ac0eb96d7be in void impala::Tuple::MaterializeExprs<false, 
false>(impala::TupleRow*, impala::TupleDescriptor const&, 
std::vector<impala::ExprContext*, std::allocator<impala::ExprContext*> > 
const&, impala::MemPool*, std::vector<impala::StringValue*, 
std::allocator<impala::StringValue*> >*, int*) 
/home/ubuntu/Impala/be/src/runtime/tuple.h:151:5
    #8 0x2ac0eb989924 in 
impala::UnionNode::MaterializeExprs(std::vector<impala::ExprContext*, 
std::allocator<impala::ExprContext*> > const&, impala::TupleRow*, unsigned 
char*, impala::RowBatch*) /home/ubuntu/Impala/be/src/exec/union-node.cc:273:3
    #9 0x2ac0eb982d40 in impala::UnionNode::GetNextConst(impala::RuntimeState*, 
impala::RowBatch*) /home/ubuntu/Impala/be/src/exec/union-node.cc:230:5
    #10 0x2ac0eb984a92 in impala::UnionNode::GetNext(impala::RuntimeState*, 
impala::RowBatch*, bool*) /home/ubuntu/Impala/be/src/exec/union-node.cc:259:31
    #11 0x2ac0e8eff3b1 in impala::PlanFragmentExecutor::ExecInternal() 
/home/ubuntu/Impala/be/src/runtime/plan-fragment-executor.cc:360:16
    #12 0x2ac0e8efde3d in impala::PlanFragmentExecutor::Exec() 
/home/ubuntu/Impala/be/src/runtime/plan-fragment-executor.cc:337:14
    #13 0x2ac0e8e40b4a in impala::FragmentInstanceState::Exec() 
/home/ubuntu/Impala/be/src/runtime/fragment-instance-state.cc:68:7
    #14 0x2ac0e8f1e67c in 
impala::QueryExecMgr::ExecFInstance(impala::FragmentInstanceState*) 
/home/ubuntu/Impala/be/src/runtime/query-exec-mgr.cc:110:3
    #15 0x2ac0e8f23fbe in boost::_mfi::mf1<void, impala::QueryExecMgr, 
impala::FragmentInstanceState*>::operator()(impala::QueryExecMgr*, 
impala::FragmentInstanceState*) const 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/mem_fn_template.hpp:165:16
    #16 0x2ac0e8f23e18 in void 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> 
>::operator()<boost::_mfi::mf1<void, impala::QueryExecMgr, 
impala::FragmentInstanceState*>, boost::_bi::list0>(boost::_bi::type<void>, 
boost::_mfi::mf1<void, impala::QueryExecMgr, impala::FragmentInstanceState*>&, 
boost::_bi::list0&, int) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind.hpp:313:9
    #17 0x2ac0e8f23acb in boost::_bi::bind_t<void, boost::_mfi::mf1<void, 
impala::QueryExecMgr, impala::FragmentInstanceState*>, 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> > >::operator()() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind_template.hpp:20:16
    #18 0x2ac0e8f22ea9 in 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf1<void, impala::QueryExecMgr, impala::FragmentInstanceState*>, 
boost::_bi::list2<boost::_bi::value<impala::QueryExecMgr*>, 
boost::_bi::value<impala::FragmentInstanceState*> > >, 
void>::invoke(boost::detail::function::function_buffer&) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/function/function_template.hpp:153:11
    #19 0x2ac0e7565914 in boost::function0<void>::operator()() const 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/function/function_template.hpp:766:14
    #20 0x2ac0e7556a50 in impala::Thread::SuperviseThread(std::string const&, 
std::string const&, boost::function<void ()>, impala::Promise<long>*) 
/home/ubuntu/Impala/be/src/util/thread.cc:325:3
    #21 0x2ac0e757eac3 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) 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind.hpp:457:9
    #22 0x2ac0e757e3eb 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()() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/bind/bind_template.hpp:20:16
    #23 0x2ac0e757ce35 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() 
/home/ubuntu/Impala/toolchain/boost-1.57.0-p1/include/boost/thread/detail/thread.hpp:116:17
    #24 0xfa8ba9 in thread_proxy 
(/home/ubuntu/Impala/be/build/debug/exprs/expr-test+0xfa8ba9)
    #25 0x2ac0f6325183 in start_thread 
(/lib/x86_64-linux-gnu/libpthread.so.0+0x8183)
    #26 0x2ac0f663537c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xfa37c)


-- 
To view, visit http://gerrit.cloudera.org:8080/6528
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I748697cf503e9e717a6e95250c2cbbf031c6352d
Gerrit-PatchSet: 1
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Jim Apple <[email protected]>
Gerrit-Reviewer: Jim Apple <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>
Gerrit-HasComments: Yes

Reply via email to