[Zope] Zope unusable on my Virtual Private Server
Maurits van Rees
m.van.rees at zestsoftware.nl
Mon Apr 23 17:36:35 EDT 2007
Hi,
I recently got a virtual private server on server4you.nl. All looked
fine, until I started trying to get Zope to run on it.
It is a Debian Sarge server. I want Zope 2.9 on it, but even the zope
2.7 that this Debian version has official Debian packages for is
giving problems. After starting up and trying to access it (from the
same box with lynx):
2007-04-23T22:37:58 ERROR(200) ZServer Server Error: thread.error, can't start new thread
: file: /usr/lib/zope2.7/lib/python/ZServer/PubCore/ZRendezvous.py line: 44
Zope is started as root here, with effective-user zope in the
etc/zope.conf.
Setting the stack size for root helps
# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
# ulimit -s unlimited
Then when I startup Zope it seems I can actually browse the site okay
with lynx. So there might be possibilities after all.
Trying with a Zope 2.9.4 or 2.9.7 (compiled with python 2.4.1) gives
me no luck. Even while starting it with root and using that unlimited
stack size I get thread errors like above or others errors like below:
File "/opt/zope/zope2.9.7/lib/python/AccessControl/Implementation.py", line 98, in ?
setImplementation("C")
File "/opt/zope/zope2.9.7/lib/python/AccessControl/Implementation.py", line 51, in setImplementation
from AccessControl import ImplC as impl
File "/opt/zope/zope2.9.7/lib/python/AccessControl/ImplC.py", line 30, in ?
from ImplPython import RestrictedDTML, SecurityManager, ZopeSecurityPolicy
ImportError: No module named ImplPython
[that module really is there]
or:
File "/usr/lib/python2.4/logging/__init__.py", line 29, in ?
import sys, os, types, time, string, cStringIO
ImportError: /usr/lib/python2.4/lib-dynload/time.so: failed to map segment from shared object: Cannot allocate memory
And when it does run, a 'bin/zopectl stop' sometimes is enough to
throw those errors again.
The most basic commands can cause memory allocation errors when zope
is running:
# free
bash: fork: Cannot allocate memory
When nothing is running, I get the idea that there should be more than
enough memory to start zope nicely.
$ free
total used free shared buffers cached
Mem: 262144 83952 178192 0 0 0
-/+ buffers/cache: 83952 178192
Swap: 0 0 0
And with one zope running, about 117 MB is used, so there should be
plenty left. But apparently not. Or some other part of the OS is at
its max.
doc/PLATFORMS in the zope tarball has some remarks about thread
errors, advising to configure python with a higher THREAD_STACK_SIZE.
But that is for BSD or AIX. My OS is Debian Linux, but maybe the OS
of the computer that hosts this virtual server runs BSD or AIX. Could
that help then?
Compiling python on such a system is difficult of course. With the
normal gcc it is impossible. With distcc, using my home computer as
the compile machin, I came further, but it failed somewhere. The
problem there might be that my home computer runs a more recent
Ubuntu, not Debian Sarge.
Well, in the end I am left with the feeling that this server might not
be good enough for Zope. I have not yet asked the sys admins for
help, but I do not really know what to ask them, except for my money
back.
Is there anything else I can try?
--
Maurits van Rees | http://maurits.vanrees.org/ [NL]
Work | http://zestsoftware.nl/
"Do not worry about your difficulties in computers,
I can assure you mine are still greater."
More information about the Zope
mailing list