BUG #17774: Assert triggered on brin_minmax_multi.c - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #17774: Assert triggered on brin_minmax_multi.c
Date
Msg-id 17774-c6f3e36dd4471e67@postgresql.org
Whole thread Raw
Responses Re: BUG #17774: Assert triggered on brin_minmax_multi.c  (John Naylor <john.naylor@enterprisedb.com>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17774
Logged by:          Robins Tharakan
Email address:      tharakan@gmail.com
PostgreSQL version: 15.1
Operating system:   Ubuntu 20.04
Description:

This assert() is not easily reproducible, but thought the backtraces may be
interesting.

TRAP: FailedAssertion("(delta >= 0) && (delta <= 1)", File:
"brin_minmax_multi.c", Line: 2393, PID: 2922100)

Backtrace / SQL below.

Backtrace
=========
Core was generated by `postgres: d9f5345bf9@REL_15_STABLE@sqith: u81
postgres 127.0.0.1(59494) UPDATE'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f3b8a8d0859 in __GI_abort () at abort.c:79
#2  0x000055e143f0ae8b in ExceptionalCondition (
    conditionName=0x55e143f92604 "(delta >= 0) && (delta <= 1)", 
    errorType=0x55e143f91ef4 "FailedAssertion", 
    fileName=0x55e143f91ee0 "brin_minmax_multi.c", lineNumber=2393)
    at assert.c:69
#3  0x000055e1437e8972 in brin_minmax_multi_distance_inet (
    fcinfo=0x7ffc448234f0) at brin_minmax_multi.c:2393
#4  0x000055e143f16bd6 in FunctionCall2Coll (flinfo=0x55e150aa1740, 
    collation=0, arg1=94426157654496, arg2=94426091683272) at fmgr.c:1146
#5  0x000055e1437e6792 in build_distances (distanceFn=0x55e150aa1740, 
    colloid=0, eranges=0x55e14ee95e10, neranges=8) at
brin_minmax_multi.c:1361
#6  0x000055e1437e7379 in compactify_ranges (bdesc=0x55e150aa1b58, 
    ranges=0x55e1473dbee0, max_values=32) at brin_minmax_multi.c:1831
#7  0x000055e1437e89d4 in brin_minmax_multi_serialize (bdesc=0x55e150aa1b58,

    src=94426051231456, dst=0x55e14d959fd0) at brin_minmax_multi.c:2411
#8  0x000055e1437eed6b in brin_form_tuple (brdesc=0x55e150aa1b58, blkno=0,

    tuple=0x55e14d959c40, size=0x7ffc448237a0) at brin_tuple.c:165
#9  0x000055e1437de6c1 in brininsert (idxRel=0x55e14ba5a4c0, 
    values=0x7ffc44823930, nulls=0x7ffc44823910, heaptid=0x55e14693e520, 
    heapRel=0x55e14a28ab88, checkUnique=UNIQUE_CHECK_NO, 
    indexUnchanged=false, indexInfo=0x55e14693ef70) at brin.c:281
#10 0x000055e14388517c in index_insert (indexRelation=0x55e14ba5a4c0, 
    values=0x7ffc44823930, isnull=0x7ffc44823910,
heap_t_ctid=0x55e14693e520, 
    heapRelation=0x55e14a28ab88, checkUnique=UNIQUE_CHECK_NO, 
    indexUnchanged=false, indexInfo=0x55e14693ef70) at indexam.c:193
#11 0x000055e143ad7a03 in ExecInsertIndexTuples (
    resultRelInfo=0x55e14b07ec80, slot=0x55e14693e4f0,
estate=0x55e1468ffc20, 
    update=true, noDupErr=false, specConflict=0x0, arbiterIndexes=0x0)
    at execIndexing.c:416
#12 0x000055e143b24a23 in ExecUpdateEpilogue (context=0x7ffc44823bf0, 
    updateCxt=0x7ffc44823b30, resultRelInfo=0x55e14b07ec80, 
    tupleid=0x7ffc44823b72, oldtuple=0x0, slot=0x55e14693e4f0, 
    recheckIndexes=0x0) at nodeModifyTable.c:2123
#13 0x000055e143b25379 in ExecUpdate (context=0x7ffc44823bf0, 
    resultRelInfo=0x55e14b07ec80, tupleid=0x7ffc44823b72, oldtuple=0x0, 
    slot=0x55e14693e4f0, canSetTag=true) at nodeModifyTable.c:2464
#14 0x000055e143b27a58 in ExecModifyTable (pstate=0x55e146901900)
    at nodeModifyTable.c:3857
#15 0x000055e143ae5eb2 in ExecProcNodeFirst (node=0x55e146901900)
    at execProcnode.c:464
#16 0x000055e143ad969f in ExecProcNode (node=0x55e146901900)
    at ../../../src/include/executor/executor.h:259
#17 0x000055e143adc3b1 in ExecutePlan (estate=0x55e1468ffc20, 
    planstate=0x55e146901900, use_parallel_mode=false, operation=CMD_UPDATE,

    sendTuples=true, numberTuples=0, direction=ForwardScanDirection, 
    dest=0x55e150a50bc8, execute_once=true) at execMain.c:1636
#18 0x000055e143ad9d79 in standard_ExecutorRun (queryDesc=0x55e150a50c60, 
    direction=ForwardScanDirection, count=0, execute_once=true)
    at execMain.c:363
#19 0x00007f3b878be203 in pgss_ExecutorRun (queryDesc=0x55e150a50c60, 
    direction=ForwardScanDirection, count=0, execute_once=true)
    at pg_stat_statements.c:1010
#20 0x000055e143ad9b6f in ExecutorRun (queryDesc=0x55e150a50c60, 
    direction=ForwardScanDirection, count=0, execute_once=true)
    at execMain.c:305
#21 0x000055e143d48e2b in ProcessQuery (plan=0x55e148d80ee8, 
    sourceText=0x55e146177d40 "update public.brintest_multi set \n  int8col
= pg_catalog.hashint4extended(\n    cast(public.brintest_multi.int4col as
int4),\n    cast(pg_catalog.pg_stat_get_bgwriter_requested_checkpoints() as
int8)), "..., params=0x0, queryEnv=0x0, dest=0x55e150a50bc8,
qc=0x7ffc44823f90)
    at pquery.c:160
#22 0x000055e143d4a989 in PortalRunMulti (portal=0x55e147d1ab20, 
    isTopLevel=true, setHoldSnapshot=true, dest=0x55e150a50bc8, 
    altdest=0x55e144252940 <donothingDR>, qc=0x7ffc44823f90) at
pquery.c:1277
#23 0x000055e143d4a4b3 in FillPortalStore (portal=0x55e147d1ab20, 
    isTopLevel=true) at pquery.c:1026
#24 0x000055e143d49dcc in PortalRun (portal=0x55e147d1ab20, 
    count=9223372036854775807, isTopLevel=true, run_once=true, 
    dest=0x55e148d81be8, altdest=0x55e148d81be8, qc=0x7ffc448241d0)
    at pquery.c:763
#25 0x000055e143d43067 in exec_simple_query (
    query_string=0x55e146177d40 "update public.brintest_multi set \n
int8col = pg_catalog.hashint4extended(\n
cast(public.brintest_multi.int4col as int4),\n
cast(pg_catalog.pg_stat_get_bgwriter_requested_checkpoints() as int8)),
"...) at postgres.c:1250
#26 0x000055e143d47c8c in PostgresMain (dbname=0x55e1461ce9c0 "postgres", 
    username=0x55e1461ce9a0 "u81") at postgres.c:4593
#27 0x000055e143c73785 in BackendRun (port=0x55e1461d31f0)
    at postmaster.c:4511
#28 0x000055e143c73056 in BackendStartup (port=0x55e1461d31f0)
    at postmaster.c:4239
#29 0x000055e143c6f142 in ServerLoop () at postmaster.c:1806
#30 0x000055e143c6e8db in PostmasterMain (argc=3, argv=0x55e1461703d0)
    at postmaster.c:1478
#31 0x000055e143b67f7e in main (argc=3, argv=0x55e1461703d0) at main.c:202


=== Backtrace FULL - PID 2922100 - d9f5345bf9@REL_15_STABLE ===
Core was generated by `postgres: d9f5345bf9@REL_15_STABLE@sqith: u81
postgres 127.0.0.1(59494) UPDATE'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {4194304, 0, 0, 0, 0, 94425988324624, 
            4611686018427387904, 0, 0, 139893715715306, 0, 94425988324670,

            128, 0, 140721457868752, 139893705594400}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007f3b8a8d0859 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x7f3b8aa63bf7, 
            sa_sigaction = 0x7f3b8aa63bf7}, sa_mask = {__val = {1, 
              139893705953310, 3, 140721457868932, 12, 139893705953314, 2,

              3559309584102229448, 7292282603983811380, 94425988324624, 
              7292003142558041952, 0, 14782313591304450816, 140721457869024,

              94425996395472, 140721457869904}}, sa_flags = 1132322064, 
          sa_restorer = 0x7ffc44824760}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x000055e143f0ae8b in ExceptionalCondition (
    conditionName=0x55e143f92604 "(delta >= 0) && (delta <= 1)", 
    errorType=0x55e143f91ef4 "FailedAssertion", 
    fileName=0x55e143f91ee0 "brin_minmax_multi.c", lineNumber=2393)
    at assert.c:69
