I hit this elog() while testing reports under v16 and changed to PANIC to help diagnose.
DETAILS: PANIC: invalid memory alloc request size 18446744072967930808 CONTEXT: PL/pgSQL function array_weight(real[],real[]) while storing call arguments into local variables I can't share the query, data, nor plpgsql functions themselves. I reproduced the problem at this commit, but not at its parent. commit 42b746d4c982257bf3f924176632b04dc288174b (HEAD) Author: Tom Lane <t...@sss.pgh.pa.us> Date: Thu Oct 6 13:27:34 2022 -0400 Remove uses of MemoryContextContains in nodeAgg.c and nodeWindowAgg.c. #2 0x0000000001067af5 in errfinish (filename=filename@entry=0x168f1e0 "../src/backend/utils/mmgr/mcxt.c", lineno=lineno@entry=1013, funcname=funcname@entry=0x16901a0 <__func__.17850> "MemoryContextAlloc") at ../src/backend/utils/error/elog.c:604 #3 0x00000000010c57c7 in MemoryContextAlloc (context=context@entry=0x604200032600, size=size@entry=8488348128) at ../src/backend/utils/mmgr/mcxt.c:1013 #4 0x0000000000db49a4 in copy_byval_expanded_array (eah=eah@entry=0x604200032718, oldeah=0x604200032718) at ../src/backend/utils/adt/array_expanded.c:195 #5 0x0000000000db5f7a in expand_array (arraydatum=105836584314672, parentcontext=<optimized out>, metacache=0x7ffcbd2d29c0, metacache@entry=0x0) at ../src/backend/utils/adt/array_expanded.c:104 #6 0x00007f6c05a6b4d0 in plpgsql_exec_function (func=func@entry=0x6092004a4c58, fcinfo=fcinfo@entry=0x7f6c04f7efc8, simple_eval_estate=simple_eval_estate@entry=0x0, simple_eval_resowner=simple_eval_resowner@entry=0x0, procedure_resowner=procedure_resowner@entry=0x0, atomic=atomic@entry=true) at ../src/pl/plpgsql/src/pl_exec.c:556 #7 0x00007f6c05a76af4 in plpgsql_call_handler (fcinfo=<optimized out>) at ../src/pl/plpgsql/src/pl_handler.c:277 #8 0x00000000008b30cd in ExecInterpExpr (state=0x7f6c04fd6750, econtext=0x6072000712d0, isnull=0x7ffcbd2d2fa0) at ../src/backend/executor/execExprInterp.c:733 #9 0x00000000008a6c5f in ExecInterpExprStillValid (state=0x7f6c04fd6750, econtext=0x6072000712d0, isNull=0x7ffcbd2d2fa0) at ../src/backend/executor/execExprInterp.c:1858 #10 0x000000000090032b in ExecEvalExprSwitchContext (isNull=0x7ffcbd2d2fa0, econtext=0x6072000712d0, state=0x7f6c04fd6750) at ../src/include/executor/executor.h:354 #11 ExecProject (projInfo=0x7f6c04fd6748) at ../src/include/executor/executor.h:388 #12 project_aggregates (aggstate=aggstate@entry=0x607200070d38) at ../src/backend/executor/nodeAgg.c:1377 #13 0x0000000000903eb6 in agg_retrieve_direct (aggstate=aggstate@entry=0x607200070d38) at ../src/backend/executor/nodeAgg.c:2520 #14 0x0000000000904074 in ExecAgg (pstate=0x607200070d38) at ../src/backend/executor/nodeAgg.c:2172 #15 0x00000000008d90e0 in ExecProcNodeFirst (node=0x607200070d38) at ../src/backend/executor/execProcnode.c:464 #16 0x00000000008c1e5f in ExecProcNode (node=0x607200070d38) at ../src/include/executor/executor.h:272 #17 ExecutePlan (estate=estate@entry=0x607200070a18, planstate=0x607200070d38, use_parallel_mode=false, operation=operation@entry=CMD_SELECT, sendTuples=true, numberTuples=numberTuples@entry=0, direction=direction@entry=ForwardScanDirection, dest=dest@entry=0x7f6c051abd28, execute_once=execute_once@entry=true) at ../src/backend/executor/execMain.c:1640 #18 0x00000000008c3ffb in standard_ExecutorRun (queryDesc=0x604200016998, direction=ForwardScanDirection, count=0, execute_once=<optimized out>) at ../src/backend/executor/execMain.c:365 #19 0x00000000008c4125 in ExecutorRun (queryDesc=queryDesc@entry=0x604200016998, direction=direction@entry=ForwardScanDirection, count=count@entry=0, execute_once=<optimized out>) at ../src/backend/executor/execMain.c:309 #20 0x0000000000d5d148 in PortalRunSelect (portal=portal@entry=0x607200028a18, forward=forward@entry=true, count=0, count@entry=9223372036854775807, dest=dest@entry=0x7f6c051abd28) at ../src/backend/tcop/pquery.c:924 #21 0x0000000000d60dc8 in PortalRun (portal=portal@entry=0x607200028a18, count=count@entry=9223372036854775807, isTopLevel=isTopLevel@entry=true, run_once=run_once@entry=true, dest=dest@entry=0x7f6c051abd28, altdest=altdest@entry=0x7f6c051abd28, qc=<optimized out>, qc@entry=0x7ffcbd2d3580) at ../src/backend/tcop/pquery.c:768 #22 0x0000000000d595fd in exec_simple_query ( query_string=query_string@entry=0x6082000cf238 "... #23 0x0000000000d5c72c in PostgresMain (dbname=dbname@entry=0x60820000b378 "postgres", username=username@entry=0x60820000b358 "telsasoft") at ../src/backend/tcop/postgres.c:4632 #24 0x0000000000bddc19 in BackendRun (port=port@entry=0x60300000fc40) at ../src/backend/postmaster/postmaster.c:4461 #25 0x0000000000be2583 in BackendStartup (port=port@entry=0x60300000fc40) at ../src/backend/postmaster/postmaster.c:4189 #26 0x0000000000be2a05 in ServerLoop () at ../src/backend/postmaster/postmaster.c:1779 #27 0x0000000000be436b in PostmasterMain (argc=argc@entry=9, argv=argv@entry=0x600e0000df40) at ../src/backend/postmaster/postmaster.c:1463 #28 0x00000000009c33d5 in main (argc=9, argv=0x600e0000df40) at ../src/backend/main/main.c:200 (gdb) fr 4 #4 0x0000000000db49a4 in copy_byval_expanded_array (eah=eah@entry=0x604200032718, oldeah=0x604200032718) at ../src/backend/utils/adt/array_expanded.c:195 195 eah->dims = (int *) MemoryContextAlloc(objcxt, ndims * 2 * sizeof(int)); (gdb) p ndims $1 = 1061043516 -- Justin