BUG #2724: Could not check connection status with "ssl=on"
От | Alexey Zayats |
---|---|
Тема | BUG #2724: Could not check connection status with "ssl=on" |
Дата | |
Msg-id | 200610270741.k9R7f59E031895@wwwmaster.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #2724: Could not check connection status with "ssl=on"
|
Список | pgsql-bugs |
The following bug has been logged online: Bug reference: 2724 Logged by: Alexey Zayats Email address: alexey.zayats@gmail.com PostgreSQL version: 8.1.5 Operating system: SuSE 10.0 Linux 2.6.13 x86-64 Description: Could not check connection status with "ssl=on" Details: I'm wrote a programm using libpq. Postgres(8.1.5) build and configured with ssl(OpenSSL 0.9.7g 11 Apr 2005) support. Os: SuSE Linux 10.0 Kernel: 2.6.13 Arch: x86-64 In case until postgresql backend restarted, all is work fine, but if it happens, i could not get correct connection status, programm recieve SIGPIPE and crush. I've got next backtrace from core file: -------------------------- Program received signal SIGPIPE, Broken pipe. [Switching to Thread 46912549615488 (LWP 28743)] 0x00002aaaad07ae32 in __write_nocancel () from /lib64/tls/libpthread.so.0 (gdb) bt #0 Â 0x00002aaaad07ae32 in __write_nocancel () from /lib64/tls/libpthread.so.0 #1 Â 0x00002aaaad9e2187 in BIO_sock_should_retry () from /usr/lib64/libcrypto.so.0.9.7 #2 Â 0x00002aaaad9e0751 in BIO_write () from /usr/lib64/libcrypto.so.0.9.7 #3 Â 0x00002aaaad82b8a4 in ssl3_change_cipher_state () from /usr/lib64/libssl.so.0.9.7 #4 Â 0x00002aaaad82b9a2 in ssl3_dispatch_alert () from /usr/lib64/libssl.so.0.9.7 #5 Â 0x00002aaaad82a084 in ssl3_shutdown () from /usr/lib64/libssl.so.0.9.7 #6 Â 0x00002aaaaaec4095 in close_SSL () from /usr/local/lib/libpq.so.4 #7 Â 0x00002aaaaaebd408 in pqReadData () from /usr/local/lib/libpq.so.4 #8 Â 0x00002aaaaaebb132 in PQgetResult () from /usr/local/lib/libpq.so.4 #9 Â 0x00002aaaaaebb20e in PQexecFinish () from /usr/local/lib/libpq.so.4 #10 0x00002aaaaabee6b4 in QPSQLResult::reset (this=0x840d10, query=@0x7fffffcc17d0) at qsql_psql.cpp:332 #11 0x00002aaaaad4c014 in QSqlQuery::exec (this=0x7fffffcc17b0, Â query=@0x7fffffcc17d0) at qsqlquery.cpp:355 -- Before any queries send, i'm using isOpen method that looks like: -- bool QPSQLDriver::isOpen() const { Â Â Â Â Â Â Â Â return PQstatus(d->connection) == CONNECTION_OK; } -- if "ssl=on", PQstatus(d->connection) always return CONNECTION_OK, even if connection is closed by postgresql if "ssl=off" in postgresql.conf, all wroks fine. Using sigaction impossible, because i'm wrote on c++ with Qt library as a base. Qt library itself used libpq as interface to postgresql. Is there a bug on libpq?
В списке pgsql-bugs по дате отправления: