kangkaisen commented on issue #838: CumulativeCompaction with HLL cause BE core dump URL: https://github.com/apache/incubator-doris/issues/838#issuecomment-479373886 The following is the AddressSanitizer result: ``` ==47276==ERROR: AddressSanitizer: use-after-poison on address 0x7ffe49ab5fb0 at pc 0x000001013765 bp 0x7ffe8aef2fc0 sp 0x7ffe8aef2 fb8 READ of size 1 at 0x7ffe49ab5fb0 thread T649 #0 0x1013764 in doris::HllSetResolver::parse() /home/kangkaisen/palo/be/src/olap/hll.cpp:37 #1 0x10142f6 in doris::HllSetHelper::fill_set(char const*, doris::HllContext*) /home/kangkaisen/palo/be/src/olap/hll.cpp:214 #2 0x11bb921 in doris::Field::agg_init(char*, char const*) /home/kangkaisen/palo/be/src/olap/field.h:232 #3 0x11bb921 in doris::RowCursor::agg_init(doris::RowCursor const&) /home/kangkaisen/palo/be/src/olap/row_cursor.h:232 #4 0x11bb921 in doris::Reader::_agg_key_next_row(doris::RowCursor*, bool*) /home/kangkaisen/palo/be/src/olap/reader.cpp:381 #5 0x13c2d95 in doris::Reader::next_row_with_aggregation(doris::RowCursor*, bool*) /home/kangkaisen/palo/be/src/olap/reader.h: 115 #6 0x13c2d95 in doris::Merger::merge(std::vector<doris::IData*, std::allocator<doris::IData*> > const&, unsigned long*, unsign ed long*) /home/kangkaisen/palo/be/src/olap/merger.cpp:95 #7 0x1351983 in doris::CumulativeCompaction::_do_cumulative_compaction() /home/kangkaisen/palo/be/src/olap/cumulative_compacti on.cpp:378 #8 0x1354425 in doris::CumulativeCompaction::run() /home/kangkaisen/palo/be/src/olap/cumulative_compaction.cpp:152 #9 0x10224eb in doris::OLAPEngine::perform_cumulative_compaction() /home/kangkaisen/palo/be/src/olap/olap_engine.cpp:1706 #10 0x10cab47 in doris::OLAPEngine::_cumulative_compaction_thread_callback(void*) /home/kangkaisen/palo/be/src/olap/olap_serve r.cpp:237 #11 0x10cac5a in operator() /home/kangkaisen/palo/be/src/olap/olap_server.cpp:76 #12 0x10cac5a in __invoke_impl<void, doris::OLAPEngine::_start_bg_worker()::<lambda()> > /usr/local/include/c++/7.2.0/bits/inv oke.h:60 #13 0x10cac5a in __invoke<doris::OLAPEngine::_start_bg_worker()::<lambda()> > /usr/local/include/c++/7.2.0/bits/invoke.h:95 #14 0x10cac5a in _M_invoke<0> /usr/local/include/c++/7.2.0/thread:234 #15 0x10cac5a in operator() /usr/local/include/c++/7.2.0/thread:243 #16 0x10cac5a in _M_run /usr/local/include/c++/7.2.0/thread:186 #17 0x3d9011e in execute_native_thread_routine ../../../../../libstdc++-v3/src/c++11/thread.cc:83 #18 0x7ffe994aadd4 in start_thread (/lib64/libpthread.so.0+0x7dd4) #19 0x7ffe997bceac in __clone (/lib64/libc.so.6+0xfdeac) 0x7ffe49ab5fb0 is located 51120 bytes inside of 163840-byte region [0x7ffe49aa9800,0x7ffe49ad1800) allocated by thread T649 here: #0 0xc12c30 in __interceptor_malloc ../../../../libsanitizer/asan/asan_malloc_linux.cc:62 #1 0x15d1c52 in doris::MemPool::FindChunk(unsigned long, bool) /home/kangkaisen/palo/be/src/runtime/mem_pool.cpp:145 #2 0x11d78ac in unsigned char* doris::MemPool::allocate<false>(long, int) /home/kangkaisen/palo/be/src/runtime/mem_pool.h:276 #3 0x11d78ac in doris::MemPool::allocate(long) /home/kangkaisen/palo/be/src/runtime/mem_pool.h:101 #4 0x14bd399 in doris::column_file::StringColumnDirectReader::next_vector(doris::ColumnVector*, unsigned int, doris::MemPool*, long*) /home/kangkaisen/palo/be/src/olap/column_file/column_reader.cpp:209 #5 0x14cf62a in doris::column_file::VarStringColumnReader<doris::column_file::StringColumnDirectReader>::next_vector(doris::ColumnVector*, unsigned int, doris::MemPool*) /home/kangkaisen/palo/be/src/olap/column_file/column_reader.h:716 #6 0x147611c in doris::column_file::SegmentReader::_load_to_vectorized_row_batch(doris::VectorizedRowBatch*, unsigned long) /home/kangkaisen/palo/be/src/olap/column_file/segment_reader.cpp:921 #7 0x1477239 in doris::column_file::SegmentReader::get_block(doris::VectorizedRowBatch*, unsigned int*, bool*) /home/kangkaisen/palo/be/src/olap/column_file/segment_reader.cpp:314 #8 0x1428ff3 in doris::column_file::ColumnData::_get_block_from_reader(doris::VectorizedRowBatch**, bool, int) /home/kangkaisen/palo/be/src/olap/column_file/column_data.cpp:585 #9 0x142924f in doris::column_file::ColumnData::_get_block(bool, int) /home/kangkaisen/palo/be/src/olap/column_file/column_data.cpp:610 #10 0x1429fcd in doris::column_file::ColumnData::get_next_block(doris::RowBlock**) /home/kangkaisen/palo/be/src/olap/column_file/column_data.cpp:56 #11 0x11bbe7f in doris::CollectIterator::ChildCtx::_refresh_current_row() /home/kangkaisen/palo/be/src/olap/reader.cpp:126 #12 0x11bbe7f in doris::CollectIterator::ChildCtx::next(doris::RowCursor const**, bool*) /home/kangkaisen/palo/be/src/olap/reader.cpp:103 #13 0x11bbe7f in doris::CollectIterator::_merge_next(doris::RowCursor const**, bool*) /home/kangkaisen/palo/be/src/olap/reader.cpp:221 #14 0x11bbe7f in doris::CollectIterator::next(doris::RowCursor const**, bool*) /home/kangkaisen/palo/be/src/olap/reader.cpp:213 #15 0x11bbe7f in doris::Reader::_agg_key_next_row(doris::RowCursor*, bool*) /home/kangkaisen/palo/be/src/olap/reader.cpp:384 #16 0x13c2d95 in doris::Reader::next_row_with_aggregation(doris::RowCursor*, bool*) /home/kangkaisen/palo/be/src/olap/reader.h:115 #17 0x13c2d95 in doris::Merger::merge(std::vector<doris::IData*, std::allocator<doris::IData*> > const&, unsigned long*, unsigned long*) /home/kangkaisen/palo/be/src/olap/merger.cpp:95 #18 0x1351983 in doris::CumulativeCompaction::_do_cumulative_compaction() /home/kangkaisen/palo/be/src/olap/cumulative_compaction.cpp:378 #19 0x1354425 in doris::CumulativeCompaction::run() /home/kangkaisen/palo/be/src/olap/cumulative_compaction.cpp:152 #20 0x10224eb in doris::OLAPEngine::perform_cumulative_compaction() /home/kangkaisen/palo/be/src/olap/olap_engine.cpp:1706 #21 0x10cab47 in doris::OLAPEngine::_cumulative_compaction_thread_callback(void*) /home/kangkaisen/palo/be/src/olap/olap_server.cpp:237 #22 0x10cac5a in operator() /home/kangkaisen/palo/be/src/olap/olap_server.cpp:76 #23 0x10cac5a in __invoke_impl<void, doris::OLAPEngine::_start_bg_worker()::<lambda()> > /usr/local/include/c++/7.2.0/bits/invoke.h:60 #24 0x10cac5a in __invoke<doris::OLAPEngine::_start_bg_worker()::<lambda()> > /usr/local/include/c++/7.2.0/bits/invoke.h:95 #25 0x10cac5a in _M_invoke<0> /usr/local/include/c++/7.2.0/thread:234 #26 0x10cac5a in operator() /usr/local/include/c++/7.2.0/thread:243 #27 0x10cac5a in _M_run /usr/local/include/c++/7.2.0/thread:186 #28 0x3d9011e in execute_native_thread_routine ../../../../../libstdc++-v3/src/c++11/thread.cc:83 SUMMARY: AddressSanitizer: use-after-poison /home/kangkaisen/palo/be/src/olap/hll.cpp:37 in doris::HllSetResolver::parse() Shadow bytes around the buggy address: 0x10004934eba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x10004934ebb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x10004934ebc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x10004934ebd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x10004934ebe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =>0x10004934ebf0: 00 00 00 00 00 00[f7]f7 f7 f7 f7 f7 f7 f7 f7 f7 0x10004934ec00: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 0x10004934ec10: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 0x10004934ec20: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 0x10004934ec30: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 0x10004934ec40: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ```
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
