Installed Plone 4.2.3 as Stand-Alone Zope Instance via unified installer on a machine running CentOS release 5.9. That machine's local IP address is 192.168.1.10. Only change I made in buildout.cfg is:
http-address = 192.168.1.10:8080
then successfully ran ./bin/buildout
from /usr/local/Plone-4.2.3/zinstance/
.
No other process listens on port 8080. Started Plone successfully:
# pwd; date; /usr/bin/sudo -u plone /usr/local/Plone-4.2.3/zinstance/bin/plonectl start
/usr/local/Plone-4.2.3
Sun Feb 24 14:12:06 EST 2013
instance: . .
daemon process started, pid=2687
Problem is ZServer stops and another starts approximately every 25 to 30 seconds, and so is unuseable. .../zinstance/var/log/instance.log shows:
------
2013-02-24T14:12:31 INFO ZServer HTTP server started at Sun Feb 24 14:12:31 2013
Hostname: xxxxx
Port: 8080
------
2013-02-24T14:13:11 INFO ZServer HTTP server started at Sun Feb 24 14:13:11 2013
Hostname: xxxxx
Port: 8080
------
2013-02-24T14:13:39 INFO ZServer HTTP server started at Sun Feb 24 14:13:39 2013
Hostname: xxxxx
Port: 8080
------
2013-02-24T14:14:09 INFO ZServer HTTP server started at Sun Feb 24 14:14:09 2013
Hostname: xxxxx
Port: 8080
and more such entries are continuously added to the log file.
In .../zinstance/parts/instance/etc/zope.conf
I then changed eventlog level
from INFO to ALL and set "zserver-threads 1
" then stopped and started Plone.
Again ZServer dies after 25 to 30 seconds, another ZServer starts, it dies after 25-30 seconds, etc. All entries in instance.log are DEBUG level. For a given ZServer the last log entry is dated approx. 19 seconds after its "INFO ZServer HTTP server started" entry. Approx. 8 seconds later the next entry is another "INFO ZServer HTTP server started".
Question: why the heck is ZServer process dying?
Ran server if fg mode and last few errors before ZServer died were:
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/usr/local/Plone-4.2.3/zinstance/parts/instance/etc/site.zcml", line 16.2-16.23
ZopeXMLConfigurationError: File "/usr/local/Plone-4.2.3/buildout-cache/eggs/Products.CMFPlone-4.2.3-py2.7.egg/Products/CMFPlone/configure.zcml", line 102.4-106.10
ZopeXMLConfigurationError: File "/usr/local/Plone-4.2.3/buildout-cache/eggs/plone.app.theming-1.0.4-py2.7.egg/plone/app/theming/configure.zcml", line 19.4-19.34
ZopeXMLConfigurationError: File "/usr/local/Plone-4.2.3/buildout-cache/eggs/plone.app.theming-1.0.4-py2.7.egg/plone/app/theming/browser/configure.zcml", line 12.4-18.10
ImportError: /usr/local/Plone-4.2.3/buildout-cache/eggs/lxml-2.3.4-py2.7-linux-i686.egg/lxml/etree.so: undefined symbol: clock_gettime
The clock_gettime error is apparently related to dev plone org tickets:
13426 (lxml error: undefined symbol: clock_gettime with Plone-4.2 ...
and
13409 (Problem installing Plone 4.2.3 with UnifiedInstaller) – Plone ...
Checked /usr/local/Plone-4.2.3/buildout-cache/eggs/lxml-2.3.4-py2.7-linux-i686.egg/lxml/etree.so with nm and only occurence of clock_gettime in output was:
0008a130 T callLookupFallback U clock_gettime U close
"T" The symbol is in the text (code) section. "U" The symbol is undefined.
Google search for (linux clock_gettime) found
https://bbs.archlinux.org/viewtopic.php?id=88108 and
Ubuntu Linux C++ error: undefined reference to 'clock_gettime' and 'clock_settime'
both of which say adding -lrt to the (end of the) list of libraries you link to will fix the problem. I looked at Plone-4.2.3-UnifiedInstaller/base_skeleton/lxml_static.cfg. That kind of make file isn't familiar to me. Not sure what to do next.