Skip to content

[fix](predicate) Fix coredump if exception occurs#60162

Merged
yiguolei merged 1 commit intoapache:masterfrom
Gabriel39:fix_0123
Jan 23, 2026
Merged

[fix](predicate) Fix coredump if exception occurs#60162
yiguolei merged 1 commit intoapache:masterfrom
Gabriel39:fix_0123

Conversation

@Gabriel39
Copy link
Contributor

What problem does this PR solve?

*** SIGSEGV address not mapped to object (@0xfffffffffffffff0) received by PID 12431 (TID 13514 OR 0x7f02981d1640) from PID 18446744073709551600; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/common/signal_handler.h:420
1# PosixSignals::chained_handler(int, siginfo*, void*) [clone .part.0] 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# 0x00007F04AE099520 in /lib/x86_64-linux-gnu/libc.so.6
4# doris::pipeline::ScanLocalState::_normalize_predicate(doris::vectorized::VExprContext*, std::shared_ptr const&, std::shared_ptr&)::{lambda(auto:1&)#1}::operator() >(doris::ColumnValueRange<(doris::PrimitiveType)25>&) const::{lambda()#1}::operator()() const at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/scan_operator.cpp:352
5# doris::Defer::_normalize_predicate(doris::vectorized::VExprContext*, std::shared_ptr const&, std::shared_ptr&)::{lambda(auto:1&)#1}::operator() >(doris::ColumnValueRange<(doris::PrimitiveType)25>&) const::{lambda()#1}>::~Defer() at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/util/defer_op.h:76
6# auto doris::pipeline::ScanLocalState::_normalize_predicate(doris::vectorized::VExprContext*, std::shared_ptr const&, std::shared_ptr&)::{lambda(auto:1&)#1}::operator() >(doris::ColumnValueRange<(doris::PrimitiveType)25>&) const in /mnt/hdd01/ci/doris-deploy-branch-4.0-local/be/lib/doris_be
7# doris::pipeline::ScanLocalState::_normalize_predicate(doris::vectorized::VExprContext*, std::shared_ptr const&, std::shared_ptr&) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/scan_operator.cpp:412
8# doris::pipeline::ScanLocalState::_normalize_conjuncts(doris::RuntimeState*) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/scan_operator.cpp:267
9# doris::pipeline::OlapScanLocalState::_process_conjuncts(doris::RuntimeState*) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/olap_scan_operator.cpp:366
10# doris::pipeline::ScanLocalState::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/scan_operator.cpp:158
11# doris::pipeline::OlapScanLocalState::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/olap_scan_operator.cpp:787
12# doris::pipeline::PipelineTask::_open() at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/pipeline_task.cpp:269
13# doris::pipeline::PipelineTask::execute(bool*) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/pipeline_task.cpp:467
14# doris::pipeline::TaskScheduler::_do_work(int) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/task_scheduler.cpp:153
15# doris::ThreadPool::dispatch_thread() at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/util/threadpool.cpp:623
16# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_branch-4.0/doris/be/src/util/thread.cpp:461
17# start_thread at ./nptl/pthread_create.c:442

Check List (For Author)

  • Test

    • 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
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@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?

@Gabriel39
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17650	4702	4557	4557
q2	1999	299	186	186
q3	10301	1298	736	736
q4	10211	817	313	313
q5	7519	2056	1829	1829
q6	185	168	135	135
q7	846	695	578	578
q8	9260	1358	1007	1007
q9	4749	4579	4626	4579
q10	6760	1701	1258	1258
q11	520	309	270	270
q12	339	374	214	214
q13	17774	3833	3081	3081
q14	227	229	214	214
q15	603	532	522	522
q16	660	643	591	591
q17	644	761	542	542
q18	6785	6424	6387	6387
q19	1145	973	607	607
q20	383	343	233	233
q21	2657	2082	1853	1853
q22	1058	1019	981	981
Total cold run time: 102275 ms
Total hot run time: 30673 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4797	4761	4706	4706
q2	326	386	309	309
q3	2107	2685	2257	2257
q4	1348	1756	1295	1295
q5	4062	3978	3933	3933
q6	218	170	134	134
q7	1871	1858	1702	1702
q8	2756	2548	2550	2548
q9	7313	7048	7182	7048
q10	2549	2750	2296	2296
q11	559	476	460	460
q12	707	762	645	645
q13	3553	4106	3517	3517
q14	288	297	274	274
q15	562	522	497	497
q16	784	737	661	661
q17	1124	1307	1381	1307
q18	8534	7799	7925	7799
q19	837	829	875	829
q20	1994	2076	2001	2001
q21	4926	4527	4224	4224
q22	1064	1009	986	986
Total cold run time: 52279 ms
Total hot run time: 49428 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 172640 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 447cf5352f06c1583fe326bf2cafa9b6e874c0b8, data reload: false

