From: Billy G. A. <bil...@mu...> - 2004-08-31 04:44:08
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Jason Ish wrote: | I'm running into problems using pyPgSQL DB-API interface on Solaris 9 | (with up to date patches) from a thread. I get the following | exception on a fetchall(): | | Exception in thread Thread-1: | Traceback (most recent call last): | File | "/export/home/jason/awsrc/scooby/othersrc/python/../fakeroot/lib/python2.3/threading.py", | line 436, in __bootstrap | self.run() | File | "/export/home/jason/awsrc/scooby/othersrc/python/../fakeroot/lib/python2.3/threading.py", | line 416, in run | self.__target(*self.__args, **self.__kwargs) | File "playpen/test_largequery.pl", line 40, in the_thread | res = c.fetchall() | File | "/export/home/jason/awsrc/scooby/othersrc/fakeroot/lib/python2.3/site-packages/pyPgSQL/PgSQL.py", | line 3267, in fetchall | self.res = self.conn.conn.query('FETCH ALL FROM "%s"' % self.name) | OperationalError: could not receive data from server: Error 0 | | By using fetchone() I can usually get a few items but end up with a | similar traceback. | | pyPgSQL is built against Python 2.3.4 and PostgreSQL 7.3.4. I'm not | really sure if its a problem in pyPgSQL, libpq or in Python threads | support on Solaris but thought I'd start hunting here first. | | The same code works fine in Linux, FreeBSD and OpenBSD. | | Any ideas? I think my next course of action is to try and reproduce a | similar failure with C/libpq. | | Thanks, | Jason My first guess is that you are using the same connection in multiple threads, which is dangerous as connections are not thread safe objects. This can cause the symptoms you are seeing. Make sure that each thread has it's own connection object. - -- ____ | Billy G. Allie | Domain....: Bil...@mu... | /| | 7436 Hartwell | MSN.......: B_G...@em... |-/-|----- | Dearborn, MI 48126| |/ |LLIE | (313) 582-1540 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFBNAISnmIkMXoVVdURAgMJAKCqql/cZ2/xDkruaLrmJlLD8c79FACfXu86 QhGI4WJB45d7BCtnuP3+TbA= =UI+c -----END PGP SIGNATURE----- |