Skip to content

Conversation

@mrhhsg
Copy link
Member

@mrhhsg mrhhsg commented Oct 15, 2025

pick #56991

Crashed when the `element_size` is less than `_cur_offset`.

```text
*** SIGABRT unknown detail explain (@0x3f800011a04) received by PID 72196 (TID 74961 OR 0x7bc6104c4700) from PID 72196; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /root/doris/be/src/common/signal_handler.h:420
 1# 0x00007FCD3B81AD10 in /lib64/libpthread.so.0
 2# __GI_raise in /lib64/libc.so.6
 3# __GI_abort in /lib64/libc.so.6
 4# 0x000055583DEC0C0D in /root/doris/be/output/lib/doris_be
 5# google::LogMessage::SendToLog() in /root/doris/be/output/lib/doris_be
 6# google::LogMessage::Flush() in /root/doris/be/output/lib/doris_be
 7# google::LogMessageFatal::~LogMessageFatal() in /root/doris/be/output/lib/doris_be
 8# doris::vectorized::PODArray<unsigned char, 4096ul, doris::Allocator<false, false, false, doris::DefaultMemoryAllocator, false>, 16ul, 15ul>::operator[](long) const at /root/doris/be/src/vec/common/pod_array.h:466
 9# doris::vectorized::ColumnVector<(doris::PrimitiveType)2>::insert_range_from(doris::vectorized::IColumn const&, unsigned long, unsigned long) at /root/doris/be/src/vec/columns/column_vector.cpp:278
10# doris::vectorized::VExplodeV2TableFunction::get_value(doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, int) at /root/doris/be/src/vec/exprs/table_function/vexplode_v2.cpp:233
11# doris::pipeline::TableFunctionLocalState::get_expanded_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /root/doris/be/src/pipeline/exec/table_function_operator.cpp:199
12# doris::pipeline::TableFunctionOperatorX::pull(doris::RuntimeState*, doris::vectorized::Block*, bool*) const at /root/doris/be/src/pipeline/exec/table_function_operator.h:119
13# doris::pipeline::StatefulOperatorX<doris::pipeline::TableFunctionLocalState>::get_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /root/doris/be/src/pipeline/exec/operator.cpp:707
14# doris::pipeline::OperatorXBase::get_block_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /root/doris/be/src/pipeline/exec/operator.cpp:397
15# doris::pipeline::PipelineTask::execute(bool*) at /root/doris/be/src/pipeline/pipeline_task.cpp:532
16# doris::pipeline::TaskScheduler::_do_work(int) at /root/doris/be/src/pipeline/task_scheduler.cpp:146
17# doris::pipeline::TaskScheduler::start()::$_0::operator()() const at /root/doris/be/src/pipeline/task_scheduler.cpp:67
18# void std::__invoke_impl<void, doris::pipeline::TaskScheduler::start()::$_0&>(std::__invoke_other, doris::pipeline::TaskScheduler::start()::$_0&) at /root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
19# std::enable_if<is_invocable_r_v<void, doris::pipeline::TaskScheduler::start()::$_0&>, void>::type std::__invoke_r<void, doris::pipeline::TaskScheduler::start()::$_0&>(doris::pipeline::TaskScheduler::start()::$_0&) at /root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
20# std::_Function_handler<void (), doris::pipeline::TaskScheduler::start()::$_0>::_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
21# 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
22# doris::FunctionRunnable::run() at /root/doris/be/src/util/threadpool.cpp:60
23# doris::ThreadPool::dispatch_thread() at /root/doris/be/src/util/threadpool.cpp:614
24# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at /root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:76
25# std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at /root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:98
26# void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__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
27# void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at /root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/functional:600
28# void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at /root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:63
29# std::enable_if<is_invocable_r_v<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>, void>::type std::__invoke_r<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at /root/ldb_toolchain_taipan/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/invoke.h:119
30# std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_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
31# 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
32# doris::Thread::supervise_thread(void*) at /root/doris/be/src/util/thread.cpp:460
33# asan_thread_start(void*) in /root/doris/be/output/lib/doris_be
34# start_thread in /lib64/libpthread.so.0
35# __GI___clone in /lib64/libc.so.6
```

