[Zope-dev] Zope instability problem

TFE WSD JARVIS JOHN jarvis.sd082@ex.tel.co.jp
Thu, 20 Apr 2000 21:10:11 +0900


Hi all,
  I've been having severe problems with Zope stability lately.
  I wanted to provide a more detailed report, but I can't seem to find
out what Zope is doing when it crashes--it seems completely
random. I'd file a bug report, but I'm not sure exactly what to call a
bug here or if there really is a bug and not just a bad setup on my
part. 
  Well, here goes:

-- Zope drops connections to Oracle DB

  Based on what I saw with Zope 1, I thought that DB connections were
persistent. Since moving to Zope 2, I've noticed that quite often the
DB connections are lost. After watching the v$session table for a
while, I noticed that when running a number of queries, Zope opens a
number of connections equal to the number of Zope threads. When the
traffic stops for a time (not long), these connections all
disappear. Is this normal?
  Often it seems that Zope can't reopen the connection and crashes or
gives an error: "xxxx not connected to a database."
  I thought maybe it was a setting on the DB side, but idle time, etc. 
is set for infinity for the Zope users. Also, this happens quite
frequently under heavy use.

-- Zope crashes when using the [Open/Close Database Connection] button.

  Related to the above? Or is the above related to this?
  Most often crashes after editing the connection properties or
getting the "xxxx not connected to a database." error, noticing that
the connection is marked as "Not Connected", and then clicking "Open
Database Connection".

-- Zope crashes after heavy continued useage

  Feeling adventurous, I wrote a script that uses ZClient to request a
query report page using random id's as search parameters. The script
looks something like this:

--------begin script

from ZPublisher import Client
from time import time, ctime
from random import random

i = 0     # number or passes
while 1:
    i = i + 1
    id = int(random()*1757) + 20000000
    print "[" + ctime(time()) + "]", "Pass:", i, "No:", id
    Client.call('http://appserver:8080/action/list_mon_detail?'
                'call_no='+id, 'anonymous', '')

---------end script
  
  With Zope set for four threads and five instances of the script
running on a different machine, Zope will silently crash within a half
hour. ZDaemon restarts the process if it can, but no errors are
reported (even in debug mode). I've also noticed that memory usage
increases constantly until the crash. I still have gobs left, though.
  I've noticed no difference in running through Apache/PCGI or Medusa.
  A typical traceback looks something like this:

----------begin traceback

Traceback (innermost last):
  File "C:\PROGRA~2\hammers\HAMMER~1.PY", line 21, in ?
 
Client.call('http://myserver:8080/action/list_mon_detail?call_no=%i&lng_id=0
&dsp_menubtn=on'%call_no, 'anonymous','')
  File "C:\PROGRA~1\GEORGE\lib\python\ZPublisher\Client.py", line 344, in
call
    return apply(Function(url,username=username, password=password), (), kw)
  File "C:\PROGRA~1\GEORGE\lib\python\ZPublisher\Client.py", line 225, in
__call__
    self.handleError(query, ec, em, headers, response)
  File "C:\PROGRA~1\GEORGE\lib\python\ZPublisher\Client.py", line 240, in
handleError
    raise t, RemoteException(t,v,f,l,self.url,query,ec,em,response)
bci.ServerError: -1 (File: Unknown Line: Unknown)
-1  for
http://myserver:8080/action/list_mon_detail?call_no=20000695&lng_id=0&dsp_me
nubtn=on

----------end traceback

  My system:

    Zope test server:
      OS: Linux 2.2.14, glibc 2.0
      CPU: Celeron 466MHz
      Memory: 128MB
      Disk Space: Gobs and Gobs
      Zope Version: 2.1.6 (built from source dist.)
      ZOracleDA Version: 2.2 (problem exists w/2.1, too)
      Connection Method: PCGI, Medusa
      Oracle Client: Net8 (from 8.0.5 dist.)
      Lan: 100Mbps
    
    Zope client:
      OS: Windows NT
      Client: ZPublisher (from binary dist)
      Browser: Netscape 4.61 (others use IE4.0)
      Lan: 10Mbps

    Oracle server:
      OS: HPUX
      Hardware: Bigger than my refrigerator * 2
      Oracle Version: 7.3.1
      Lan: 100Mbps (on same segment as Zope server)

  I really wish I had more details. I'll send an update if I find
anything.

  Thank You,
  John Jarvis