No locals.
#3  0x000055e1437e8972 in brin_minmax_multi_distance_inet (
    fcinfo=0x7ffc448234f0) at brin_minmax_multi.c:2393
        delta = -2.3283064365386963e-10
        i = -1
        len = 4
        addra = 0x55e14ee95fc0 ""
        addrb = 0x55e14ee95fe0 ""
        ipa = 0x55e14d95a1e0
        ipb = 0x55e149a6fdc8
        lena = 0
        lenb = 32
#4  0x000055e143f16bd6 in FunctionCall2Coll (flinfo=0x55e150aa1740, 
    collation=0, arg1=94426157654496, arg2=94426091683272) at fmgr.c:1146
        fcinfodata = {fcinfo = {flinfo = 0x55e150aa1740, context = 0x0, 
            resultinfo = 0x0, fncollation = 0, isnull = false, nargs = 2, 
            args = 0x7ffc44823510}, 
          fcinfo_data = "@\027\252P\341U", '\000' <repeats 23 times>,
"U\002\000ࡕM\341U\000\000\000\000\000\000\000\000\000\000\310\375\246I\341U\000\000\000\000\000\000\000\000\000"}
        fcinfo = 0x7ffc448234f0
        result = 94426179919656
        __func__ = "FunctionCall2Coll"