Related PR: #xxx

Problem Summary:

None

- 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:
apache/doris-website#1214 -->

- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
@mrhhsg mrhhsg requested a review from morrySnow as a code owner October 15, 2025 10:29
@hello-stephen
Copy link
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@mrhhsg
Copy link
Member Author

mrhhsg commented Oct 15, 2025

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 32629 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 5ec81d50f886907d867205e3be28c76b5f3ebe09, data reload: false

------ Round 1 ----------------------------------
q1	17591	5378	5406	5378
q2	2030	420	280	280
q3	11585	1238	753	753
q4	10234	859	454	454
q5	8225	2393	2076	2076
q6	183	161	133	133
q7	875	740	625	625
q8	9322	1406	1127	1127
q9	5147	4919	4846	4846
q10	6755	2261	1823	1823
q11	484	276	267	267
q12	327	349	211	211
q13	17781	3576	3016	3016
q14	218	221	205	205
q15	525	471	471	471
q16	434	421	371	371
q17	591	860	359	359
q18	6849	6387	6513	6387
q19	1299	963	511	511
q20	321	350	204	204
q21	2741	2191	2120	2120
q22	1104	1082	1012	1012
Total cold run time: 104621 ms
Total hot run time: 32629 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5454	5461	5410	5410
q2	251	328	238	238
q3	2313	2689	2328	2328
q4	1367	1816	1418	1418
q5	4356	4846	4969	4846
q6	174	167	126	126
q7	2087	1936	1794	1794
q8	2586	2791	2762	2762
q9	7264	7195	7174	7174
q10	3039	3331	2752	2752
q11	562	500	519	500
q12	652	779	624	624
q13	3378	3773	3142	3142
q14	281	294	273	273
q15	531	472	489	472
q16	440	504	429	429
q17	1218	1734	1229	1229
q18	7616	7335	7319	7319
q19	760	1125	1033	1033
q20	2007	2054	1924	1924
q21	5390	4887	4591	4591
q22	1121	1085	1047	1047
Total cold run time: 52847 ms
Total hot run time: 51431 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 193123 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 5ec81d50f886907d867205e3be28c76b5f3ebe09, data reload: false

