AetheWu opened a new issue, #61225: URL: https://github.com/apache/doris/issues/61225
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Version v4.0.2 ### What's Wrong? The Backend (BE) crashes consistently when reading or loading data into an Iceberg table. Based on the be.out logs, there are two distinct crash patterns occurring in the Parquet reader/Iceberg integration layer: 1. Pattern A (SIGSEGV): A segmentation fault occurs during Parquet dictionary decoding for ByteArray types. * Signal: SIGSEGV address not mapped to object (@0x0) * Location: doris::vectorized::ByteArrayDictDecoder::_decode_values 2. Pattern B (Exception): A std::out_of_range exception is thrown during schema initialization, likely related to schema evolution or nested fields. * Error: terminate called after throwing an instance of 'std::out_of_range' what(): map::at * Location: doris::vectorized::TableSchemaChangeHelper::StructNode::children_column_exists ### What You Expected? The BE should handle Parquet decoding and Iceberg schema mapping gracefully without crashing. ### How to Reproduce? 1. Create an Iceberg table (with Parquet format). 2. (Optional) Perform some schema changes or ensure the data contains dictionary-encoded string columns. 3. Execute a query or a routine load that triggers the IcebergTableReader. 4. BE crashes during the scanning phase. ### Anything Else? BE log: ``` SLF4J(W): Found provider [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] SLF4J(W): Found provider [org.slf4j.reload4j.Reload4jServiceProvider@3ecf72fd] SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J(I): Actual provider is of type [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] start BE in local mode INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java INFO: jdk_version 17 StdoutLogger 2026-03-09 10:33:07,454 Start time: Mon Mar 9 10:33:07 CST 2026 INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java INFO: jdk_version 17 OpenJDK 64-Bit Server VM warning: Option CriticalJNINatives was deprecated in version 16.0 and will likely be removed in a future release. SLF4J(W): Class path contains multiple SLF4J providers. SLF4J(W): Found provider [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] SLF4J(W): Found provider [org.slf4j.reload4j.Reload4jServiceProvider@3ecf72fd] SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J(I): Actual provider is of type [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] start BE in local mode *** Query id: 3c4cc3b03f914204-981a012558fa732e *** *** is nereids: 1 *** *** tablet id: 0 *** *** Aborted at 1773216387 (unix time) try "date -d @1773216387" if you are using GNU date *** *** Current BE git commitID: 30d2df0459 *** *** SIGSEGV address not mapped to object (@0x0) received by PID 27942 (TID 32695 OR 0x7f81c60da700) from PID 0; stack trace: *** 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_release/doris/be/src/common/signal_handler.h:420 1# PosixSignals::chained_handler(int, siginfo_t*, void*) [clone .part.11] in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so 2# JVM_handle_linux_signal in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so 3# 0x00007F8B7CE22980 in /lib/x86_64-linux-gnu/libpthread.so.0 4# doris::Status doris::vectorized::ByteArrayDictDecoder::_decode_values<false>(doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, doris::vectorized::ColumnSelectVector&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp:132 5# doris::vectorized::ByteArrayDictDecoder::decode_values(doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, doris::vectorized::ColumnSelectVector&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp:100 6# doris::vectorized::ColumnChunkReader::decode_values(doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, doris::vectorized::ColumnSelectVector&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_column_chunk_reader.cpp:318 7# doris::vectorized::ScalarColumnReader::_read_values(unsigned long, doris::COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, doris::vectorized::FilterMap&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp:312 8# doris::vectorized::ScalarColumnReader::read_column_data(doris::COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, std::shared_ptr<doris::vectorized::TableSchemaChangeHelper::Node> const&, doris::vectorized::FilterMap&, unsigned long, unsigned long*, bool*, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp:668 9# doris::vectorized::RowGroupReader::_read_column_data(doris::vectorized::Block*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, unsigned long, unsigned long*, bool*, doris::vectorized::FilterMap&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_group_reader.cpp:435 10# doris::vectorized::RowGroupReader::next_batch(doris::vectorized::Block*, unsigned long, unsigned long*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_group_reader.cpp:324 11# doris::vectorized::ParquetReader::get_next_block(doris::vectorized::Block*, unsigned long*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_reader.cpp:798 12# doris::vectorized::IcebergTableReader::get_next_block_inner(doris::vectorized::Block*, unsigned long*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/table/iceberg_reader.cpp:100 13# doris::vectorized::TableFormatReader::get_next_block(doris::vectorized::Block*, unsigned long*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/table/table_format_reader.h:82 14# doris::vectorized::FileScanner::_get_block_wrapped(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/file_scanner.cpp:472 15# doris::vectorized::FileScanner::_get_block_impl(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/file_scanner.cpp:411 16# doris::vectorized::Scanner::get_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) in /app/doris/apache-doris-4.0.2-bin-x64/be/lib/doris_be 17# doris::vectorized::Scanner::get_block_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner.cpp:87 18# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:173 19# 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 /usr/local/ldb-toolchain-v0.26/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292 20# doris::vectorized::ScannerSplitRunner::process_for(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:408 21# doris::vectorized::PrioritizedSplitRunner::process() at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/executor/time_sharing/prioritized_split_runner.cpp:104 22# doris::vectorized::TimeSharingTaskExecutor::_dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/executor/time_sharing/time_sharing_task_executor.cpp:572 23# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_release/doris/be/src/util/thread.cpp:461 24# start_thread in /lib/x86_64-linux-gnu/libpthread.so.0 25# __clone in /lib/x86_64-linux-gnu/libc.so.6 root@dev-wzh-75:/app/doris/apache-doris-4.0.2-bin-x64/be/log# tail -n 100 be.out INFO: jdk_version 17 StdoutLogger 2026-03-06 10:48:28,391 Start time: Fri Mar 6 10:48:28 CST 2026 INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java INFO: jdk_version 17 OpenJDK 64-Bit Server VM warning: Option CriticalJNINatives was deprecated in version 16.0 and will likely be removed in a future release. SLF4J(W): Class path contains multiple SLF4J providers. SLF4J(W): Found provider [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] SLF4J(W): Found provider [org.slf4j.reload4j.Reload4jServiceProvider@3ecf72fd] SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J(I): Actual provider is of type [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] start BE in local mode terminate called after throwing an instance of 'std::out_of_range' what(): map::at *** Query id: 5b42b99e5d2a4c76-bf7d7eb8d8ee9678 *** *** is nereids: 1 *** *** tablet id: 0 *** *** Aborted at 1772765403 (unix time) try "date -d @1772765403" if you are using GNU date *** *** Current BE git commitID: 30d2df0459 *** *** SIGABRT unknown detail explain (@0x2e0d) received by PID 11789 (TID 12313 OR 0x7fb97aedc700) from PID 11789; stack trace: *** 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_release/doris/be/src/common/signal_handler.h:420 1# 0x00007FBB0351C980 in /lib/x86_64-linux-gnu/libpthread.so.0 2# raise in /lib/x86_64-linux-gnu/libc.so.6 3# abort in /lib/x86_64-linux-gnu/libc.so.6 4# __gnu_cxx::__verbose_terminate_handler() [clone .cold] in /app/doris/apache-doris-4.0.2-bin-x64/be/lib/doris_be 5# __cxxabiv1::__terminate(void (*)()) in /app/doris/apache-doris-4.0.2-bin-x64/be/lib/doris_be 6# 0x000055C454ECA479 in /app/doris/apache-doris-4.0.2-bin-x64/be/lib/doris_be 7# __cxa_rethrow.cold in /app/doris/apache-doris-4.0.2-bin-x64/be/lib/doris_be 8# std::__throw_out_of_range(char const*) in /app/doris/apache-doris-4.0.2-bin-x64/be/lib/doris_be 9# 0x000055C44F6C41D4 in /app/doris/apache-doris-4.0.2-bin-x64/be/lib/doris_be 10# doris::vectorized::TableSchemaChangeHelper::StructNode::children_column_exists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/table/table_format_reader.h:195 11# doris::vectorized::ParquetReader::init_reader(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<doris::ColumnValueRange<(doris::PrimitiveType)3>, doris::ColumnValueRange<(doris::PrimitiveType)4>, doris::ColumnValueRange<(doris::PrimitiveType)5>, doris::ColumnValueRange<(doris::PrimitiveType)6>, doris::ColumnValueRange<(doris::PrimitiveType)7>, doris::ColumnValueRange<(doris::PrimitiveType)8>, doris::ColumnValueRange<(doris::PrimitiveType)9>, doris::ColumnValueRange<(doris::PrimitiveType)36>, doris::ColumnValueRange<(doris::PrimitiveType)37>, doris::ColumnValueRange<(doris::PrimitiveType)15>, doris::ColumnValueRange<(doris::PrimitiveType)10>, doris::ColumnValueRange<(doris::PrimitiveType)23>, doris::ColumnValueRange<(do ris::PrimitiveType)11>, doris::ColumnValueRange<(doris::PrimitiveType)25>, doris::ColumnValueRange<(doris::PrimitiveType)12>, doris::ColumnValueRange<(doris::PrimitiveType)26>, doris::ColumnValueRange<(doris::PrimitiveType)20>, doris::ColumnValueRange<(doris::PrimitiveType)2>, doris::ColumnValueRange<(doris::PrimitiveType)19>, doris::ColumnValueRange<(doris::PrimitiveType)28>, doris::ColumnValueRange<(doris::PrimitiveType)29>, doris::ColumnValueRange<(doris::PrimitiveType)30>, doris::ColumnValueRange<(doris::PrimitiveType)35> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<doris::ColumnValueRange<(doris::PrimitiveType)3>, doris::ColumnValueRange<(doris::PrimitiveType)4>, doris::ColumnValueRange<(doris::PrimitiveType)5 >, doris::ColumnValueRange<(doris::PrimitiveType)6>, >doris::ColumnValueRange<(doris::PrimitiveType)7>, >doris::ColumnValueRange<(doris::PrimitiveType)8>, >doris::ColumnValueRange<(doris::PrimitiveType)9>, >doris::ColumnValueRange<(doris::PrimitiveType)36>, >doris::ColumnValueRange<(doris::PrimitiveType)37>, >doris::ColumnValueRange<(doris::PrimitiveType)15>, >doris::ColumnValueRange<(doris::PrimitiveType)10>, >doris::ColumnValueRange<(doris::PrimitiveType)23>, >doris::ColumnValueRange<(doris::PrimitiveType)11>, >doris::ColumnValueRange<(doris::PrimitiveType)25>, >doris::ColumnValueRange<(doris::PrimitiveType)12>, >doris::ColumnValueRange<(doris::PrimitiveType)26>, >doris::ColumnValueRange<(doris::PrimitiveType)20>, >doris::ColumnValueRange<(doris::PrimitiveType)2>, >doris::ColumnValueRange<(doris::PrimitiveType)19>, >doris::ColumnValueRange<(doris::PrimitiveType)28>, >doris::ColumnValueRange<(doris::PrimitiveType)29>, >doris::ColumnValueRange<(doris::PrimitiveType)30>, >doris::ColumnValueRange<(doris ::PrimitiveType)35> > > > > const*, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, doris::TupleDescriptor const*, doris::RowDescriptor const*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > const*, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const*, std::unordered_map<int, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > >, std::hash<int>, std::equal_to<int>, std::alloc ator<std::pair<int const, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > > > > const*, std::shared_ptr<doris::vectorized::TableSchemaChangeHelper::Node>, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_reader.cpp:350 12# doris::vectorized::IcebergParquetReader::init_reader(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<doris::ColumnValueRange<(doris::PrimitiveType)3>, doris::ColumnValueRange<(doris::PrimitiveType)4>, doris::ColumnValueRange<(doris::PrimitiveType)5>, doris::ColumnValueRange<(doris::PrimitiveType)6>, doris::ColumnValueRange<(doris::PrimitiveType)7>, doris::ColumnValueRange<(doris::PrimitiveType)8>, doris::ColumnValueRange<(doris::PrimitiveType)9>, doris::ColumnValueRange<(doris::PrimitiveType)36>, doris::ColumnValueRange<(doris::PrimitiveType)37>, doris::ColumnValueRange<(doris::PrimitiveType)15>, doris::ColumnValueRange<(doris::PrimitiveType)10>, doris::ColumnValueRange<(doris::PrimitiveType)23>, doris::ColumnValueRa nge<(doris::PrimitiveType)11>, doris::ColumnValueRange<(doris::PrimitiveType)25>, doris::ColumnValueRange<(doris::PrimitiveType)12>, doris::ColumnValueRange<(doris::PrimitiveType)26>, doris::ColumnValueRange<(doris::PrimitiveType)20>, doris::ColumnValueRange<(doris::PrimitiveType)2>, doris::ColumnValueRange<(doris::PrimitiveType)19>, doris::ColumnValueRange<(doris::PrimitiveType)28>, doris::ColumnValueRange<(doris::PrimitiveType)29>, doris::ColumnValueRange<(doris::PrimitiveType)30>, doris::ColumnValueRange<(doris::PrimitiveType)35> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<doris::ColumnValueRange<(doris::PrimitiveType)3>, doris::ColumnValueRange<(doris::PrimitiveType)4>, doris::ColumnValueRange<(doris::Primitiv eType)5>, doris::ColumnValueRange<(doris::PrimitiveType)6>, doris::ColumnValueRange<(doris::PrimitiveType)7>, doris::ColumnValueRange<(doris::PrimitiveType)8>, doris::ColumnValueRange<(doris::PrimitiveType)9>, doris::ColumnValueRange<(doris::PrimitiveType)36>, doris::ColumnValueRange<(doris::PrimitiveType)37>, doris::ColumnValueRange<(doris::PrimitiveType)15>, doris::ColumnValueRange<(doris::PrimitiveType)10>, doris::ColumnValueRange<(doris::PrimitiveType)23>, doris::ColumnValueRange<(doris::PrimitiveType)11>, doris::ColumnValueRange<(doris::PrimitiveType)25>, doris::ColumnValueRange<(doris::PrimitiveType)12>, doris::ColumnValueRange<(doris::PrimitiveType)26>, doris::ColumnValueRange<(doris::PrimitiveType)20>, doris::ColumnValueRange<(doris::PrimitiveType)2>, doris::ColumnValueRange<(doris::PrimitiveType)19>, doris::ColumnValueRange<(doris::PrimitiveType)28>, doris::ColumnValueRange<(doris::PrimitiveType)29>, doris::ColumnValueRange<(doris::PrimitiveType)30>, doris::ColumnValueRange <(doris::PrimitiveType)35> > > > > const*, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, doris::TupleDescriptor const*, doris::RowDescriptor const*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > const*, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const*, std::unordered_map<int, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > >, std::hash<int>, std::equal_to<int>, std ::allocator<std::pair<int const, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > > > > const*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/table/iceberg_reader.cpp:463 13# doris::vectorized::FileScanner::_init_parquet_reader(std::unique_ptr<doris::vectorized::ParquetReader, std::default_delete<doris::vectorized::ParquetReader> >&&, doris::FileMetaCache*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/file_scanner.cpp:1203 14# doris::vectorized::FileScanner::read_lines_from_range(doris::TFileRangeDesc const&, std::__cxx11::list<long, std::allocator<long> > const&, doris::vectorized::Block*, doris::ExternalFileMappingInfo const&, long*, long*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/file_scanner.cpp:1508 15# std::_Function_handler<bool (), doris::RowIdStorageReader::read_batch_external_row(unsigned long, doris::PRequestBlockDesc const&, std::shared_ptr<doris::IdFileMap>, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, std::shared_ptr<doris::FileMapping>, doris::TUniqueId const&, doris::vectorized::Block&, doris::PRuntimeProfileTree*, long*, long*, unsigned long*)::$_0::operator()() const::{lambda()#1}>::_M_invoke(std::_Any_data const&) at /usr/local/ldb-toolchain-v0.26/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292 16# doris::vectorized::TaskExecutorSimplifiedScanScheduler::submit_scan_task(doris::vectorized::SimplifiedScanTask, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda()#2}::operator()() const at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.h:339 17# doris::vectorized::ScannerSplitRunner::process_for(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:408 18# doris::vectorized::PrioritizedSplitRunner::process() at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/executor/time_sharing/prioritized_split_runner.cpp:104 19# doris::vectorized::TimeSharingTaskExecutor::_dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/executor/time_sharing/time_sharing_task_executor.cpp:572 20# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_release/doris/be/src/util/thread.cpp:461 21# start_thread in /lib/x86_64-linux-gnu/libpthread.so.0 22# __clone in /lib/x86_64-linux-gnu/libc.so.6 INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java INFO: jdk_version 17 StdoutLogger 2026-03-06 10:51:34,667 Start time: Fri Mar 6 10:51:34 CST 2026 INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java INFO: jdk_version 17 OpenJDK 64-Bit Server VM warning: Option CriticalJNINatives was deprecated in version 16.0 and will likely be removed in a future release. SLF4J(W): Class path contains multiple SLF4J providers. SLF4J(W): Found provider [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] SLF4J(W): Found provider [org.slf4j.reload4j.Reload4jServiceProvider@3ecf72fd] SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J(I): Actual provider is of type [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] start BE in local mode INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java INFO: jdk_version 17 StdoutLogger 2026-03-09 10:33:07,454 Start time: Mon Mar 9 10:33:07 CST 2026 INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java INFO: jdk_version 17 OpenJDK 64-Bit Server VM warning: Option CriticalJNINatives was deprecated in version 16.0 and will likely be removed in a future release. SLF4J(W): Class path contains multiple SLF4J providers. SLF4J(W): Found provider [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] SLF4J(W): Found provider [org.slf4j.reload4j.Reload4jServiceProvider@3ecf72fd] SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J(I): Actual provider is of type [org.apache.logging.slf4j.SLF4JServiceProvider@64c64813] start BE in local mode *** Query id: 3c4cc3b03f914204-981a012558fa732e *** *** is nereids: 1 *** *** tablet id: 0 *** *** Aborted at 1773216387 (unix time) try "date -d @1773216387" if you are using GNU date *** *** Current BE git commitID: 30d2df0459 *** *** SIGSEGV address not mapped to object (@0x0) received by PID 27942 (TID 32695 OR 0x7f81c60da700) from PID 0; stack trace: *** 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_release/doris/be/src/common/signal_handler.h:420 1# PosixSignals::chained_handler(int, siginfo_t*, void*) [clone .part.11] in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so 2# JVM_handle_linux_signal in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so 3# 0x00007F8B7CE22980 in /lib/x86_64-linux-gnu/libpthread.so.0 4# doris::Status doris::vectorized::ByteArrayDictDecoder::_decode_values<false>(doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, doris::vectorized::ColumnSelectVector&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp:132 5# doris::vectorized::ByteArrayDictDecoder::decode_values(doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, doris::vectorized::ColumnSelectVector&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp:100 6# doris::vectorized::ColumnChunkReader::decode_values(doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, doris::vectorized::ColumnSelectVector&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_column_chunk_reader.cpp:318 7# doris::vectorized::ScalarColumnReader::_read_values(unsigned long, doris::COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, doris::vectorized::FilterMap&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp:312 8# doris::vectorized::ScalarColumnReader::read_column_data(doris::COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn>&, std::shared_ptr<doris::vectorized::IDataType const>&, std::shared_ptr<doris::vectorized::TableSchemaChangeHelper::Node> const&, doris::vectorized::FilterMap&, unsigned long, unsigned long*, bool*, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp:668 9# doris::vectorized::RowGroupReader::_read_column_data(doris::vectorized::Block*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, unsigned long, unsigned long*, bool*, doris::vectorized::FilterMap&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_group_reader.cpp:435 10# doris::vectorized::RowGroupReader::next_batch(doris::vectorized::Block*, unsigned long, unsigned long*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_group_reader.cpp:324 11# doris::vectorized::ParquetReader::get_next_block(doris::vectorized::Block*, unsigned long*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/parquet/vparquet_reader.cpp:798 12# doris::vectorized::IcebergTableReader::get_next_block_inner(doris::vectorized::Block*, unsigned long*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/table/iceberg_reader.cpp:100 13# doris::vectorized::TableFormatReader::get_next_block(doris::vectorized::Block*, unsigned long*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/format/table/table_format_reader.h:82 14# doris::vectorized::FileScanner::_get_block_wrapped(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/file_scanner.cpp:472 15# doris::vectorized::FileScanner::_get_block_impl(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/file_scanner.cpp:411 16# doris::vectorized::Scanner::get_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) in /app/doris/apache-doris-4.0.2-bin-x64/be/lib/doris_be 17# doris::vectorized::Scanner::get_block_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner.cpp:87 18# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:173 19# 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 /usr/local/ldb-toolchain-v0.26/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/std_function.h:292 20# doris::vectorized::ScannerSplitRunner::process_for(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:408 21# doris::vectorized::PrioritizedSplitRunner::process() at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/executor/time_sharing/prioritized_split_runner.cpp:104 22# doris::vectorized::TimeSharingTaskExecutor::_dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/executor/time_sharing/time_sharing_task_executor.cpp:572 23# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_release/doris/be/src/util/thread.cpp:461 24# start_thread in /lib/x86_64-linux-gnu/libpthread.so.0 25# __clone in /lib/x86_64-linux-gnu/libc.so.6 ``` ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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]
