Обсуждение: BUG #3272: ECPG YE000 error
The following bug has been logged online: Bug reference: 3272 Logged by: Taso Hatzi Email address: taso@aanet.com.au PostgreSQL version: 8.2.4 Operating system: Red Hat Enterprise Linux ES release 4 (Nahant Update 5) Description: ECPG YE000 error Details: The host is a Dell 2950 Dual Intel Xeon with 2GB RAM Built 8.2.4 from postgresql-8.2.4-1PGDG.src.rpm Removed all traces of 7.4.16-1.RHEL4 Everything appeared to go OK. The application is multi-threaded. It bombs with a YE000 error when subjected to any sort of work load. Compiled the application on a Fedora Core release 6 (Zod) box running 8.1.8-1.fc6 and pointed it to the 8.2.4 server and it looks Ok. I'm not sure what debug info to collect. It looks to me like a thread isolation problem. Any pointers on how top proceed gladly received.
Taso Hatzi wrote: > It looks to me like a thread isolation problem. I don't know anything about the RPM packages, but did you use the --enable-thread-safety option wuth configure? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
Heikki Linnakangas wrote: > > I don't know anything about the RPM packages, but did you use the > --enable-thread-safety option wuth configure? > The RPM package enables that option. $ pg_config CONFIGURE = '--build=i686-redhat-linux-gnu' '--host=i686-redhat-linux-gnu' '--target=i686-redhat-linux-gnu' '--program-prefix=''--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec''--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-rpath' '--with-perl' '--with-python' '--with-tcl' '--with-tclconfig=/usr/lib''--with-openssl' '--with-pam' '--with-krb5' '--with-includes=/usr/include' '--with-libraries=/usr/lib' '--enable-nls' '--enable-thread-safety' '--sysconfdir=/etc/sysconfig/pgsql''--datadir=/usr/share/pgsql' '--with-docdir=/usr/share/doc' 'CFLAGS=-O2 -g -pipe -m32 -march=i686 -mtune=pentium4 -I/usr/include/et' 'CPPFLAGS= -I/usr/include/et' 'build_alias=i686-redhat-linux-gnu''host_alias=i686-redhat-linux-gnu' 'target_alias=i686-redhat-linux-gnu'
"Taso Hatzi" <taso@aanet.com.au> writes: > It looks to me like a thread isolation problem. If you have multiple threads accessing the same connection, it's up to *you* to provide interlocking to make sure they don't try to issue concurrent queries; libpq has no internal mutex for that. I believe similar statements hold for ECPG's state. regards, tom lane