query1	949	401	396	396
query2	6224	1960	1868	1868
query3	8690	212	210	210
query4	33841	24068	23598	23598
query5	3775	588	468	468
query6	285	202	194	194
query7	4217	491	323	323
query8	296	244	233	233
query9	9481	2588	2589	2588
query10	453	320	260	260
query11	18161	15535	15154	15154
query12	161	107	107	107
query13	1561	549	422	422
query14	9629	6777	6585	6585
query15	220	190	182	182
query16	7960	643	514	514
query17	1574	756	613	613
query18	2149	417	327	327
query19	213	201	163	163
query20	133	136	121	121
query21	204	130	111	111
query22	4757	4762	4748	4748
query23	35269	34296	34381	34296
query24	7709	2743	2727	2727
query25	552	509	437	437
query26	1200	288	178	178
query27	2223	495	373	373
query28	5250	2242	2201	2201
query29	819	612	470	470
query30	250	189	177	177
query31	1025	939	858	858
query32	90	66	59	59
query33	527	390	352	352
query34	749	877	524	524
query35	793	831	747	747
query36	1029	1073	961	961
query37	217	92	68	68
query38	3995	4047	4112	4047
query39	1520	1486	1478	1478
query40	204	127	109	109
query41	50	52	45	45
query42	126	106	99	99
query43	506	502	485	485
query44	1389	839	845	839
query45	182	184	178	178
query46	903	1088	678	678
query47	2038	2016	1959	1959
query48	396	430	354	354
query49	796	508	435	435
query50	680	701	431	431
query51	7481	7223	7306	7223
query52	101	100	98	98
query53	232	259	198	198
query54	565	578	487	487
query55	82	81	80	80
query56	269	271	282	271
query57	1297	1301	1234	1234
query58	238	220	243	220
query59	3186	3275	3129	3129
query60	296	290	283	283
query61	116	115	112	112
query62	820	757	704	704
query63	236	196	201	196
query64	4601	1010	652	652
query65	3378	3290	3287	3287
query66	1036	418	324	324
query67	16327	15850	15557	15557
query68	7856	836	556	556
query69	488	309	273	273
query70	1133	1136	1100	1100
query71	380	292	274	274
query72	5688	3743	3888	3743
query73	637	739	352	352
query74	10224	9123	9013	9013
query75	3184	3185	2687	2687
query76	3147	1135	789	789
query77	532	373	287	287
query78	10249	10416	9641	9641
query79	3272	891	609	609
query80	645	524	455	455
query81	516	259	222	222
query82	576	121	91	91
query83	178	167	149	149
query84	282	116	84	84
query85	784	367	308	308
query86	392	309	315	309
query87	4283	4376	4231	4231
query88	4924	2406	2413	2406
query89	406	329	300	300
query90	1814	191	193	191
query91	136	146	126	126
query92	71	57	52	52
query93	2072	911	556	556
query94	687	401	322	322
query95	352	292	283	283
query96	490	613	286	286
query97	3161	3254	3130	3130
query98	216	231	204	204
query99	1536	1407	1289	1289
Total cold run time: 295992 ms
Total hot run time: 193123 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 29.23 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 5ec81d50f886907d867205e3be28c76b5f3ebe09, data reload: false

query1	0.03	0.03	0.03
query2	0.06	0.03	0.04
query3	0.24	0.06	0.06
query4	1.62	0.11	0.10
query5	0.52	0.52	0.51
query6	1.13	0.72	0.71
query7	0.03	0.02	0.02
query8	0.05	0.04	0.03
query9	0.56	0.51	0.52
query10	0.56	0.54	0.56
query11	0.14	0.10	0.10
query12	0.13	0.11	0.11
query13	0.62	0.62	0.59
query14	0.77	0.81	0.78
query15	0.84	0.83	0.82
query16	0.42	0.39	0.41
query17	1.06	1.07	1.04
query18	0.24	0.23	0.23
query19	1.97	1.87	1.89
query20	0.02	0.01	0.01
query21	15.37	0.96	0.59
query22	0.74	0.86	0.66
query23	15.05	1.41	0.50
query24	3.33	1.31	1.12
query25	0.19	0.24	0.11
query26	0.24	0.16	0.13
query27	0.07	0.05	0.04
query28	13.88	1.01	0.43
query29	12.58	3.90	3.29
query30	0.25	0.09	0.06
query31	2.84	0.61	0.38
query32	3.22	0.54	0.46
query33	3.05	3.05	3.04
query34	16.61	5.19	4.60
query35	4.60	4.56	4.56
query36	0.64	0.50	0.47
query37	0.08	0.06	0.06
query38	0.05	0.04	0.04
query39	0.03	0.02	0.02
query40	0.16	0.12	0.13
query41	0.08	0.03	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 104.14 s
Total hot run time: 29.23 s

@morrySnow morrySnow changed the title [fix](function) Crash caused by explode function (#56991) branch-3.1: [fix](function) Crash caused by explode function #56991 Oct 16, 2025
@morrySnow morrySnow merged commit 19621d4 into apache:branch-3.1 Oct 16, 2025
23 of 24 checks passed
@morrySnow morrySnow mentioned this pull request Oct 23, 2025
Hastyshell pushed a commit to Hastyshell/doris that referenced this pull request Nov 12, 2025
w41ter pushed a commit to w41ter/incubator-doris that referenced this pull request Dec 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants