Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tnKcp-004JTY-NX for pgsql-committers@arkaria.postgresql.org; Wed, 26 Feb 2025 16:51:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tnKco-009beu-MU for pgsql-committers@arkaria.postgresql.org; Wed, 26 Feb 2025 16:51:10 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tnKco-009bdN-F3 for pgsql-committers@lists.postgresql.org; Wed, 26 Feb 2025 16:51:10 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tnKcj-000DmU-1b for pgsql-committers@lists.postgresql.org; Wed, 26 Feb 2025 16:51:09 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 51QGp4B61834447; Wed, 26 Feb 2025 11:51:04 -0500 From: Tom Lane To: Peter Eisentraut cc: pgsql-committers@lists.postgresql.org Subject: Re: pgsql: Prepare for Python "Limited API" in PL/Python In-reply-to: References: Comments: In-reply-to Peter Eisentraut message dated "Wed, 26 Feb 2025 15:31:43 +0000" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1834445.1740588664.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Wed, 26 Feb 2025 11:51:04 -0500 Message-ID: <1834446.1740588664@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Peter Eisentraut writes: > Prepare for Python "Limited API" in PL/Python Buildfarm's not happy with this at all. It fails here too, with python 3.6.8: Program terminated with signal SIGSEGV, Segmentation fault. #0 PyDict_GetItem (op=3D, key=3D'enter') at /usr/src/debug/python3-3.6.8-69.el8_10.x86_64/Objects/dictobject.c:= 1411 1411 if (!PyDict_Check(op)) (gdb) bt #0 PyDict_GetItem (op=3D, key=3D'enter') at /usr/s= rc/debug/python3-3.6.8-69.el8_10.x86_64/Objects/dictobject.c:1411 #1 0x00007fd48af71196 in _PyType_Lookup (name=3D'enter', type=3D0x2236858= ) at /usr/src/debug/python3-3.6.8-69.el8_10.x86_64/Objects/typeobject.c:29= 66 #2 _PyType_Lookup (name=3D'enter', type=3D0x2236858) at /usr/src/debug/py= thon3-3.6.8-69.el8_10.x86_64/Objects/typeobject.c:2913 #3 _PyObject_GenericGetAttrWithDict (dict=3D0x0, name=3D'enter', obj=3D) at /usr/src/debug/python3-3.6.8-69.el8_10.x86_64/Objects/ob= ject.c:1090 #4 PyObject_GenericGetAttr (name=3D'enter', obj=3D) at /us= r/src/debug/python3-3.6.8-69.el8_10.x86_64/Objects/object.c:1158 #5 PyObject_GetAttr (v=3D, name=3D'enter') at /usr/src/deb= ug/python3-3.6.8-69.el8_10.x86_64/Objects/object.c:928 #6 0x00007fd48afc52f2 in _PyEval_EvalFrameDefault (f=3D, t= hrowflag=3D) at /usr/src/debug/python3-3.6.8-69.el8_10.x86_= 64/Python/ceval.c:2873 #7 0x00007fd48afa1108 in PyEval_EvalFrameEx (throwflag=3D0, f=3DFrame 0x7= fd48a5d6588, for file , line 4, in __plpython_procedure_subtransac= tion_alternative_names_49201 (s=3D)) at /usr/src/debug/python3-3.6.8-69.el8_10.x86_64/Python/ceval.c:752 #8 _PyFunction_FastCall (globals=3D, nargs=3D, args=3D, co=3D) at /usr/src/debug/python= 3-3.6.8-69.el8_10.x86_64/Python/ceval.c:4934 #9 fast_function (func=3D, stack=3D, nargs=3D= , kwnames=3D) at /usr/src/debug/python3-3.6.= 8-69.el8_10.x86_64/Python/ceval.c:4969 #10 0x00007fd48afc4537 in call_function (pp_stack=3D0x7ffe3d639da8, oparg=3D= , kwnames=3D0x0) at /usr/src/debug/python3-3.6.8-69.el8_10.= x86_64/Python/ceval.c:4873 #11 0x00007fd48afc5198 in _PyEval_EvalFrameDefault (f=3D, t= hrowflag=3D) at /usr/src/debug/python3-3.6.8-69.el8_10.x86_= 64/Python/ceval.c:3336 #12 0x00007fd48af210a4 in PyEval_EvalFrameEx (throwflag=3D0, f=3DFrame 0x7= fd48a5b0048, for file , line 1, in ()) at /usr/src/debug/= python3-3.6.8-69.el8_10.x86_64/Python/ceval.c:4167 #13 _PyEval_EvalCodeWithName (_co=3D, globals=3D, locals=3D, args=3D, argcount=3D, kwnames=3D, kwargs=3D, kwcount=3D<= optimized out>, = kwstep=3D, defs=3D, defcount=3D, kwdefs=3D, closure=3D, name=3D, qualname=3D) at /usr/src/debug/python3-3.6.8-69.= el8_10.x86_64/Python/ceval.c:4167 #14 0x00007fd48af22463 in PyEval_EvalCodeEx (closure=3D0x0, kwdefs=3D0x0, = defcount=3D0, defs=3D0x0, kwcount=3D0, kws=3D0x0, argcount=3D0, args=3D0x0= , locals=3D, globals=3D, _co=3D) at /usr/src/debug/python3-3.6.8-69.el8_10.x86_64/Python/ceval.c:4188 #15 PyEval_EvalCode (co=3D, globals=3D, loca= ls=3D) at /usr/src/debug/python3-3.6.8-69.el8_10.x86_64/Pyt= hon/ceval.c:732 #16 0x00007fd48b3773d7 in PLy_procedure_call (kargs=3Dkargs@entry=3D0x7fd4= 8b37eeda "args", vargs=3D, proc=3D, proc=3D<= optimized out>) at plpy_exec.c:1069 #17 0x00007fd48b377816 in PLy_exec_function (fcinfo=3Dfcinfo@entry=3D0x226= f948, proc=3D0x2269130) at plpy_exec.c:102 #18 0x00007fd48b3782c8 in plpython3_call_handler (fcinfo=3D0x226f948) at p= lpy_main.c:244 #19 0x00000000006eec15 in ExecInterpExpr (state=3D0x226f7f0, econtext=3D0x= 226f498, isnull=3D) at execExprInterp.c:912 #20 0x0000000000727e80 in ExecEvalExprSwitchContext (isNull=3D0x7ffe3d63a3= df, econtext=3D0x226f498, state=3D0x226f7f0) at ../../../src/include/execu= tor/executor.h:397 #21 ExecProject (projInfo=3D0x226f7e8) at ../../../src/include/executor/ex= ecutor.h:431 #22 ExecResult (pstate=3D) at nodeResult.c:135 regards, tom lane