[Zope] Stability problems using ZOracleDA

Peter Kelly pmk@post.com
Mon, 25 Sep 2000 01:15:43 +1030


Recently I have been having some severe stability problems using
zope and oracle together. Zope has been segfaulting on a regular
basis, usually every 10-15 mintues. When I looked into it a while
back I came to the conclusion it was a problem with the linux version
of oracle (an incompatibility with glibc 2.1), but I have tested
it on solaris now and I am having the same problems.

I have been able to live with it for development (only takes a few
seconds to restart automatically), and assumed it was only a problem
on linux, but for production (which will be on solaris) this is
obviously not an option as the site will be under a much higher load.

The details of my configuration are:

  Redhat 6.2 (intel)
  Oracle 8.1.6
  Python 1.5.2 (compiled from sources --with-threads)
  Zope 2.2.2 (compiled from sources)
  ZOracleDA 2.2.0b1 (compiled from sources, also tried 2.1.0)

  Solaris 8 (intel)
  Oracle 8.1.5
  Python 1.5.2 (compiled from sources --with-threads)
  Zope 2.2.2 (compiled from sources)
  gcc 2.95.2
  ZOracleDA 2.2.0b1 (compiled from sources)

DCOracle Setup file used (tweaked Setup-8.1.5):

-I$(ORACLE_HOME)/network/public -I$(ORACLE_HOME)/plsql/public
ORACLE_L=-laio -lclntsh
Buffer Buffer.c

I suspect that it may be a problem with threads & DCOracle. If I
compile just DCOracle (either version 1.3.0, 1.3.1 or 1.3.2), no
zope, I still have the problems (even just by doing an 'import
ocidb' it segfaults), but if I compile python without threads then
I have no problems (I will need to run zope multithreaded however -
the site will be handing a fair bit of traffic). I have also tried
linking with pthreads instead of solaris's standard threads library
(as has been suggested on this list), but it still segfaulted.

I haven't been able to find a solution on the web or any mailing
lists so far... but I assume there are a lot of other zope users
running zope with oracle who are not experiencing these problems.
Zope has been great so far from a development point of view, but
this issue is turning out to be a showstopper. Any ideas how I can
fix it?

Thanks in advance,

Peter Kelly