problem with libpq7.3.3/encrypted
I believe we have a problem with libpq 7.3.3 with encryption. I
currently don't have a 7.3.3/ssl system running, but this has been
reported by Christian Ruediger Bahls, who traced it, and Dave Page.
When running pgAdmin3 over a ssl encrypted connection, it will hang,
even for very small queries with a single result. As soon as
postgresql.conf ssl=false is set, or a 7.3.2 non-encrypting libpq is
used, everything's working fine. There's a complete gdb dump at
http://dmv.math.uni-rostock.de/downloads/gdb_trace.txt
The query string is truncated in that log, it should read like this:
SELECT rw.oid, rw.ev_class, rulename, relname, nspname, description, is_instead, ev_type, ev_action, ev_qual
pg_get_ruledef(rw.oid) AS definition
FROM pg_rewrite rw
JOIN pg_class cl ON cl.oid=rw.ev_class
JOIN pg_namespace nsp ON nsp.oid=cl.relnamespace
LEFT OUTER JOIN pg_description des ON des.objoid=rw.oid
WHERE ev_class = 12345
ORDER BY rulename
Regards,
Andreas
Christian Ruediger Bahls wrote:
it could be because of the encryption layer
that postgresql uses ..
i think this is because i use the encrypted layer
an uncomplete stacktrace i have from one
of these runs:
#0 0x407659c4 in read () from /lib/libc.so.6
#1 0x4066db50 in __JCR_LIST__ () from /lib/libpthread.so.0
#2 0x40668f53 in read () from /lib/libpthread.so.0
#3 0x400c31cc in BIO_new_socket () from /usr/lib/libcrypto.so.0.9.7
#4 0x0000000a in ?? ()
#5 0x08aec778 in ?? ()
#6 0x00000005 in ?? ()
#7 0x400c31b6 in BIO_new_socket () from /usr/lib/libcrypto.so.0.9.7
#8 0x4013bc60 in KRB5_AUTHENT_it () from /usr/lib/libcrypto.so.0.9.7
#9 0x08ac3e48 in ?? ()but still i guess i cant trust these traces
as i got stuff like that as well:
#0 0x40667a71 in __errno_location () from /lib/libpthread.so.0
#1 0x40032430 in ssl3_read () from /usr/lib/libssl.so.0.9.7
#2 0x4004c130 in ssl3_undef_enc_method () from /usr/lib/libssl.so.0.9.7
#3 0xffffffff in ?? ()
#4 0x08ad6b80 in ?? ()
#5 0xbfffee58 in ?? ()
#6 0x4004c130 in ssl3_undef_enc_method () from /usr/lib/libssl.so.0.9.7
#7 0x08b77e38 in ?? ()
#8 0xbfffee18 in ?? ()
#9 0x4003b7ea in SSL_read () from /usr/lib/libssl.so.0.9.7
#10 0x08ac0ed8 in ?? ()
#11 0x08b814f6 in ?? ()
#12 0x00006942 in ?? ()
#13 0x4003b795 in SSL_read () from /usr/lib/libssl.so.0.9.7
#14 0x40153860 in pg_enc2name_tbl () from /usr/lib/libpq.so.3
#15 0xffffffff in ?? ()
#16 0x08ad6b80 in ?? ()
#17 0x40717438 in realloc () from /lib/libc.so.6
And Dave wrote:
Interestingly, I've just tried this on Linux, and when viewing
pg_description, the empty edit grid appears with 'Refreshing data,
please wait...' in the task bar and then hangs.The pg console shows:
LOG: SSL SYSCALL error: EOF detected
LOG: pq_recvbuf: Unexpected EOF on client connection
Regards,
Andreas
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
This problem is happening with libpq 7.4 too.
Show quoted text
I believe we have a problem with libpq 7.3.3 with encryption. I
currently don't have a 7.3.3/ssl system running, but this has been
reported by Christian Ruediger Bahls, who traced it, and Dave Page.When running pgAdmin3 over a ssl encrypted connection, it will hang,
even for very small queries with a single result. As soon as
postgresql.conf ssl=false is set, or a 7.3.2 non-encrypting libpq is
used, everything's working fine. There's a complete gdb dump athttp://dmv.math.uni-rostock.de/downloads/gdb_trace.txt
The query string is truncated in that log, it should read like this:
SELECT rw.oid, rw.ev_class, rulename, relname, nspname, description,
is_instead, ev_type, ev_action, ev_qual
pg_get_ruledef(rw.oid) AS definition
FROM pg_rewrite rw
JOIN pg_class cl ON cl.oid=rw.ev_class
JOIN pg_namespace nsp ON nsp.oid=cl.relnamespace
LEFT OUTER JOIN pg_description des ON des.objoid=rw.oid
WHERE ev_class = 12345
ORDER BY rulenameRegards,
AndreasChristian Ruediger Bahls wrote:
it could be because of the encryption layer
that postgresql uses .. i think this is because i use the encrypted
layer
an uncomplete stacktrace i have from one
of these runs:
#0 0x407659c4 in read () from /lib/libc.so.6
#1 0x4066db50 in __JCR_LIST__ () from /lib/libpthread.so.0
#2 0x40668f53 in read () from /lib/libpthread.so.0
#3 0x400c31cc in BIO_new_socket () from /usr/lib/libcrypto.so.0.9.7
#4 0x0000000a in ?? ()
#5 0x08aec778 in ?? ()
#6 0x00000005 in ?? ()
#7 0x400c31b6 in BIO_new_socket () from /usr/lib/libcrypto.so.0.9.7
#8 0x4013bc60 in KRB5_AUTHENT_it () from /usr/lib/libcrypto.so.0.9.7
#9 0x08ac3e48 in ?? ()but still i guess i cant trust these traces
as i got stuff like that as well:
#0 0x40667a71 in __errno_location () from /lib/libpthread.so.0
#1 0x40032430 in ssl3_read () from /usr/lib/libssl.so.0.9.7
#2 0x4004c130 in ssl3_undef_enc_method () from /usr/lib/libssl.so.0.9.7
#3 0xffffffff in ?? ()
#4 0x08ad6b80 in ?? ()
#5 0xbfffee58 in ?? ()
#6 0x4004c130 in ssl3_undef_enc_method () from /usr/lib/libssl.so.0.9.7
#7 0x08b77e38 in ?? ()
#8 0xbfffee18 in ?? ()
#9 0x4003b7ea in SSL_read () from /usr/lib/libssl.so.0.9.7
#10 0x08ac0ed8 in ?? ()
#11 0x08b814f6 in ?? ()
#12 0x00006942 in ?? ()
#13 0x4003b795 in SSL_read () from /usr/lib/libssl.so.0.9.7
#14 0x40153860 in pg_enc2name_tbl () from /usr/lib/libpq.so.3
#15 0xffffffff in ?? ()
#16 0x08ad6b80 in ?? ()
#17 0x40717438 in realloc () from /lib/libc.so.6And Dave wrote:
Interestingly, I've just tried this on Linux, and when viewing
pg_description, the empty edit grid appears with 'Refreshing data,
please wait...' in the task bar and then hangs.
The pg console shows:LOG: SSL SYSCALL error: EOF detected
LOG: pq_recvbuf: Unexpected EOF on client connectionRegards,
Andreas---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster---------------------------(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
Andreas Pflug <pgadmin@pse-consulting.de> writes:
I believe we have a problem with libpq 7.3.3 with encryption. I
currently don't have a 7.3.3/ssl system running, but this has been
reported by Christian Ruediger Bahls, who traced it, and Dave Page.
When running pgAdmin3 over a ssl encrypted connection, it will hang,
even for very small queries with a single result.
I have identified some problems in EOF detection in 7.3.3-and-up with
SSL transport. The behavior I was able to reproduce was (a) incorrect
report of lost connection, when it was only a matter of no data yet,
and (b) bogus error reporting when the connection actually is lost.
I am not sure this explains your problem, but please try the
just-applied patches and see if it helps.
regards, tom lane
Andreas Pflug <pgadmin@pse-consulting.de> writes:
I believe we have a problem with libpq 7.3.3 with encryption. I
currently don't have a 7.3.3/ssl system running, but this has been
reported by Christian Ruediger Bahls, who traced it, and Dave Page.
This problem is happening with libpq 7.4 too.
Are you sure it happens with 7.4? I finally saw a reproducible hang in
7.3.4, which was easily corrected by making the code look more like 7.4.
Please also try 7.3 branch CVS tip to see if it resolves your problem.
regards, tom lane