History for CrashingZopeWithOracle
??changed:- "John Jarvis":mailto:[email protected] reported to the zope-dev list: 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_menubtn=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.