【问题标题】:Plone 4.2.3 continuously dies then restarts with error "undefined symbol: clock_gettime"Plone 4.2.3 连续死机,然后以错误“未定义符号:clock_gettime”重新启动
【发布时间】:2013-02-25 03:54:00
【问题描述】:

通过统一安装程序将 Plone 4.2.3 安装为独立 Zope 实例 运行 CentOS 5.9 版的机器。那台机器的本地IP地址是 192.168.1.10。我在 buildout.cfg 中所做的唯一更改是:

http-address = 192.168.1.10:8080

然后从/usr/local/Plone-4.2.3/zinstance/ 成功运行./bin/buildout。 没有其他进程监听 8080 端口。Plone 成功启动:

# 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

问题是 ZServer 停止,另一个大约每 25 到 30 次启动 秒,因此无法使用。 .../zinstance/var/log/instance.log 显示:

------
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

并且更多这样的条目会不断添加到日志文件中。

.../zinstance/parts/instance/etc/zope.conf 然后我更改了事件日志级别 从 INFOALL 并设置“zserver-threads 1”然后停止并启动 Plone。

ZServer 在 25 到 30 秒后再次死机,另一个 ZServer 启动,它死了 25-30 秒后等。instance.log 中的所有条目都是 DEBUG 级别。为一个 鉴于 ZServer,最后一个日志条目的日期约为。 “INFO”后 19 秒 ZServer HTTP 服务器已启动”条目。大约 8 秒后,下一个条目是 另一个“INFO ZServer HTTP 服务器已启动”。

问题:为什么 ZServer 进程会死掉?


如果 fg 模式和 ZServer 死前的最后几个错误是,则运行服务器:

zope.configuration.xmlconfig.ZopeXMLConfigurationError:文件“/usr/local/Plone-4.2.3/zinstance/parts/instance/etc/site.zcml”,第 16.2-16.23 行

ZopeXMLConfigurationError:文件“/usr/local/Plone-4.2.3/buildout-cache/eggs/Products.CMFPlone-4.2.3-py2.7.egg/Products/CMFPlone/configure.zcml”,第 102.4-行106.10

ZopeXMLConfigurationError:文件“/usr/local/Plone-4.2.3/buildout-cache/eggs/plone.app.theming-1.0.4-py2.7.egg/plone/app/theming/configure.zcml” ,第 19.4-19.34 行

ZopeXMLConfigurationError:文件“/usr/local/Plone-4.2.3/buildout-cache/eggs/plone.app.theming-1.0.4-py2.7.egg/plone/app/theming/browser/configure. zcml”,第 12.4-18.10 行

导入错误:/usr/local/Plone-4.2.3/buildout-cache/eggs/lxml-2.3.4-py2.7-linux-i686.egg/lxml/etree.so:未定义符号:clock_gettime

clock_gettime 错误显然与 dev plone org ticket 有关:

13426(lxml 错误:未定义符号:带有 Plone-4.2 的clock_gettime ...

13409(使用 UnifiedInstaller 安装 Plone 4.2.3 时出现问题)– Plone ...

已选中 /usr/local/Plone-4.2.3/buildout-cache/eggs/lxml-2.3.4-py2.7-linux-i686.egg/lxml/etree.so 使用 nm 并且输出中仅出现 clock_gettime 是:

0008a130 T callLookupFallback Uclock_gettime 你关闭

"T" 符号在文本(代码)部分。 "U" 符号未定义。

Google 搜索 (linux clock_gettime) 找到

https://bbs.archlinux.org/viewtopic.php?id=88108

Ubuntu Linux C++ error: undefined reference to 'clock_gettime' and 'clock_settime'

两者都说将 -lrt 添加到您链接到的库的(末尾)列表中 将解决问题。我在看 Plone-4.2.3-UnifiedInstaller/base_skeleton/lxml_static.cfg。那种 make 文件对我来说并不熟悉。不知道下一步该做什么。

【问题讨论】:

  • 我最喜欢的是对 blobstorage 或文件存储的错误权限。如果您以调试模式启动服务器(即bin/plonectl fg),您会获得更多有用的信息吗?
  • 请在fg模式下运行服务器,并告诉我们控制台打印的内容:/usr/bin/sudo -u plone /usr/local/Plone-4.2.3/zinstance/bin/plonectl start
  • @pete johnson:我想知道,如果将 IP 包含在“http-address”变量中,而不是像往常一样仅命名端口,这可能是个问题。这样做是否有令人信服的理由?

标签: plone


【解决方案1】:

选择最新版本的 4.2.x 统一安装程序(撰写本文时为 4.2.4),它修复了 CentOS 上的 libxml2 构建。然后,在 ./install.sh 命令行中使用“--static-lxml”参数。

【讨论】:

    猜你喜欢
    • 2020-05-26
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 2018-09-20
    • 2014-03-15
    • 1970-01-01
    • 2017-12-06
    相关资源
    最近更新 更多