【发布时间】:2014-10-13 12:45:36
【问题描述】:
我们的软件使用 perl 和带有 mod_perl 的 Apache 有一个 Web 界面。在最近的 Ubuntu 14 安装(Apache 2.4.7,perl 版本 5.18.2)中,我们遇到了随机停止工作并出现以下错误的问题。这将在随机时间(例如几个小时或几天)后发生,在任何以前的 Ubuntu 或 CentOS 安装上都没有发生过,我们只能通过重新启动 Apache 来暂时解决它。
调试它的困难在于它运行良好一段时间,处理数百或数千个请求,我们无法确定任何特定的触发器使其停止工作。
有人对如何调试和解决它有想法吗?谢谢。
以下是错误信息。每个 Web 请求都会重复此操作,直到 Apache 重新启动。提到的 Utils.pm 是我们软件的一部分,并且在 index.pl 的第 2 行中“使用”。 Utils.pm 本身“使用”了很多其他模块。
[Sun Jul 27 19:26:18.110765 2014] [:error] [pid 26316:tid 139927794730752] 尝试重新加载 Utils.pm 已中止。\n在 /path/to/index.pl 第 2 行的 require 中编译失败。 \nBEGIN 失败--编译在 /path/to/index.pl 第 2 行中止。\n
【问题讨论】:
-
您是否尝试过在 /path/to/index.pl 中的 Utils 之前使用 Carp::Always?