#5  0x000055e1437e6792 in build_distances (distanceFn=0x55e150aa1740, 
    colloid=0, eranges=0x55e14ee95e10, neranges=8) at
brin_minmax_multi.c:1361
        a1 = 94426157654496
        a2 = 94426091683272
        r = 94426209326968
        i = 0
        ndistances = 7
        distances = 0x55e14ee95f28
#6  0x000055e1437e7379 in compactify_ranges (bdesc=0x55e150aa1b58, 
    ranges=0x55e1473dbee0, max_values=32) at brin_minmax_multi.c:1831
        cmpFn = 0x55e150aa1778
        distanceFn = 0x55e150aa1740
        eranges = 0x55e14ee95e10
        neranges = 8
        distances = 0x55e14d95b520
        ctx = 0x55e14ee95cf0
        oldctx = 0x55e14d959b20
#7  0x000055e1437e89d4 in brin_minmax_multi_serialize (bdesc=0x55e150aa1b58,

    src=94426051231456, dst=0x55e14d959fd0) at brin_minmax_multi.c:2411
        ranges = 0x55e1473dbee0
        s = 0x55e14d95b520
#8  0x000055e1437eed6b in brin_form_tuple (brdesc=0x55e150aa1b58, blkno=0,

    tuple=0x55e14d959c40, size=0x7ffc448237a0) at brin_tuple.c:165
        datumno = 1
        values = 0x55e14d95b240
        nulls = 0x55e14d95b358
        anynulls = true
        rettuple = 0xcd2553e428217300
        keyno = 9
        idxattno = 9
        phony_infomask = 0
        phony_nullbitmap = 0x55e14d95b390 "\177\177\177~\177\177\177\177"
        len = 94426157652768
        hoff = 0
        data_len = 140721457871152
        i = 1184099328
        untoasted_values = 0x55e14d95b3b0
        nuntoasted = 0
