The following bug has been logged on the website:
Bug reference: 6578
Logged by: Deadlock in libpq
Email address: rnysmile@yahoo.com
PostgreSQL version: 8.4.11
Operating system: Ubuntu 11.04
Description:=20=20=20=20=20=20=20=20
We wrote a C++ program using libpq to access postgres. it is a heavy load
service, about 100 concurrent postgres access. It works very well for two
years.
This month, we upgrade the libpq5 from 8.4.7 to 8.4.11.(libpq-dev
8.4.11-0ubuntu0.11.04) Our service program become unstable after upgrading.
gdb shows that everything is halt at libpq (100 threads halt at the same
position).
#0 0x00007f0cec7377c4 in __lll_lock_wait () from
/lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007f0cec7325b4 in _L_lock_944 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2 0x00007f0cec7323ca in pthread_mutex_lock () from
/lib/x86_64-linux-gnu/libpthread.so.0
#3 0x00007f0ced10eaa0 in ?? () from /usr/lib/libpq.so.5
#4 0x00007f0cebb31085 in engine_table_select () from
/lib/libcrypto.so.0.9.8
#5 0x00007f0cebb47228 in EVP_CipherInit_ex () from /lib/libcrypto.so.0.9.8
we tried to upgraded the libpq to 9.1.3, it will not deadlock but crash from
time to time.
After search the mailing list, we found someone else have the similar
problem:
http://archives.postgresql.org/pgsql-general/2011-03/msg00895.php=20