lujie19930803 opened a new issue, #58081: URL: https://github.com/apache/doris/issues/58081
### 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 3.0.3 ### What's Wrong? when i refresh MATERIALIZED VIEW. the be crashed. be.out: > F20251117 13:35:34.790050 22073 assert_cast.h:48] Bad cast from type:doris::vectorized::ColumnNullable* to doris::vectorized::ColumnVector<unsigned char> const* > *** Check failure stack trace: *** > @ 0x55975248d556 google::LogMessage::SendToLog() > @ 0x559752489fa0 google::LogMessage::Flush() > @ 0x55975248dd99 google::LogMessageFatal::~LogMessageFatal() > @ 0x55974c5cab20 _ZZ11assert_castIPKN5doris10vectorized12ColumnVectorIhEEL18TypeCheckOnRelease1EPKNS1_7IColumnEET_OT1_ENKUlOSA_E_clIS9_EES5_SD_ > @ 0x55974c5ca727 assert_cast<>() > @ 0x55974c5ca16d doris::vectorized::change_null_to_true() > @ 0x55974c5c8476 doris::vectorized::VRuntimeFilterWrapper::execute() > @ 0x55974c5b68bb doris::vectorized::VExprContext::execute() > @ 0x55974c5b8055 doris::vectorized::VExprContext::execute_conjuncts() > @ 0x55974c5b7aa3 doris::vectorized::VExprContext::execute_conjuncts_and_filter_block() > @ 0x55974c5b79f5 doris::vectorized::VExprContext::filter_block() > @ 0x55975225ae7a doris::pipeline::MultiCastDataStreamerSourceOperatorX::get_block() > @ 0x5597515a170e doris::pipeline::OperatorXBase::get_block_after_projects() > @ 0x5597523b881b doris::pipeline::PipelineTask::execute() > @ 0x5597523c868d doris::pipeline::TaskScheduler::_do_work() > @ 0x55974802e428 doris::ThreadPool::dispatch_thread() > @ 0x5597480233a1 doris::Thread::supervise_thread() > @ 0x7f265aa34ea5 start_thread > @ 0x7f265b463b0d __clone > @ (nil) (unknown) > *** Query id: 345f0f72d2d5440e-9d27a1ef4bdd26d4 *** > *** is nereids: 1 *** > *** tablet id: 0 *** > *** Aborted at 1763357735 (unix time) try "date -d @1763357735" if you are using GNU date *** > *** Current BE git commitID: 62a58bff4c *** > *** SIGABRT unknown detail explain (@0x4f73) received by PID 20339 (TID 22073 OR 0x7f20fc223700) from PID 20339; 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:421 > 1# 0x00007F265B39B400 in /lib64/libc.so.6 > 2# gsignal in /lib64/libc.so.6 > 3# abort in /lib64/libc.so.6 > 4# 0x0000559752497E2D in /data/doris/be/lib/doris_be > 5# 0x000055975248A46A in /data/doris/be/lib/doris_be > 6# google::LogMessage::SendToLog() in /data/doris/be/lib/doris_be > 7# google::LogMessage::Flush() in /data/doris/be/lib/doris_be > 8# google::LogMessageFatal::~LogMessageFatal() in /data/doris/be/lib/doris_be > 9# doris::vectorized::ColumnVector<unsigned char> const* assert_cast<doris::vectorized::ColumnVector<unsigned char> const*, (TypeCheckOnRelease)1, doris::vectorized::IColumn const*>(doris::vectorized::IColumn const*&&)::{lambda(auto:1&&)#1}::operator()<doris::vectorized::IColumn const*>(doris::vectorized::IColumn const*&&) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/common/assert_cast.h:48 > 10# doris::vectorized::ColumnVector<unsigned char> const* assert_cast<doris::vectorized::ColumnVector<unsigned char> const*, (TypeCheckOnRelease)1, doris::vectorized::IColumn const*>(doris::vectorized::IColumn const*&&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/common/assert_cast.h:72 > 11# doris::vectorized::change_null_to_true(COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn>, COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn>) at /home/zcp/repo_center/doris_release/doris/be/src/vec/utils/util.hpp:207 > 12# doris::vectorized::VRuntimeFilterWrapper::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vruntimefilter_wrapper.cpp:114 > 13# doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vexpr_context.cpp:55 > 14# doris::vectorized::VExprContext::execute_conjuncts(std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, std::vector<doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 15ul>*, std::allocator<doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 15ul>*> > const*, bool, doris::vectorized::Block*, doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 15ul>*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vexpr_context.cpp:174 > 15# doris::vectorized::VExprContext::execute_conjuncts_and_filter_block(std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, doris::vectorized::Block*, std::vector<unsigned int, std::allocator<unsigned int> >&, int) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vexpr_context.cpp:321 > 16# doris::vectorized::VExprContext::filter_block(std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, doris::vectorized::Block*, int) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vexpr_context.cpp:154 > 17# doris::pipeline::MultiCastDataStreamerSourceOperatorX::get_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/exec/multi_cast_data_stream_source.cpp:99 > 18# doris::pipeline::OperatorXBase::get_block_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/exec/operator.cpp:336 > 19# doris::pipeline::PipelineTask::execute(bool*) at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/pipeline_task.cpp:382 > 20# doris::pipeline::TaskScheduler::_do_work(unsigned long) at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/task_scheduler.cpp:138 > 21# doris::ThreadPool::dispatch_thread() in /data/doris/be/lib/doris_be > 22# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_release/doris/be/src/util/thread.cpp:499 > 23# start_thread in /lib64/libpthread.so.0 > 24# clone in /lib64/libc.so.6 My mv: > CREATE MATERIALIZED VIEW Ads_ProcessStatistics > BUILD IMMEDIATE > REFRESH AUTO ON MANUAL > PROPERTIES ('replication_num' = '1') > AS > WITH processes AS ( > SELECT dp2.Code AS ProjectCode, dp2.Name AS ProjectName, dp.Code AS ProcessCode, dp.Name AS ProcessName > , Count(dd.Code) AS DeviceCount > , MIN(NULLIF(pd.OutDebugStage, '')) AS Stage > FROM Dim_Processes dp > JOIN Dim_Devices dd > ON dp.ProjectCode = dd.ProjectCode > AND dp.Code = dd.ProcessCode > JOIN Dim_Projects dp2 ON dp.ProjectCode <=> dp2.Code > LEFT JOIN Dim_PmsDevices pd ON dd.ProductionPlanNo = pd.PlanNo > GROUP BY dp2.Code, dp2.Name, dp.Code, dp.Name > ), > latest_dates AS ( > SELECT t.ProjectCode, t.ProcessCode, MAX(t.ShiftDate) AS ShiftDate > , MAX(t.LatestTime) AS LatestTime > FROM ( > SELECT dp.ProjectCode, dp.Code AS ProcessCode, MAX(dda.ShiftDate) AS ShiftDate > , max(dda.StartTime) AS LatestTime > FROM Dwd_DeviceStatus dda > JOIN Dim_Devices dd > ON dda.ProjectCode <=> dd.ProjectCode > AND dda.DeviceCode = dd.Code > JOIN Dim_Processes dp > ON dd.ProjectCode <=> dp.ProjectCode > AND dd.ProcessCode = dp.Code > GROUP BY dp.ProjectCode, dp.Code > UNION ALL > SELECT dp.ProjectCode, dp.Code, MAX(dda.ShiftDate) > , max(dda.StartDate) > FROM Dwd_DeviceProductions dda > JOIN Dim_Devices dd > ON dda.ProjectCode <=> dd.ProjectCode > AND dda.DeviceCode = dd.Code > JOIN Dim_Processes dp > ON dd.ProjectCode <=> dp.ProjectCode > AND dd.ProcessCode = dp.Code > GROUP BY dp.ProjectCode, dp.Code > ) t > GROUP BY t.ProjectCode, t.ProcessCode > ), > prod_datas AS ( > SELECT t.ProjectCode, t.ProcessCode > , ROUND(SUM(t.QualifiedQty), 2) AS QualifiedQty > , ROUND(AVG(t.QualifiedRate), 4) AS QualifiedRate > FROM ( > SELECT drd.ProjectCode, drd.ProcessCode, drd.LineCode, SUM(ddp.QualifiedQty) AS QualifiedQty > , IF(SUM(ddp.Qty) = 0, NULL, ROUND(SUM(ddp.QualifiedQty) / SUM(ddp.Qty), 6)) AS QualifiedRate > FROM Dws_DeviceProductions ddp > JOIN Dim_ProcessLineRelatedDevices drd > ON ddp.ProjectCode <=> drd.ProjectCode > AND ddp.DeviceCode = drd.DeviceCode > JOIN latest_dates ld > ON ld.ProjectCode <=> ddp.ProjectCode > AND ld.ProcessCode = drd.ProcessCode > AND ld.ShiftDate = ddp.ShiftDate > WHERE ddp.ShiftName = 'WholeDay' > GROUP BY drd.ProjectCode, drd.ProcessCode, drd.LineCode > ) t > GROUP BY t.ProjectCode, t.ProcessCode > ), > status_durations AS ( > SELECT dds.ProjectCode, dd.ProcessCode, SUM(dds.AlarmDuration + dds.WorkDuration) AS TotalWorkDuration > , SUM(dds.AlarmDuration) AS AlarmDuration, SUM(dds.AlarmFrequency) AS AlarmFrequency > FROM Dws_DeviceStatusDurations dds > JOIN Dim_Devices dd > ON dds.ProjectCode <=> dd.ProjectCode > AND dds.DeviceCode = dd.Code > JOIN latest_dates ld > ON ld.ProjectCode <=> dd.ProjectCode > AND ld.ProcessCode = dd.ProcessCode > AND ld.ShiftDate = dds.ShiftDate > WHERE ShiftName = 'WholeDay' > GROUP BY dds.ProjectCode, dd.ProcessCode > ), > data_completeness AS ( > SELECT t.ProjectCode, dd.ProcessCode, ld.ShiftDate > , ROUND(AVG(t.DataCompleteness), 4) AS DataCompleteness > FROM Dws_DeviceDataCompleteness t > LEFT JOIN Dim_Devices dd > ON t.ProjectCode = dd.ProjectCode > AND t.DeviceCode = dd.Code > JOIN latest_dates ld > ON dd.ProjectCode = ld.ProjectCode > AND dd.ProcessCode = ld.ProcessCode > AND ld.ShiftDate = t.ShiftDate > GROUP BY t.ProjectCode, dd.ProcessCode, ld.ShiftDate > ), > stable_scores AS ( > SELECT ddsl.ProjectCode, d.ProcessCode > , ROUND(AVG(ddsl.Score), 2) AS StableScore > FROM Dws_DeviceStableScores ddsl > JOIN Dim_Devices d > ON d.ProjectCode <=> ddsl.ProjectCode > AND ddsl.DeviceCode = d.Code > JOIN latest_dates ld > ON ld.ProjectCode = d.ProjectCode > AND ld.ProcessCode = d.ProcessCode > AND ld.ShiftDate = ddsl.ShiftDate > WHERE ddsl.Score > 0 > AND ddsl.ShiftName = 'WholeDay' > GROUP BY ddsl.ProjectCode, d.ProcessCode > ), > data_accuracy AS ( > SELECT d.ProjectCode, d.ProcessCode, ld.ShiftDate > , ROUND(AVG(ddd.DataAccuracy), 4) AS DataAccuracy > FROM Dws_DeviceDataAccuracy ddd > JOIN Dim_Devices d > ON d.ProjectCode <=> ddd.ProjectCode > AND ddd.DeviceCode = d.Code > JOIN latest_dates ld > ON ld.ProjectCode = d.ProjectCode > AND ld.ProcessCode = d.ProcessCode > AND ld.ShiftDate = ddd.ShiftDate > GROUP BY d.ProjectCode, d.ProcessCode, ld.ShiftDate > ) > SELECT p.ProjectCode, p.ProjectName, p.ProcessCode, p.ProcessName, p.Stage > , p.DeviceCount, ld.ShiftDate, ld.LatestTime, pd.QualifiedQty, pd.QualifiedRate > , IF(TotalWorkDuration = 0, NULL, ROUND(sd.AlarmDuration / sd.TotalWorkDuration, 4)) AS FaultRate > , sd.AlarmDuration, sd.AlarmFrequency, dcl.DataCompleteness, da.DataAccuracy, ss.StableScore > FROM processes p > LEFT JOIN latest_dates ld > ON p.ProjectCode <=> ld.ProjectCode > AND p.ProcessCode = ld.ProcessCode > LEFT JOIN prod_datas pd > ON pd.ProjectCode <=> p.ProjectCode > AND pd.ProcessCode = p.ProcessCode > LEFT JOIN status_durations sd > ON sd.ProjectCode <=> p.ProjectCode > AND sd.ProcessCode = p.ProcessCode > LEFT JOIN data_completeness dcl > ON p.ProjectCode <=> dcl.ProjectCode > AND p.ProcessCode = dcl.ProcessCode > AND dcl.ShiftDate = ld.ShiftDate > LEFT JOIN data_accuracy da > ON p.ProjectCode <=> da.ProjectCode > AND p.ProcessCode = da.ProcessCode > AND da.ShiftDate = ld.ShiftDate > LEFT JOIN stable_scores ss > ON p.ProjectCode <=> ss.ProjectCode > AND p.ProcessCode = ss.ProcessCode; > ### What You Expected? be not crash ### How to Reproduce? _No response_ ### Anything Else? _No response_ ### 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]
