R: R: R: R: BUG #6342: libpq blocks forever in "poll" function

From: "Andrea Grassi" <andreagrassi(at)sogeasoft(dot)com>
To: "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <harrywr2(at)comcast(dot)net>, "'Craig Ringer'" <ringerc(at)ringerc(dot)id(dot)au>, "'Pg Bugs'" <pgsql-bugs(at)postgresql(dot)org>, "'Alvaro Herrera'" <alvherre(at)commandprompt(dot)com>
Subject: R: R: R: R: BUG #6342: libpq blocks forever in "poll" function
Date: 2011-12-20 17:28:31
Message-ID: 002301ccbf3c$cc34b110$649e1330$@com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

This is the server side stack kept by gdb:

(gdb) bt full
#0 0x00002b6488588ae5 in recv () from /lib64/libc.so.6
No symbol table info available.
#1 0x0000000000550cd2 in secure_read ()
No symbol table info available.
#2 0x00000000005563a4 in pq_recvbuf ()
No symbol table info available.
#3 0x00000000005567a7 in pq_getbyte ()
No symbol table info available.
#4 0x00000000005d33e6 in PostgresMain ()
No symbol table info available.
#5 0x00000000005a9708 in ServerLoop ()
No symbol table info available.
#6 0x00000000005aa2b7 in PostmasterMain ()
No symbol table info available.
#7 0x00000000005580be in main ()
No symbol table info available.

The netstat command on client and server connection has this output:
The first line should be the server, the second the client.

Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 127.0.0.1:5432 127.0.0.1:53129
ESTABLISHED -
tcp 48 0 127.0.0.1:53129 127.0.0.1:5432
ESTABLISHED 29802/g_mrprun.e

Regards, Andrea

-----Messaggio originale-----
Da: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
Inviato: martedì 20 dicembre 2011 17.38
A: Andrea Grassi
Cc: harrywr2(at)comcast(dot)net; 'Craig Ringer'; 'Pg Bugs'; 'Alvaro Herrera'
Oggetto: Re: R: R: R: [BUGS] BUG #6342: libpq blocks forever in "poll"
function

"Andrea Grassi" <andreagrassi(at)sogeasoft(dot)com> writes:
> #0 0xffffe410 in __kernel_vsyscall ()
> No symbol table info available.
> #1 0xf76539cb in poll () from /lib/libc.so..
> #2 0xf770d39a in pqSocketCheck () from /home/pg/pgsql/lib-32/libpq.so.5
> #3 0xf770d49d in pqWaitTimed () from /home/pg/pgsql/lib-32/libpq.so.5
> #4 0xf770d513 in pqWait () from /home/pg/pgsql/lib-32/libpq.so.5
> #5 0xf770c6d6 in PQgetResult () from /home/pg/pgsql/lib-32/libpq.so.5
> #6 0xf770c89c in PQexecFinish () from /home/pg/pgsql/lib-32/libpq.so.5

What about a stack trace from the connected server process? libpq
clearly thinks it's waiting for a message from the server, but I wonder
what the server thinks. Also, what connection status does netstat
show on each side?

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2011-12-20 17:42:26 Re: R: R: R: R: BUG #6342: libpq blocks forever in "poll" function
Previous Message Tom Lane 2011-12-20 16:38:23 Re: R: R: R: BUG #6342: libpq blocks forever in "poll" function