Norbert Luksa created IMPALA-9464: ------------------------------------- Summary: Tuple::DeepCopyVarlenData crashes on memcpy Key: IMPALA-9464 URL: https://issues.apache.org/jira/browse/IMPALA-9464 Project: IMPALA Issue Type: Bug Reporter: Norbert Luksa
The stack trace is {code:java} Thread 1 (LWP 29440): [...] #6 <signal handler called> #7 0x00000037e4e896ce in memcpy () from ./lib64/libc.so.6 #8 0x0000000000b3fcc6 in impala::Tuple::DeepCopyVarlenData (this=0x7f318b494948, desc=..., pool=pool@entry=0x7f3486927468) at /usr/src/debug/impala-2.11.0-cdh5.14.2/be/src/runtime/tuple.cc:103 #9 0x0000000000b3fdf4 in impala::Tuple::DeepCopy (this=this@entry=0x7f31f0b200f6, dst=dst@entry=0x7f318b494948, desc=..., pool=pool@entry=0x7f3486927468) at /usr/src/debug/impala-2.11.0-cdh5.14.2/be/src/runtime/tuple.cc:92 #10 0x0000000000b3fe8f in impala::Tuple::DeepCopy (this=0x7f31f0b200f6, desc=..., pool=0x7f3486927468) at /usr/src/debug/impala-2.11.0-cdh5.14.2/be/src/runtime/tuple.cc:83 #11 0x00000000011e5811 in impala::DataStreamSender::Channel::AddRow (this=0x7f349da09500, row=row@entry=0x191a7f80) at /usr/src/debug/impala-2.11.0-cdh5.14.2/be/src/runtime/data-stream-sender.cc:258 #12 0x00000000011e63af in impala::DataStreamSender::Send (this=0x7f3485ca7860, state=0x21b32e80, batch=0x262ae750) at /usr/src/debug/impala-2.11.0-cdh5.14.2/be/src/runtime/data-stream-sender.cc:475 #13 0x0000000000b72124 in impala::FragmentInstanceState::ExecInternal (this=this@entry=0x1a4ad680) at /usr/src/debug/impala-2.11.0-cdh5.14.2/be/src/runtime/fragment-instance-state.cc:275 #14 0x0000000000b749f2 in impala::FragmentInstanceState::Exec (this=this@entry=0x1a4ad680) at /usr/src/debug/impala-2.11.0-cdh5.14.2/be/src/runtime/fragment-instance-state.cc:89 #15 0x0000000000b64038 in impala::QueryState::ExecFInstance (this=0x14347600, fis=0x1a4ad680) at /usr/src/debug/impala-2.11.0-cdh5.14.2/be/src/runtime/query-state.cc:382 [..] {code} Relevant part of Tuple::DeepCopyVarlenData {code:c++} char* string_copy = reinterpret_cast<char*>(pool->Allocate(string_v->len)); Ubsan::MemCpy(string_copy, string_v->ptr, string_v->len); {code} We could rewrite the function to return Status. This does not solve the root cause, but at least we could avoid crashes if the allocation fails. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org