#9  0x000055e1437de6c1 in brininsert (idxRel=0x55e14ba5a4c0, 
    values=0x7ffc44823930, nulls=0x7ffc44823910, heaptid=0x55e14693e520, 
    heapRel=0x55e14a28ab88, checkUnique=UNIQUE_CHECK_NO, 
    indexUnchanged=false, indexInfo=0x55e14693ef70) at brin.c:281
        lp = 0x7f3b739fb198
        origsz = 2096
        newsz = 1800
        page = 0x7f3b739fb180 "\373\003"
        origtup = 0x55e14d95a228
        newtup = 0x7ffc44823820
        samepage = 11
        need_insert = true
        off = 1
        brtup = 0x7f3b739fc948
        dtup = 0x55e14d959c40
        pagesPerRange = 1
        origHeapBlk = 0
        heapBlk = 0
        bdesc = 0x55e150aa1b58
        revmap = 0x55e14b0800f8
        buf = 6896
        tupcxt = 0x55e14d959b20
        oldcxt = 0x55e1468ffb00
        autosummarize = false
        __func__ = "brininsert"
#10 0x000055e14388517c in index_insert (indexRelation=0x55e14ba5a4c0, 
    values=0x7ffc44823930, isnull=0x7ffc44823910,
heap_t_ctid=0x55e14693e520, 
    heapRelation=0x55e14a28ab88, checkUnique=UNIQUE_CHECK_NO, 
    indexUnchanged=false, indexInfo=0x55e14693ef70) at indexam.c:193
        __func__ = "index_insert"
#11 0x000055e143ad7a03 in ExecInsertIndexTuples (
    resultRelInfo=0x55e14b07ec80, slot=0x55e14693e4f0,
estate=0x55e1468ffc20, 
    update=true, noDupErr=false, specConflict=0x0, arbiterIndexes=0x0)
    at execIndexing.c:416
        applyNoDupErr = false
        checkUnique = UNIQUE_CHECK_NO
        indexRelation = 0x55e14ba5a4c0
        indexInfo = 0x55e14693ef70
        indexUnchanged = false
        satisfiesConstraint = false
        tupleid = 0x55e14693e520
        result = 0x0
        i = 1
        numIndices = 6
        relationDescs = 0x55e14693e498
        heapRelation = 0x55e14a28ab88
        indexInfoArray = 0x55e14693ece8
        econtext = 0x55e14693ec50
        values = {0, 0, 0, 0, 0, 2143289344, 0, 0, 0, 94426040101880, 0, 0,

          0, 0, 0, 0, 94426040101888, 0, 0, 0, 0, 94426032201696,
1149385217, 
          94426040100080, 140721457871730, 94426100181896, 140721457871520,

          94425991760257, 1, 140721457871904, 140721457871668, 
          140721457871665}
        isnull = {true, true, true, false, true, false, true, true, true, 
          false, true, true, true, true, true, true, false, true, true,
true, 
          252, 127, false, false, 52, 59, 130, 68, 252, 127, false, false}
#12 0x000055e143b24a23 in ExecUpdateEpilogue (context=0x7ffc44823bf0, 
    updateCxt=0x7ffc44823b30, resultRelInfo=0x55e14b07ec80, 
    tupleid=0x7ffc44823b72, oldtuple=0x0, slot=0x55e14693e4f0, 
    recheckIndexes=0x0) at nodeModifyTable.c:2123
        mtstate = 0x55e146901900
#13 0x000055e143b25379 in ExecUpdate (context=0x7ffc44823bf0, 
    resultRelInfo=0x55e14b07ec80, tupleid=0x7ffc44823b72, oldtuple=0x0, 
    slot=0x55e14693e4f0, canSetTag=true) at nodeModifyTable.c:2464
        estate = 0x55e1468ffc20
        resultRelationDesc = 0x55e14a28ab88
        updateCxt = {updated = true, updateIndexes = true, 
          crossPartUpdate = false, lockmode = LockTupleNoKeyExclusive}
        recheckIndexes = 0x0
        result = TM_Ok
        __func__ = "ExecUpdate"
