Hello Zope users! I have a pretty confusing problem. After several weeks of develpoment we finally kicked out our old (commercial, closed source, low support) CMS and went online with our webpage, now driven by zope. Everything works fine, the performance is great and for us programmers it's just heaven :-) But... The zope server is restarting several times a day (intervalls between 1/2 hour to 6 hours) and I can't find out how or why. We have a developement server here at the office, which is a complete mirror of our live server, and which is used for save developement of new products. This development server behaves well and restarts only if click on "Restart" on the "Control_Panel". But traffic on our dev. server is not existant (our tests only), whereas our live server produces about 12-15 megs of logfiles per day (about 60000 to 70000 requests). The only reason I can imaging is system memory. Our live server only has 512 megs RAM for 266742objects/260megsData.fs. We already ordered another GByte, but they won't arrive until next week. So I tuned down the caching parameters to "Target Size=1100" and "Target max time between accesses=60", with no effect. The server keeps restarting. Then I had a look at "top". It told me that the server never consumed more than 50% of system memory (usually only 20%, cpu load never goes beyond 20%). Sometimes the server restarts at only 10% memory. This is our configuration: Zope-2.5.0 RedHat 7.0 (with unknown modifications by our provider) 512megs RAM (waiting for another Gig) Disc space - enough cron jobs - none manager accounts - Me and my colleague (programmers) only Is this a known bug? Has zope a buildin restart function that is called on certain errors? Has zope a special error log (not Z2.log)? Has anyone the same problem? Thanks in advance for your help! Greetings Sven Rudolph
Sven, Please read http://www.zope.org/Members/mcdonc/Projects/MakeZopeStable and try to answer all of the questions provided on the page. Thanks! - C ----- Original Message ----- From: "Sven Rudolph" <sven@spaghetticode.de> To: <zope@zope.org> Sent: Sunday, February 17, 2002 4:48 PM Subject: [Zope] Zope-2.5.0 randomly restarting?
Hello Zope users!
I have a pretty confusing problem. After several weeks of develpoment we finally kicked out our old (commercial, closed source, low support) CMS and went online with our webpage, now driven by zope. Everything works fine, the performance is great and for us programmers it's just heaven :-) But... The zope server is restarting several times a day (intervalls between 1/2 hour to 6 hours) and I can't find out how or why. We have a developement server here at the office, which is a complete mirror of our live server, and which is used for save developement of new products. This development server behaves well and restarts only if click on "Restart" on the "Control_Panel". But traffic on our dev. server is not existant (our tests only), whereas our live server produces about 12-15 megs of logfiles per day (about 60000 to 70000 requests). The only reason I can imaging is system memory. Our live server only has 512 megs RAM for 266742objects/260megsData.fs. We already ordered another GByte, but they won't arrive until next week. So I tuned down the caching parameters to "Target Size=1100" and "Target max time between accesses=60", with no effect. The server keeps restarting. Then I had a look at "top". It told me that the server never consumed more than 50% of system memory (usually only 20%, cpu load never goes beyond 20%). Sometimes the server restarts at only 10% memory.
This is our configuration: Zope-2.5.0 RedHat 7.0 (with unknown modifications by our provider) 512megs RAM (waiting for another Gig) Disc space - enough cron jobs - none manager accounts - Me and my colleague (programmers) only
Is this a known bug? Has zope a buildin restart function that is called on certain errors? Has zope a special error log (not Z2.log)? Has anyone the same problem?
Thanks in advance for your help!
Greetings
Sven Rudolph
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Hello Chris. Thanks for your quick answer!
Please read http://www.zope.org/Members/mcdonc/Projects/MakeZopeStable and> try to answer all of the questions provided on the page.
Ok, here it comes: - Zope version: 2.5.0 - Python version: 2.1.1 - Operating system: Linux (RedHat 7.0) I only have normal user access and our home directory is running in a chroot environment. - Your installed Zope Products: BTreeFolder and about 20 products of our own. - Your installed Zope database adapter: None. Only ZODB with Data.fs - The results of running Zope with...: As I already mentioned I have only normal user access to the server, so I can restart the server from Control_Panel only. I have to check this on monday. - The results of running Zope in single-threaded mode...: dito As I asked before. Is there some kind of error log for zope? Gretings Sven Rudolph
- Python version: 2.1.1
There are known problems with Python 2.1.1 crashing in certain circumstances. Please try Python 2.1.2.
- Your installed Zope Products: BTreeFolder and about 20 products of our own.
OK. Wow. 20 products. That's a lot of products. Note that products don't run in a "sandbox" so it's equally possible for badly written products to take Zope down as it would be for bugs in Zope to take Zope down.
- Your installed Zope database adapter: None. Only ZODB with Data.fs
OK, good data point.
- The results of running Zope with...: As I already mentioned I have only normal user access to the server, so I can restart the server from Control_Panel only. I have to check this on monday.
OK, if you can, please try to get this environment variable set to see if the problem goes away and let us know.
- The results of running Zope in single-threaded mode...: dito
Ditto for the response. ;-)
As I asked before. Is there some kind of error log for zope?
Yes, it's called the STUPID_LOG_FILE (really). Please set the STUPID_LOG_FILE environment variable to a filename, export the envvar and restart Zope. Debug information will then be written to this log file.
Hello Chris. Thanks again for your quick reply!
- Python version: 2.1.1
There are known problems with Python 2.1.1 crashing in certain circumstances. Please try Python 2.1.2. Zope isn't crashing. The server is restarting as if you would click on "Restart" in the Control_Panel.
- Your installed Zope Products: BTreeFolder and about 20 products of our own.
OK. Wow. 20 products. That's a lot of products. And a lot of work. And no documentation written yet...
Note that products don't run in a "sandbox" so it's equally possible for badly written products to take Zope down as it would be for bugs in Zope to take Zope down. Maybe this is related to another bug I encountered. When I "refresh" one of my products I can't create new instances of it any more. If I try, I get the error message "object of type None is not callable. (I posted this earlier in this list, but never got an answer that solved the problem). When I first startet working with zope in september I used 2.4.0 and had no problems. After switching to 2.4.1 the error appeared and stayed (2.4.2, 2.4.3, 2.5.0). When I take all of our Products and put them into 2.4.0 there is no problem. The traceback always says the error is in my addFunction. Here is an example: My product is named GMSNachricht (it's for publishing news) and the class is called the same. In GMSNachricht.py you find: import lots.of.stuff
class GMSNachricht(GMSBase): """ docstring """ etc. def addGMSNachricht(self,REQUSET,RESPONSE): """ docstring """ handle=GMSNachricht() <- This is the error (?) etc. The traceback says the error is in the line that contains "handle=GMSNachricht()". When I comment out anything from the addFunction (except this line), it still says the error is there. When I comment out anything of the class too, it still says the error is there. Now it comes! If I just change the line to something like handle=sfdhgdshgf(GMSNachricht(qwer()) (in other words - syntactically correct nonsense) and do a refresh, the traceback still says the error is in the line containing "handle=GMSNachricht()"! In other words. The nonsense changes are not recognized! If I restart the server everything works fine again, until the next refresh of GMSNachricht. As I said, this problem doesn't appear in 2.4.0.
As I asked before. Is there some kind of error log for zope?
Yes, it's called the STUPID_LOG_FILE (really). What the ...? Why is it called the STUPID_LOG_FILE? Are you sure it contains valuable Information? ;-)
Please set the STUPID_LOG_FILE environment variable to a filename, export the envvar and restart Zope. Debug information will then be written to this log file. I will do that. Thanks for the tip.
Greetings Sven Rudolph -- Sven Rudolph GermanMedicalServices.de GmbH rudolph@medical-tribune.de, www.medical-tribune.de
Zope isn't crashing. The server is restarting as if you would click on "Restart" in the Control_Panel.
That's a crash. It just happens the ZDaemon (the zope restarter) catches the process and restarts it when it dies. You'll see the errors in the debug log when you get it set up.
Maybe this is related to another bug I encountered. When I "refresh" one of my products I can't create new instances of it any more. If I try, I get
It's almost impossible to tell if this problem is related to the crash problem.
Yes, it's called the STUPID_LOG_FILE (really). What the ...? Why is it called the STUPID_LOG_FILE? Are you sure it contains valuable Information? ;-)
Yes. Please, I'm begging you, dont ask. ;-)
Am 18.02.2002, 01:33 Uhr schrieb Sven Rudolph <sven@spaghetticode.de>:
If I just change the line to something like handle=sfdhgdshgf(GMSNachricht(qwer()) (in other words - syntactically correct nonsense) and do a refresh, the traceback still says the error is in the line containing "handle=GMSNachricht()"! In other words. The nonsense changes are not recognized!
I stumbled across that one once. It turned out that I couldn't get sensible error messages if my __init__.py contained an error or if the factory based type information (which I was using) contained invalid data. After correcting that error messages showed correct tracebacks again. So perhaps your __init__.py contains an error that is only triggered on refresh? Sorry, just a vague guess. Jo. -- Internetmanufaktur Jo Meder ---------------------- Berlin, Germany http://www.meder.de/ ------------------- fon: ++49-30-417 17 63 33 Kollwitzstr. 75 ------------------------ fax: ++49-30-417 17 63 45 10435 Berlin --------------------------- mob: ++49-170- 2 98 89 97 Public GnuPG-Key ---------- http://www.meder.de/keys/jo-pubkey.txt
Maybe this is related to another bug I encountered. When I "refresh" one of my products I can't create new instances of it any more. If I try, I get the error message "object of type None is not callable. (I posted this earlier in this list, but never got an answer that solved the problem).
FWIW there is most definitely a bug somewhere in the interaction between the Refresh product and other products. I have seen this behaviour frequently in the CMF. I don't have any useful tips right now, I'm having to do 'hard' restarts to get around the problem. I hope to investigate it a bit further this week. However, for me at least, this bad refreshing does not cause crashes. seb
participants (4)
-
Chris McDonough -
Jo Meder -
seb bacon -
Sven Rudolph