On Fri, 2002-03-15 at 08:19, Martijn Jacobs wrote:
Hello Leo, Matt, Brian,
I'm on it. Will send results when they're available. If anyone wants to talk to me during the period, I'll be on IRC.
If you need any assistance for anything, I'm at your service.... Which channel/server are you on IRC?
The official unofficial Zope place on irc is #zope at irc.openprojects.net. Lots of cool and very knowledgeable people hang out there. I'll be there today while I apply Matt's incref patches and run Zope I also have a very demanding client who goes bezerk every time the site is down, so I recomend you do the following, if you want to help with debugging (this assumes you run Zope behind a proxy server such as apache or squid): * Install ZEO on your current Zope and configure both the ZEO Client and Server on the same machine serving your site. Only the ZEO Client should get the segfaults and it restarts much faster (less than 10 secs, usually) than in standalone mode. * Open a source Zope package in another directory. Open a Python source package next to it. Configure Python to install it's files inside this Zope tree (./configure --prefix=/path/to/Zope-src). Apply Matt's patches, make and make install. Install ZEO in this instance but only configure the ZEO Client, making it listen in a different port from the other Zope. Copy over all the external methods and extra products, and make it access the other instance ZEO Server. Don't forget to REDIRECT STDERR TO A FILE (the best way is to redirect stderr to stdout and append stdout to a file). Start it and check that it's working as expected. * Keep two configuration files of your frontend proxy around: one pointing the site to the original Zope and another pointing the site to the instrumented Zope. When you want to test the crashes, switch the conf. files around and reload the proxy. * Report everything you find in Zope stderr. * If you want to increase the perceived stability of your site, put the two following lines somewhere in the original Zope z2.py: import gc gc.disable() It should stop crashing, but it'll start leaking instead. If the leak isn't so severe that it allows you to restart only once a day, in the period of least traffic, then leave it that way. Having ZEO Client will ensure you have the least amount of downtime possible in this restart. -- Ideas don't stay in some minds very long because they don't like solitary confinement.