#14 0x000055e143b27a58 in ExecModifyTable (pstate=0x55e146901900)
    at nodeModifyTable.c:3857
        node = 0x55e146901900
        context = {mtstate = 0x55e146901900, epqstate = 0x55e1469019e8, 
          estate = 0x55e1468ffc20, planSlot = 0x55e14b07ffe0, 
          GetUpdateNewTuple = 0x55e143b22924 <internalGetUpdateNewTuple>, 
          relaction = 0x0, tmfd = {ctid = {ip_blkid = {bi_hi = 0, 
                bi_lo = 19779}, ip_posid = 0}, xmax = 1258818464, 
            cmax = 21985, traversed = 161}, 
          cpUpdateRetrySlot = 0xcd2553e428217300, 
          cpUpdateReturningSlot = 0x7ffc44823c50}
        estate = 0x55e1468ffc20
        operation = CMD_UPDATE
        resultRelInfo = 0x55e14b07ec80
        subplanstate = 0x55e14b07ef78
        slot = 0x55e14693e4f0
        oldSlot = 0x55e14693e280
        tuple_ctid = {ip_blkid = {bi_hi = 0, bi_lo = 0}, ip_posid = 3}
        oldtupdata = {t_len = 16, t_self = {ip_blkid = {bi_hi = 0, 
              bi_lo = 0}, ip_posid = 0}, t_tableOid = 0, t_data = 0x0}
        oldtuple = 0x0
        tupleid = 0x7ffc44823b72
        __func__ = "ExecModifyTable"
#15 0x000055e143ae5eb2 in ExecProcNodeFirst (node=0x55e146901900)
    at execProcnode.c:464
No locals.
#16 0x000055e143ad969f in ExecProcNode (node=0x55e146901900)
    at ../../../src/include/executor/executor.h:259
No locals.
#17 0x000055e143adc3b1 in ExecutePlan (estate=0x55e1468ffc20, 
    planstate=0x55e146901900, use_parallel_mode=false, operation=CMD_UPDATE,

    sendTuples=true, numberTuples=0, direction=ForwardScanDirection, 
    dest=0x55e150a50bc8, execute_once=true) at execMain.c:1636
        slot = 0x2437ddd10
        current_tuple_count = 0
#18 0x000055e143ad9d79 in standard_ExecutorRun (queryDesc=0x55e150a50c60, 
    direction=ForwardScanDirection, count=0, execute_once=true)
    at execMain.c:363
        estate = 0x55e1468ffc20
        operation = CMD_UPDATE
        dest = 0x55e150a50bc8
        sendTuples = true
        oldcontext = 0x55e150a50970
        __func__ = "standard_ExecutorRun"
#19 0x00007f3b878be203 in pgss_ExecutorRun (queryDesc=0x55e150a50c60, 
    direction=ForwardScanDirection, count=0, execute_once=true)
    at pg_stat_statements.c:1010
        _save_exception_stack = 0x7ffc44824050
        _save_context_stack = 0x0
        _local_sigjmp_buf = {{__jmpbuf = {94425996395472, 
              -3663643427010865258, 94425988324624, 140721457874784, 0, 0,

              -3663643427042322538, -3699819632856623210}, 
            __mask_was_saved = 0, __saved_mask = {__val = {94426039843584,

                94426114820576, 448, 0, 0, 140721457872464, 
                14782313591304450816, 140721457872464, 94425991562550, 0, 
                94426208995696, 4311810336, 94426039843584, 140721457872512,

                139893653889288, 0}}}}
        _do_rethrow = false
#20 0x000055e143ad9b6f in ExecutorRun (queryDesc=0x55e150a50c60, 
    direction=ForwardScanDirection, count=0, execute_once=true)
    at execMain.c:305
No locals.
#21 0x000055e143d48e2b in ProcessQuery (plan=0x55e148d80ee8, 
    sourceText=0x55e146177d40 "update public.brintest_multi set \n  int8col
= pg_catalog.hashint4extended(\n    cast(public.brintest_multi.int4col as
int4),\n    cast(pg_catalog.pg_stat_get_bgwriter_requested_checkpoints() as
int8)), "..., params=0x0, queryEnv=0x0, dest=0x55e150a50bc8,
qc=0x7ffc44823f90)
    at pquery.c:160
        queryDesc = 0x55e150a50c60
#22 0x000055e143d4a989 in PortalRunMulti (portal=0x55e147d1ab20, 
    isTopLevel=true, setHoldSnapshot=true, dest=0x55e150a50bc8, 
    altdest=0x55e144252940 <donothingDR>, qc=0x7ffc44823f90) at
