I was looking into supporting pg14 pipeline mode, which I think will rely on
the asynchronous processing mode new in pygres 5.2.

However this is crashing

gdb --args python3.6 -c "import pg; db=pg.DB('host=/tmp dbname=postgres', 
nowait=True); print('nonblocking',db.is_non_blocking())"

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7a19c16 in vgetargs1 () from /lib64/libpython3.6m.so.1.0
(gdb) bt
#0  0x00007ffff7a19c16 in vgetargs1 () from /lib64/libpython3.6m.so.1.0
#1  0x00007ffff7a1bfc9 in _PyArg_ParseTuple_SizeT () from 
/lib64/libpython3.6m.so.1.0
#2  0x00007ffff01a837c in conn_is_non_blocking (self=0x7ffff7e01030, 
args=<optimized out>) at pgconn.c:670
#3  0x00007ffff799991a in _PyCFunction_FastCallDict () from 
/lib64/libpython3.6m.so.1.0
#4  0x00007ffff7a0514f in call_function () from /lib64/libpython3.6m.so.1.0
#5  0x00007ffff79f9a17 in _PyEval_EvalFrameDefault () from 
/lib64/libpython3.6m.so.1.0
#6  0x00007ffff7a055ed in PyEval_EvalCodeEx () from /lib64/libpython3.6m.so.1.0
#7  0x00007ffff7a0610b in PyEval_EvalCode () from /lib64/libpython3.6m.so.1.0
#8  0x00007ffff7a8e53e in run_mod () from /lib64/libpython3.6m.so.1.0
#9  0x00007ffff7a8ebc2 in PyRun_StringFlags () from /lib64/libpython3.6m.so.1.0
#10 0x00007ffff793a8a9 in PyRun_SimpleStringFlags () from 
/lib64/libpython3.6m.so.1.0
#11 0x00007ffff7a948aa in Py_Main () from /lib64/libpython3.6m.so.1.0
#12 0x0000000000400ab9 in main ()

It looks like the PyArg_ParseTuple() can/should just be removed from the NOARGS
case, including poll().

-- 
Justin
_______________________________________________
PyGreSQL mailing list
PyGreSQL@Vex.Net
https://mail.vex.net/mailman/listinfo/pygresql

Reply via email to