query5	4395	628	506	506
query6	316	204	186	186
query7	4205	452	252	252
query8	337	261	244	244
query9	8688	2864	2849	2849
query10	448	324	308	308
query11	15398	15097	14935	14935
query12	193	124	121	121
query13	1265	464	381	381
query14	5887	3002	2801	2801
query14_1	2706	2661	2637	2637
query15	199	190	171	171
query16	961	475	459	459
query17	1067	651	554	554
query18	2413	418	325	325
query19	186	176	146	146
query20	123	115	115	115
query21	217	136	120	120
query22	3953	4013	4225	4013
query23	15999	15568	15346	15346
query23_1	15521	15390	15408	15390
query24	7143	1544	1145	1145
query24_1	1156	1185	1171	1171
query25	514	424	385	385
query26	1247	272	150	150
query27	2763	433	277	277
query28	4550	2155	2139	2139
query29	743	530	436	436
query30	312	231	204	204
query31	772	634	550	550
query32	94	78	73	73
query33	531	360	327	327
query34	914	875	545	545
query35	715	756	674	674
query36	866	953	810	810
query37	348	92	90	90
query38	2738	2667	2591	2591
query39	772	749	742	742
query39_1	743	727	724	724
query40	225	134	122	122
query41	72	69	67	67
query42	99	93	95	93
query43	434	487	427	427
query44	1311	755	750	750
query45	192	189	185	185
query46	836	949	601	601
query47	1417	1502	1273	1273
query48	319	334	252	252
query49	631	461	354	354
query50	691	273	216	216
query51	3769	3769	3725	3725
query52	97	97	87	87
query53	213	232	173	173
query54	300	290	269	269
query55	82	91	80	80
query56	306	310	316	310
query57	1035	1038	971	971
query58	276	271	262	262
query59	2027	2163	2177	2163
query60	359	330	320	320
query61	176	174	166	166
query62	383	377	308	308
query63	199	167	166	166
query64	5020	1265	833	833
query65	3812	3719	3690	3690
query66	1474	411	305	305
query67	15401	15466	15360	15360
query68	2369	1050	716	716
query69	405	311	274	274
query70	1032	948	916	916
query71	294	283	270	270
query72	5387	3117	3170	3117
query73	603	720	317	317
query74	8718	8700	8520	8520
query75	2291	2302	1863	1863
query76	2278	1058	662	662
query77	368	386	296	296
query78	9797	9845	9191	9191
query79	1057	903	576	576
query80	1276	539	453	453
query81	573	264	231	231
query82	1071	152	120	120
query83	363	271	260	260
query84	273	114	95	95
query85	896	476	408	408
query86	420	323	314	314
query87	2836	2852	2753	2753
query88	3702	2572	2569	2569
query89	352	249	232	232
query90	1982	176	166	166
query91	178	155	138	138
query92	74	72	64	64
query93	1158	1045	641	641
query94	641	313	290	290
query95	576	325	381	325
query96	649	509	232	232
query97	2345	2409	2356	2356
query98	208	199	200	199
query99	599	566	561	561
Total cold run time: 246592 ms
Total hot run time: 172640 ms

@doris-robot
Copy link

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

query1	0.06	0.05	0.04
query2	0.13	0.04	0.04
query3	0.55	0.09	0.09
query4	1.61	0.12	0.12
query5	0.27	0.26	0.25
query6	1.39	0.67	0.66
query7	0.03	0.03	0.03
query8	0.06	0.04	0.04
query9	0.67	0.50	0.51
query10	0.55	0.55	0.55
query11	0.25	0.10	0.10
query12	0.22	0.10	0.11
query13	0.62	0.59	0.59
query14	0.96	0.93	0.94
query15	0.79	0.77	0.76
query16	0.43	0.38	0.41
query17	1.06	1.04	1.03
query18	0.27	0.21	0.21
query19	1.93	1.84	1.88
query20	0.02	0.01	0.01
query21	15.39	0.25	0.14
query22	5.48	0.14	0.05
query23	15.93	0.28	0.09
query24	3.43	0.89	0.56
query25	0.09	0.10	0.06
query26	0.15	0.13	0.14
query27	0.09	0.07	0.06
query28	4.67	1.06	0.89
query29	12.54	3.84	3.09
query30	0.46	0.13	0.11
query31	3.06	0.61	0.38
query32	3.34	0.55	0.46
query33	2.93	3.03	3.02
query34	16.04	5.03	4.39
query35	4.52	4.49	4.48
query36	0.65	0.50	0.48
query37	0.18	0.06	0.07
query38	0.08	0.04	0.03
query39	0.06	0.03	0.04
query40	0.20	0.13	0.13
query41	0.11	0.04	0.03
query42	0.05	0.02	0.02
query43	0.05	0.04	0.04
Total cold run time: 101.37 s
Total hot run time: 27 s

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 50.00% (6/12) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.46% (19116/36440)
Line Coverage 35.83% (177569/495644)
Region Coverage 32.28% (137160/424969)
Branch Coverage 33.23% (59416/178793)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 83.33% (10/12) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.15% (26127/35719)
Line Coverage 56.19% (278183/495112)
Region Coverage 53.70% (230649/429482)
Branch Coverage 55.52% (99700/179564)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 83.33% (10/12) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.15% (26127/35719)
Line Coverage 56.19% (278192/495112)
Region Coverage 53.70% (230612/429482)
Branch Coverage 55.53% (99714/179564)

