AetheWu opened a new issue, #61095:
URL: https://github.com/apache/doris/issues/61095

   ### 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?
   
   BE crashed, be.out :
   ```
   start BE in local mode
   INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java
   INFO: jdk_version 17
   INFO: java_cmd /usr/lib/jvm/java-17-openjdk-amd64/bin/java
   INFO: jdk_version 17
   StdoutLogger 2026-02-28 13:43:53,606 Start time: Sat Feb 28 13:43:53 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: 910040935a2c474a-866312329dc9d2ea ***
   *** is nereids: 1 ***
   *** tablet id: 0 ***
   *** Aborted at 1772761436 (unix time) try "date -d @1772761436" if you are 
using GNU date ***
   *** Current BE git commitID: 30d2df0459 ***
   *** SIGABRT unknown detail explain (@0x6a52) received by PID 27218 (TID 1311 
OR 0x7fc0b13da700) from PID 27218; 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# 0x00007FCAF74CA980 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# 0x000055D1DD974479 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# 0x000055D1D816E1D4 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
   ```
   
   ### What You Expected?
   
   no crash
   
   ### How to Reproduce?
   
   execute a query on a view: 
   ```sql
   WITH RankedData AS (
       SELECT 
           SECOND_FLOOR(ts, 10) AS window_ts, 
           bank_id, 
           rack_no, 
           Vrack,
           ROW_NUMBER() OVER (
               PARTITION BY SECOND_FLOOR(ts, 10), bank_id, rack_no 
               ORDER BY ts DESC 
           ) as rn
       FROM v_rack_dataset
   )
   SELECT 
       window_ts AS ts, 
       bank_id, 
       rack_no, 
       Vrack
   FROM RankedData 
   WHERE rn = 1  
   ORDER BY ts ASC;
   ```
   
   the view created with SQL:
   ```sql
   CREATE OR REPLACE
   VIEW `v_rack_dataset`
   (ts,
   bank_id,
   rack_no,
   Vrack)
    AS
   SELECT
       `internal`.`testdb`.`rack_dataset`.`ts`,
       `internal`.`testdb`.`rack_dataset`.`bank_id`,
       `internal`.`testdb`.`rack_dataset`.`rack_no`,
       `internal`.`testdb`.`rack_dataset`.`Vrack`
   FROM
       `internal`.`testdb`.`rack_dataset`
   WHERE
       `internal`.`testdb`.`rack_dataset`.`ts` >= DATE_SUB(CURDATE(), INTERVAL 
6 MONTH)
   UNION ALL
   SELECT
       `test_catalog`.`iot`.`rack_dataset`.`ts`,
       `test_catalog`.`iot`.`rack_dataset`.`bank_id`,
       `test_catalog`.`iot`.`rack_dataset`.`rack_no`,
       `test_catalog`.`iot`.`rack_dataset`.`Vrack`
   FROM
       `test_catalog`.`iot`.`rack_dataset`;
   ```
   
   the view union internal table and external iceberg catalog table;
   
   
   ### Anything Else?
   
   Direct queries on either internal tables or external tables show no 
anomalies.
   
   ### 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]

Reply via email to