Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 1.1.1
-
None
-
None
Description
If there is a failure in ExecNode::Prepare of TopNNode, tuple_pool_ will not yet be initialized. I think the fix is to also check that tuple_pool_ != NULL.
Status TopNNode::Close(RuntimeState* state) { if (memory_used_counter() != NULL) { COUNTER_UPDATE(memory_used_counter(), tuple_pool_->peak_allocated_bytes()); } ... } Status TopNNode::Prepare(RuntimeState* state) { RETURN_IF_ERROR(ExecNode::Prepare(state)); tuple_pool_.reset(new MemPool(state->mem_limits())); ... }
#5 0x0000000000f9abb7 in impala::TopNNode::Close (this=0x46ed4a0, state=0x3204d00) at /home/lskuff/dev/Impala/be/src/exec/topn-node.cc:148 #6 0x0000000000dcc6f8 in impala::PlanFragmentExecutor::Close (this=0x47310b8) at /home/lskuff/dev/Impala/be/src/runtime/plan-fragment-executor.cc:451 #7 0x0000000000dc8289 in impala::PlanFragmentExecutor::~PlanFragmentExecutor (this=0x47310b8, __in_chrg=<optimized out>) at /home/lskuff/dev/Impala/be/src/runtime/plan-fragment-executor.cc:67 #8 0x0000000000bda559 in impala::ImpalaServer::FragmentExecState::~FragmentExecState (this=0x4731080, __in_chrg=<optimized out>) at /home/lskuff/dev/Impala/be/src/service/impala-server.cc:160 #9 0x0000000000c02540 in boost::checked_delete<impala::ImpalaServer::FragmentExecState> (x=0x4731080) at /usr/include/boost/checked_delete.hpp:34 #10 0x0000000000c248ee in boost::detail::sp_counted_impl_p<impala::ImpalaServer::FragmentExecState>::dispose (this=0x300ed80) at /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78 #11 0x0000000000bb194c in boost::detail::sp_counted_base::release (this=0x300ed80) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145 #12 0x0000000000bb19c5 in boost::detail::shared_count::~shared_count (this=0x7f8b2bfe1638, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:217 #13 0x0000000000bda922 in boost::shared_ptr<impala::ImpalaServer::FragmentExecState>::~shared_ptr (this=0x7f8b2bfe1630, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:168 #14 0x0000000000bc78ea in impala::ImpalaServer::StartPlanFragmentExecution (this=0x3800380, exec_params=...) at /home/lskuff/dev/Impala/be/src/service/impala-server.cc:1353 #15 0x0000000000bc6aeb in impala::ImpalaServer::ExecPlanFragment (this=0x3800380, return_val=..., params=...) at /home/lskuff/dev/Impala/be/src/service/impala-server.cc:1258 #16 0x0000000000e38bfc in impala::ImpalaInternalServiceProcessor::process_ExecPlanFragment (this=0x3bd51a0, seqid=0, iprot=0x45bb8c0, oprot=0x45bb880, callContext=0x45bb900) at /home/lskuff/dev/Impala/be/generated-sources/gen-cpp/ImpalaInternalService.cpp:949 #17 0x0000000000e38933 in impala::ImpalaInternalServiceProcessor::dispatchCall (this=0x3bd51a0, iprot=0x45bb8c0, oprot=0x45bb880, fname=..., seqid=0, callContext=0x45bb900) at /home/lskuff/dev/Impala/be/generated-sources/gen-cpp/ImpalaInternalService.cpp:922 #18 0x0000000000bcd510 in apache::thrift::TDispatchProcessor::process (this=0x3bd51a0, in=..., out=..., connectionContext=0x45bb900) at /usr/local/include/thrift/TDispatchProcessor.h:121 #19 0x0000000001a0078d in apache::thrift::server::TThreadedServer::Task::run (this=0x31d3200) at src/thrift/server/TThreadedServer.cpp:70 #20 0x0000000001a02986 in apache::thrift::concurrency::PthreadThread::threadMain (arg=0x46a6e30) at src/thrift/concurrency/PosixThreadFactory.cpp:208 #21 0x00007f8b54baee9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0