Re: Undefined behavior detected by new clang's ubsan

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: John Naylor <johncnaylorls(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Undefined behavior detected by new clang's ubsan
Date: 2026-01-20 07:00:00
Message-ID: 7ea15f17-f001-4b5c-979d-b9cff4db46bb@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello John,

20.01.2026 08:13, John Naylor wrote:
> On Tue, Jan 20, 2026 at 12:00 PM Alexander Lakhin <exclusion(at)gmail(dot)com> wrote:
>> ../../src/include/lib/sort_template.h:314:15: runtime error: applying non-zero offset 8 to null pointer
>> SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../src/include/lib/sort_template.h:314:15
> Where does it think a NULL pointer is coming from?

Thank you for paying attention to this!

With UBSAN_OPTIONS=print_stacktrace=1, I can see:
    #0 0x607efd762a61 in qsort_arg .../src/port/../../src/include/lib/sort_template.h:314:15
    #1 0x607efd3fa268 in multirange_canonicalize .../src/backend/utils/adt/multirangetypes.c:488:2
    #2 0x607efd3fa268 in make_multirange .../src/backend/utils/adt/multirangetypes.c:655:16
    #3 0x607efcab820f in ExecInterpExpr .../src/backend/executor/execExprInterp.c:926:8
    #4 0x607efceef4b6 in ExecEvalExprSwitchContext
.../src/backend/optimizer/util/../../../../src/include/executor/executor.h:444:13
    #5 0x607efceef4b6 in evaluate_expr .../src/backend/optimizer/util/clauses.c:5323:14
    #6 0x607efcef282f in evaluate_function .../src/backend/optimizer/util/clauses.c:4830:9
    #7 0x607efcef282f in simplify_function .../src/backend/optimizer/util/clauses.c:4179:12
    #8 0x607efcee84d9 in eval_const_expressions_mutator .../src/backend/optimizer/util/clauses.c:2608:14
    #9 0x607efccdda63 in expression_tree_mutator_impl .../src/backend/nodes/nodeFuncs.c:3485:5
    #10 0x607efcee60ba in eval_const_expressions_mutator .../src/backend/optimizer/util/clauses.c:3798:9
    #11 0x607efccde200 in expression_tree_mutator_impl .../src/backend/nodes/nodeFuncs.c:3571:12
    #12 0x607efcee60ba in eval_const_expressions_mutator .../src/backend/optimizer/util/clauses.c:3798:9
    #13 0x607efcee5d97 in eval_const_expressions .../src/backend/optimizer/util/clauses.c:2282:9
    #14 0x607efce76a8f in preprocess_expression .../src/backend/optimizer/plan/planner.c:1331:10
    #15 0x607efce73c32 in subquery_planner .../src/backend/optimizer/plan/planner.c:934:3
    #16 0x607efce6fbee in standard_planner .../src/backend/optimizer/plan/planner.c:470:9
    #17 0x607efce6f49a in planner .../src/backend/optimizer/plan/planner.c:324:12
    #18 0x607efd1ff680 in pg_plan_query .../src/backend/tcop/postgres.c:905:9
    #19 0x607efd1ff968 in pg_plan_queries .../src/backend/tcop/postgres.c:1000:11
    #20 0x607efd20a87b in exec_simple_query .../src/backend/tcop/postgres.c:1198:19
    #21 0x607efd204dc0 in PostgresMain .../src/backend/tcop/postgres.c
    #22 0x607efd1f804b in BackendMain .../src/backend/tcop/backend_startup.c:124:2
    #23 0x607efcf9e59a in postmaster_child_launch .../src/backend/postmaster/launch_backend.c:268:3
    #24 0x607efcfa8136 in BackendStartup .../src/backend/postmaster/postmaster.c:3606:8
    #25 0x607efcfa8136 in ServerLoop .../src/backend/postmaster/postmaster.c:1713:6
    #26 0x607efcfa46cc in PostmasterMain .../src/backend/postmaster/postmaster.c:1403:11
    #27 0x607efcc4ca92 in main .../src/backend/main/main.c:231:4
...
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../src/include/lib/sort_template.h:314:15
...
2026-01-20 08:20:18.256 EET postmaster[3914440] LOG:  client backend (PID 3914618) was terminated by signal 6: Aborted
2026-01-20 08:20:18.256 EET postmaster[3914440] DETAIL:  Failed process was running: select textmultirange();

Best regards,
Alexander

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ajit Awekar 2026-01-20 07:03:08 Re: Periodic authorization expiration checks using GoAway message
Previous Message Chao Li 2026-01-20 06:59:18 Re: Fix comments for buf_id field of BufferDesc structure