Copy link
Contributor

@BiteTheDDDDt BiteTheDDDDt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jan 23, 2026
@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

@yiguolei yiguolei merged commit 407fd41 into apache:master Jan 23, 2026
33 of 38 checks passed
github-actions bot pushed a commit that referenced this pull request Jan 23, 2026
### What problem does this PR solve?

*** SIGSEGV address not mapped to object (@0xfffffffffffffff0) received
by PID 12431 (TID 13514 OR 0x7f02981d1640) from PID
18446744073709551600; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int,
siginfo_t*, void*) at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/common/signal_handler.h:420
1# PosixSignals::chained_handler(int, siginfo*, void*) [clone .part.0]
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# 0x00007F04AE099520 in /lib/x86_64-linux-gnu/libc.so.6
4#
doris::pipeline::ScanLocalState::_normalize_predicate(doris::vectorized::VExprContext*,
std::shared_ptr const&,
std::shared_ptr&)::{lambda(auto:1&)#1}::operator()
>(doris::ColumnValueRange<(doris::PrimitiveType)25>&)
const::{lambda()#1}::operator()() const at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/scan_operator.cpp:352
5# doris::Defer::_normalize_predicate(doris::vectorized::VExprContext*,
std::shared_ptr const&,
std::shared_ptr&)::{lambda(auto:1&)#1}::operator()
>(doris::ColumnValueRange<(doris::PrimitiveType)25>&)
const::{lambda()#1}>::~Defer() at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/util/defer_op.h:76
6# auto
doris::pipeline::ScanLocalState::_normalize_predicate(doris::vectorized::VExprContext*,
std::shared_ptr const&,
std::shared_ptr&)::{lambda(auto:1&)#1}::operator()
>(doris::ColumnValueRange<(doris::PrimitiveType)25>&) const in
/mnt/hdd01/ci/doris-deploy-branch-4.0-local/be/lib/doris_be
7#
doris::pipeline::ScanLocalState::_normalize_predicate(doris::vectorized::VExprContext*,
std::shared_ptr const&, std::shared_ptr&) at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/scan_operator.cpp:412
8#
doris::pipeline::ScanLocalState::_normalize_conjuncts(doris::RuntimeState*)
at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/scan_operator.cpp:267
9#
doris::pipeline::OlapScanLocalState::_process_conjuncts(doris::RuntimeState*)
at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/olap_scan_operator.cpp:366
10# doris::pipeline::ScanLocalState::open(doris::RuntimeState*) at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/scan_operator.cpp:158
11# doris::pipeline::OlapScanLocalState::open(doris::RuntimeState*) at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/exec/olap_scan_operator.cpp:787
12# doris::pipeline::PipelineTask::_open() at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/pipeline_task.cpp:269
13# doris::pipeline::PipelineTask::execute(bool*) at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/pipeline_task.cpp:467
14# doris::pipeline::TaskScheduler::_do_work(int) at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/pipeline/task_scheduler.cpp:153
15# doris::ThreadPool::dispatch_thread() at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/util/threadpool.cpp:623
16# doris::Thread::supervise_thread(void*) at
/home/zcp/repo_center/doris_branch-4.0/doris/be/src/util/thread.cpp:461
17# start_thread at ./nptl/pthread_create.c:442

### 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:
apache/doris-website#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 -->
yiguolei pushed a commit that referenced this pull request Jan 23, 2026
…60184)

Cherry-picked from #60162

Co-authored-by: Gabriel <liwenqiang@selectdb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. dev/4.0.3-merged reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

Comments