oldish libpq bug still in RC2
It seems that this bug is still lurking in libpq:
http://search.postgresql.org/pgsql-hackers/2004-09/msg00703.php
Is anybody working on it, or should I try something myself, perhaps just
replacing the lone recv() with pqsecure_read() ?
--
Hannu Krosing <hannu@tm.ee>
Hannu Krosing <hannu@tm.ee> writes:
It seems that this bug is still lurking in libpq:
http://search.postgresql.org/pgsql-hackers/2004-09/msg00703.php
Is anybody working on it, or should I try something myself, perhaps just
replacing the lone recv() with pqsecure_read() ?
Go for it. The difficulty I think is testing that the failure path
actually does the right thing. Do you have the ability to provoke
the failure on demand?
regards, tom lane
This item still seems open. Is it a TODO?
---------------------------------------------------------------------------
Hannu Krosing wrote:
It seems that this bug is still lurking in libpq:
http://search.postgresql.org/pgsql-hackers/2004-09/msg00703.php
Is anybody working on it, or should I try something myself, perhaps just
replacing the lone recv() with pqsecure_read() ?--
Hannu Krosing <hannu@tm.ee>---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Ühel kenal päeval (esmaspäev, 3. jaanuar 2005, 22:29-0500), kirjutas
Bruce Momjian:
This item still seems open. Is it a TODO?
Probably. It bit me quite badly when it was discovered.
I'm hoping to get something done&tested by tomorrow evenning the latest.
--
Hannu Krosing <hannu@tm.ee>
Ühel kenal päeval (kolmapäev, 22. detsember 2004, 11:34-0500), kirjutas
Tom Lane:
Hannu Krosing <hannu@tm.ee> writes:
It seems that this bug is still lurking in libpq:
http://search.postgresql.org/pgsql-hackers/2004-09/msg00703.phpIs anybody working on it, or should I try something myself, perhaps just
replacing the lone recv() with pqsecure_read() ?Go for it. The difficulty I think is testing that the failure path
actually does the right thing. Do you have the ability to provoke
the failure on demand?
the easiest way to provoke it is running the following code in a python
interpreter
---8<----8<----8<----8<----8<----8<--
import socket
HOST = ''
PORT = 5555
def close_on_connect_server():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
conn.close()
close_on_connect_server()
---8<----8<----8<----8<----8<----8<--
and then connect to it with psql
$ psql -h 127.0.0.1 -p 5555 anydb
this causes the python function to terminate and psql will start using
all available CPU in tight recv() loop.
I'm not sure I will get around to fixing it very soon , though I hoped I
can.
--
Hannu Krosing <hannu@tm.ee>
Hannu Krosing <hannu@tm.ee> writes:
Tom Lane:
Go for it. The difficulty I think is testing that the failure path
actually does the right thing. Do you have the ability to provoke
the failure on demand?
the easiest way to provoke it is running the following code in a python
interpreter
Ah, of course. Thanks for the test scaffold. I have checked and
committed a fix.
regards, tom lane