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]

Reply via email to