pquery.c:1277
        pstmt = 0x55e148d80ee8
        stmtlist_item__state = {l = 0x55e148d81bb0, i = 0}
        active_snapshot_set = true
        stmtlist_item = 0x55e148d81bc8
#23 0x000055e143d4a4b3 in FillPortalStore (portal=0x55e147d1ab20, 
    isTopLevel=true) at pquery.c:1026
        treceiver = 0x55e150a50bc8
        qc = {commandTag = CMDTAG_UNKNOWN, nprocessed = 0}
        __func__ = "FillPortalStore"
#24 0x000055e143d49dcc in PortalRun (portal=0x55e147d1ab20, 
    count=9223372036854775807, isTopLevel=true, run_once=true, 
    dest=0x55e148d81be8, altdest=0x55e148d81be8, qc=0x7ffc448241d0)
    at pquery.c:763
        _save_exception_stack = 0x7ffc448242e0
        _save_context_stack = 0x0
        _local_sigjmp_buf = {{__jmpbuf = {94425996395472, 
              -3663643429315635306, 94425988324624, 140721457874784, 0, 0,

              -3663643426998282346, -7416846826455394410}, 
            __mask_was_saved = 0, __saved_mask = {__val = {94426078125144,

                4869, 94426031944688, 94426078125032, 112, 0, 0, 0, 
                14782313591304450816, 140721457873168, 94425988439072, 
                140721457873200, 9727941148, 0, 94426078125032, 
                94426060925728}}}}
        _do_rethrow = false
        result = false
        nprocessed = 94425996138368
        saveTopTransactionResourceOwner = 0x55e1461cea80
        saveTopTransactionContext = 0x55e1461b5df0
        saveActivePortal = 0x0
        saveResourceOwner = 0x55e1461cea80
        savePortalContext = 0x0
        saveMemoryContext = 0x55e1461b5df0
        __func__ = "PortalRun"
#25 0x000055e143d43067 in exec_simple_query (
    query_string=0x55e146177d40 "update public.brintest_multi set \n
int8col = pg_catalog.hashint4extended(\n
cast(public.brintest_multi.int4col as int4),\n
cast(pg_catalog.pg_stat_get_bgwriter_requested_checkpoints() as int8)),
"...) at postgres.c:1250
        snapshot_set = true
        per_parsetree_context = 0x0
        plantree_list = 0x55e148d81bb0
        parsetree = 0x55e1492c3050
        commandTag = CMDTAG_UPDATE
        qc = {commandTag = CMDTAG_UNKNOWN, nprocessed = 0}
        querytree_list = 0x55e14fa8aad0
        portal = 0x55e147d1ab20
        receiver = 0x55e148d81be8
        format = 0
        parsetree_item__state = {l = 0x55e1492c3088, i = 0}
        dest = DestRemote
        oldcontext = 0x55e1461b5df0
        parsetree_list = 0x55e1492c3088
        parsetree_item = 0x55e1492c30a0
        save_log_statement_stats = false
        was_logged = false
        use_implicit_block = false
        msec_str =
"\020B\202D\374\177\000\000e,\266C\341U\000\000\000\000\000\000\000\000\000\000\240B\202D\374\177\000"
        __func__ = "exec_simple_query"
#26 0x000055e143d47c8c in PostgresMain (dbname=0x55e1461ce9c0 "postgres", 
    username=0x55e1461ce9a0 "u81") at postgres.c:4593
        query_string = 0x55e146177d40 "update public.brintest_multi set \n
