mrhhsg opened a new pull request, #56309:
URL: https://github.com/apache/doris/pull/56309
### What problem does this PR solve?
```
*** SIGSEGV address not mapped to object (@0x0) received by PID 612357 (TID
618949 OR 0x7bf276d17700) from PID 0; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int,
siginfo_t*, void*) at /root/doris/be/src/common/signal_handler.h:420
1# 0x00007FFA591F7D10 in /lib64/libpthread.so.0
2#
doris::vectorized::PredicateColumnType<(doris::PrimitiveType)15>::get_data()
const at /root/doris/be/src/vec/columns/predicate_column.h:395
3# void doris::InListPredicateBase<(doris::PrimitiveType)15,
(doris::PredicateType)7,
doris::StringSet<doris::FixedContainer<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, 2ul> >
>::_base_evaluate_bit<true, true, false>(doris::vectorized::IColumn const*,
doris::vectorized::PODArray<unsigned char, 4096ul, doris::Allocator<false,
false, false, doris::DefaultMemoryAllocator, false>, 16ul, 15ul> const*,
unsigned short const*, unsigned short, bool*) const at
/root/doris/be/src/olap/in_list_predicate.h:526
4# void doris::InListPredicateBase<(doris::PrimitiveType)15,
(doris::PredicateType)7,
doris::StringSet<doris::FixedContainer<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, 2ul> >
>::_evaluate_bit<false>(doris::vectorized::IColumn const&, unsigned short
const*, unsigned short, bool*) const at
/root/doris/be/src/olap/in_list_predicate.h:249
5# doris::InListPredicateBase<(doris::PrimitiveType)15,
(doris::PredicateType)7,
doris::StringSet<doris::FixedContainer<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, 2ul> >
>::evaluate_or(doris::vectorized::IColumn const&, unsigned short const*,
unsigned short, bool*) const at /root/doris/be/src/olap/in_list_predicate.h:272
6#
doris::SingleColumnBlockPredicate::evaluate_or(std::vector<doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>,
std::allocator<doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>
> >&, unsigned short*, unsigned short, bool*) const at
/root/doris/be/src/olap/block_column_predicate.cpp:65
7#
doris::OrBlockColumnPredicate::evaluate(std::vector<doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>,
std::allocator<doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>
> >&, unsigned short*, unsigned short) const at
/root/doris/be/src/olap/block_column_predicate.cpp:92
8#
doris::AndBlockColumnPredicate::evaluate(std::vector<doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>,
std::allocator<doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>
> >&, unsigned short*, unsigned short) const at
/root/doris/be/src/olap/block_column_predicate.cpp:133
9#
doris::segment_v2::SegmentIterator::_evaluate_short_circuit_predicate(unsigned
short*, unsigned short) at
/root/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2196
10#
doris::segment_v2::SegmentIterator::_next_batch_internal(doris::vectorized::Block*)
at /root/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2491
11#
doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*)::$_0::operator()()
const at /root/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2252
12#
doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*) at
/root/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2251
13#
doris::segment_v2::LazyInitSegmentIterator::next_batch(doris::vectorized::Block*)
in /root/doris/be/output/lib/doris_be
14# doris::BetaRowsetReader::next_block(doris::vectorized::Block*) at
/root/doris/be/src/olap/rowset/beta_rowset_reader.cpp:348
15# doris::vectorized::VCollectIterator::Level0Iterator::_refresh() in
/root/doris/be/output/lib/doris_be
16#
doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row() at
/root/doris/be/src/vec/olap/vcollect_iterator.cpp:515
17#
doris::vectorized::VCollectIterator::Level0Iterator::ensure_first_row_ref() at
/root/doris/be/src/vec/olap/vcollect_iterator.cpp:486
18#
doris::vectorized::VCollectIterator::Level1Iterator::ensure_first_row_ref() at
/root/doris/be/src/vec/olap/vcollect_iterator.cpp:701
19#
doris::vectorized::VCollectIterator::build_heap(std::vector<std::shared_ptr<doris::RowsetReader>,
std::allocator<std::shared_ptr<doris::RowsetReader> > >&) at
/root/doris/be/src/vec/olap/vcollect_iterator.cpp:189
20#
doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams
const&) at /root/doris/be/src/vec/olap/block_reader.cpp:152
21# doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams
const&) at /root/doris/be/src/vec/olap/block_reader.cpp:226
22# doris::vectorized::OlapScanner::open(doris::RuntimeState*) at
/root/doris/be/src/vec/exec/scan/olap_scanner.cpp:271
23#
doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>) at
/root/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:182
24#
doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_0::operator()()
const::{lambda()#1}::operator()() const::{lambda()#1}::operator()() const at
/root/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:96
25#
doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_0::operator()()
const::{lambda()#1}::operator()() const at
/root/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:95
26# bool std::__invoke_impl<bool,
doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_0::operator()()
const::{lambda()#1}&>(std::__invoke_other,
doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_0::operator()()
const::{lambda()#1}&) at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
27# std::enable_if<is_invocable_r_v<bool,
doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_0::operator()()
const::{lambda()#1}&>, bool>::type std::__invoke_r<bool,
doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_0::operator()()
const::{lambda()#1}&>(doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_0::operator()()
const::{lambda()#1}&) at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:116
28# std::_Function_handler<bool (),
doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_0::operator()()
const::{lambda()#1}>::_M_invoke(std::_Any_data const&) at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
29# std::function<bool ()>::operator()() const at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
30#
doris::vectorized::ScannerSplitRunner::process_for(std::chrono::duration<long,
std::ratio<1l, 1000000000l> >) at
/root/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:410
31# doris::vectorized::PrioritizedSplitRunner::process() at
/root/doris/be/src/vec/exec/executor/time_sharing/prioritized_split_runner.cpp:103
32# doris::vectorized::TimeSharingTaskExecutor::_dispatch_thread() at
/root/doris/be/src/vec/exec/executor/time_sharing/time_sharing_task_executor.cpp:570
33# void std::__invoke_impl<void, void
(doris::vectorized::TimeSharingTaskExecutor::*&)(),
doris::vectorized::TimeSharingTaskExecutor*&>(std::__invoke_memfun_deref, void
(doris::vectorized::TimeSharingTaskExecutor::*&)(),
doris::vectorized::TimeSharingTaskExecutor*&) at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:76
34# std::__invoke_result<void
(doris::vectorized::TimeSharingTaskExecutor::*&)(),
doris::vectorized::TimeSharingTaskExecutor*&>::type std::__invoke<void
(doris::vectorized::TimeSharingTaskExecutor::*&)(),
doris::vectorized::TimeSharingTaskExecutor*&>(void
(doris::vectorized::TimeSharingTaskExecutor::*&)(),
doris::vectorized::TimeSharingTaskExecutor*&) at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:98
35# void std::_Bind<void
(doris::vectorized::TimeSharingTaskExecutor::*(doris::vectorized::TimeSharingTaskExecutor*))()>::__call<void,
, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:515
36# void std::_Bind<void
(doris::vectorized::TimeSharingTaskExecutor::*(doris::vectorized::TimeSharingTaskExecutor*))()>::operator()<,
void>() at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:600
37# void std::__invoke_impl<void, std::_Bind<void
(doris::vectorized::TimeSharingTaskExecutor::*(doris::vectorized::TimeSharingTaskExecutor*))()>&>(std::__invoke_other,
std::_Bind<void
(doris::vectorized::TimeSharingTaskExecutor::*(doris::vectorized::TimeSharingTaskExecutor*))()>&)
at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
38# std::enable_if<is_invocable_r_v<void, std::_Bind<void
(doris::vectorized::TimeSharingTaskExecutor::*(doris::vectorized::TimeSharingTaskExecutor*))()>&>,
void>::type std::__invoke_r<void, std::_Bind<void
(doris::vectorized::TimeSharingTaskExecutor::*(doris::vectorized::TimeSharingTaskExecutor*))()>&>(std::_Bind<void
(doris::vectorized::TimeSharingTaskExecutor::*(doris::vectorized::TimeSharingTaskExecutor*))()>&)
at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
39# std::_Function_handler<void (), std::_Bind<void
(doris::vectorized::TimeSharingTaskExecutor::*(doris::vectorized::TimeSharingTaskExecutor*))()>
>::_M_invoke(std::_Any_data const&) at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292
40# std::function<void ()>::operator()() const at
/root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:593
41# doris::Thread::supervise_thread(void*) at
/root/doris/be/src/util/thread.cpp:460
42# asan_thread_start(void*) in /root/doris/be/output/lib/doris_be
43# start_thread in /lib64/libpthread.so.0
44# __GI___clone in /lib64/libc.so.6
```
Related PR: #xxx
Problem Summary:
### Release note
None
### Check List (For Author)
- Test <!-- At least one of them must be included. -->
- [ ] Regression test
- [ ] Unit Test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason <!-- Add your reason? -->
- Behavior changed:
- [ ] No.
- [ ] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
https://github.com/apache/doris-website/pull/1214 -->
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR should
merge into -->
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]