If you're on BSD, this is likely a thread stack space issue. I can't find detailed instructions on how to make it better, but by default FreeBSD (as well as apparently Mac OS X) has a stack space of 64K, which is too small for many heavily recursive applications. I'd search the maillists for things like "stack size" "stack space", "bsd stack" etc. ----- Original Message ----- From: "Charlie Reiman" <creiman@kefta.com> To: "Terry Hancock" <hancock@anansispaceworks.com>; <zope@zope.org> Sent: Friday, July 12, 2002 12:53 PM Subject: RE: [Zope] Unexplained restart on add
With all due respect, these machines don't sound nearly identical at all. Having said that, I can provide a little help.
The mysterious restarting is from the -Z option in the start script. Disable the debugging option (-D) and enable the watchdog (-Z watchdog.pid) on your development server. You will now have a watchdog zope monitoring and restarting the actual working zope (when it dies, of course). Check the source in z2.py for all the startup options.
My suspicion is that you need to look into permissions. Your product might be doing something that it can't do when run as nobody.
If you are completely lost, set aside a huge hunk of disk space and try it running under truss. That should tell you what system call, if any, croaked your system. You will probably need to run under -D, no -Z, to keep zope under one process. And, of course, you won't be able to use the startup script. And, of couse, I'm assuming you have truss at your disposal.
Good luck. Hopefully someone else will have better advice.
Charlie Reiman
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Terry Hancock Sent: Thursday, July 11, 2002 5:56 PM To: zope@zope.org Subject: [Zope] Unexplained restart on add
Hi All,
By design, I have my development server and production server running the same version of Python and Zope.
However, when I tried to install my newly developed product on the production server, I ran into problems, despite the fact that I have practiced this several times now on the development server which you would think would be pretty much the same.
The problem is that, although the product shows up in the product control panel okay, attempting to add the main object from the product into a folder causes the server to restart (some of the lesser objects defined by my product will add without problems).
To make matters worse, it does this without any kind of explanation: no traceback, no log messages (other than the normal shutdown and restart messages -- which proves it *is* logging events). The browser just reports a "refused" error message and visiting the control panel shows a short time since the last restart, indicating that it restarted. The events log shows the regular shutdown and restart events -- exactly as if I had clicked on the restart button in the control panel. It's really pretty infuriating!
Also, frankly I don't know how they get it to restart on failures, anyway. My development server doesn't do that -- I occasionally get hangs or crashes, but never restarts. Obviously that would be a nice thing to be able to do in a production setting, but I don't understand how the magic works.
There are, of course, lots of little differences: * I'm running Debian Linux and they are running FreeBSD (I think), though both are Intel architecture and the packages are installed from source. (I'm not using the Debian Zope package, but one downloaded from www.zope.org).
* I run Zope as a special user, while they have it starting as "root" (which means it should run as "nobody" IIRC).
* I use the default file-storage, whereas they run ZEO to separate the storage process (I think it still uses file-storage, but from ZEO). They claim this is faster even though the site isn't replicated.
* There are some products in their Zope install that aren't in mine -- a hot fix, and some other, apparently unrelated things.
So -- any ideas about what could cause this other Zope instance to restart silently without generating any error messages? Bear in mind that it added without incident on another machine running the same version of Python and Zope -- it has to be something specific to this other Zope setup. A general problem with my product would be expected to fail on both machines.
The only time I saw something at all similar to this was a crash (on my development server) which occured because a file referenced in a DTMLFile() method didn't exist. But that at least reported an IOError in the log file, which this isn't doing.
I'm aware of course, that with such a new product, this is most likely something wrong in my product -- just something that only shows up on certain configurations of Zope. What I'm looking for is some way to get more error reporting out of Zope so I can figure out what's causing the problem.
Thanks, Terry
-- ------------------------------------------------------ Terry Hancock hancock@anansispaceworks.com Anansi Spaceworks http://www.anansispaceworks.com P.O. Box 60583 Pasadena, CA 91116-6583 ------------------------------------------------------
_______________________________________________ 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 )
_______________________________________________ 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 )