int8col = pg_catalog.hashint4extended(\n
cast(public.brintest_multi.int4col as int4),\n
cast(pg_catalog.pg_stat_get_bgwriter_requested_checkpoints() as int8)),
"...
        firstchar = 81
        input_message = {
          data = 0x55e146177d40 "update public.brintest_multi set \n
int8col = pg_catalog.hashint4extended(\n
cast(public.brintest_multi.int4col as int4),\n
cast(pg_catalog.pg_stat_get_bgwriter_requested_checkpoints() as int8)),
"..., len = 2008, maxlen = 2048, cursor = 2008}
        local_sigjmp_buf = {{__jmpbuf = {94425996395472, 
              -3663643429277886570, 94425988324624, 140721457874784, 0, 0,

              -3663643429282080874, -7416846831724882026}, 
            __mask_was_saved = 1, __saved_mask = {__val = {4194304, 
                139893708792864, 645248, 94426031943624, 0, 94426031916160,

                139893253697616, 4869, 94426031916160, 139893253697616, 
                645248, 0, 94426031944688, 4294967297, 94426031916160, 
                140721457873856}}}}
        send_ready_for_query = false
        idle_in_transaction_timeout_enabled = false
        idle_session_timeout_enabled = false
        __func__ = "PostgresMain"
#27 0x000055e143c73785 in BackendRun (port=0x55e1461d31f0)
    at postmaster.c:4511
No locals.
#28 0x000055e143c73056 in BackendStartup (port=0x55e1461d31f0)
    at postmaster.c:4239
        bn = 0x55e1461b2760
        pid = 0
        __func__ = "BackendStartup"
#29 0x000055e143c6f142 in ServerLoop () at postmaster.c:1806
        port = 0x55e1461d31f0
        i = 0
        rmask = {fds_bits = {32, 0 <repeats 15 times>}}
        selres = 1
        now = 1675609473
        readmask = {fds_bits = {96, 0 <repeats 15 times>}}
        nSockets = 7
        last_lockfile_recheck_time = 1675609457
        last_touch_time = 1675608541
        __func__ = "ServerLoop"



SQL - mostly irrelevant + didn't reduce since assert() is not reproducible
===
update public.brintest_multi set
                    
  int8col = pg_catalog.hashint4extended(
                    
    cast(public.brintest_multi.int4col as int4),
                    
    cast(pg_catalog.pg_stat_get_bgwriter_requested_checkpoints() as int8)),
                    
  int2col = public.brintest_multi.int2col,
                    
  int4col = public.brintest_multi.int4col,
                    
  oidcol = pg_catalog.pg_my_temp_schema(),
                    
  tidcol = pg_catalog.currtid2(
                    
    cast(pg_catalog.ts_headline(
                    
      cast(pg_catalog.get_current_ts_config() as regconfig),
                    
      cast(public.large_val() as text),
                    
      cast((select tsquery from public.tab_core_types limit 1 offset 34)
                    
         as tsquery)) as text),
                    
    cast(public.brintest_multi.tidcol as tid)),
                    
  float8col = public.brintest_multi.float8col,
                    
  macaddr8col = public.brintest_multi.macaddr8col,
                    
  inetcol = pg_catalog.set_masklen(
                    
    cast(pg_catalog.inet_server_addr() as inet),
                    
    cast(pg_catalog.pg_trigger_depth() as int4)),
                    
  cidrcol = pg_catalog.set_masklen(
                    
    cast(public.brintest_multi.cidrcol as cidr),
                    
    cast(pg_catalog.inet_client_port() as int4)),
                    
  datecol = pg_catalog.make_date(
                    
    cast(public.citext_pattern_cmp(
                    
      cast(public.citext(
                    
        cast(public.brintest_multi.inetcol as inet)) as public.citext),
                    
      cast(cast(null as public.citext) as public.citext)) as int4),
                    
    cast(pg_catalog.hashinet(
                    
      cast(pg_catalog.inet_server_addr() as inet)) as int4),
                    
    cast(public.func_with_bad_set() as int4)),
                    
  timecol = pg_catalog.time_in(
                    
    cast(cast(null as cstring) as cstring),
                    
    cast(public.brintest_multi.oidcol as oid),
                    
    cast(pg_catalog.hashint2(
                    
      cast(cast(coalesce(public.brintest_multi.int2col,
                    
        public.brintest_multi.int2col) as int2) as int2)) as int4)),
                    
  timestampcol = pg_catalog.timestamp(
                    
    cast(cast(null as "timestamp") as "timestamp"),
                    
    cast(public.brintest_multi.int4col as int4)),
                    
  timetzcol = pg_catalog.timetz(
                    
    cast(pg_catalog.transaction_timestamp() as timestamptz)),
                    
  lsncol = public.brintest_multi.lsncol
                    
returning
                    
  pg_catalog.jsonb_build_object() as c0;


Thanks to SQLSmith for the find.

-
Robins Tharakan
Amazon Web Services


pgsql-bugs by date:

Previous
From: Richard Guo
Date:
Subject: Re: BUG #17773: Assert triggered on analyzejoins.c
Next
From: Mats Kindahl
Date:
Subject: Re: Crash during backend start when low on memory