5

好的,所以有一个相当庞大的内部系统。我们有一位友善的主人,如果出现问题,他通常会与我们一起工作,以保持工作正常,或者至少为我们指明正确的方向。

不久前,我们不得不复制代码并将其托管在由 Rackspace 托管的客户端外部专用服务器上。考虑到几个月来一切都运行良好,突然间服务器不断抛出嘶嘶声和分段错误,例如

[通知] child pid 8628 exit signal Segmentation fault (11)

即使没有更改任何代码,主机也表示这可能是 PHP 问题,开发人员(我们)将不得不调查它。我什至没有看到问题,只是在某些时候当 apache 日志旋转时(深夜),这会导致它翻倒。

我让它们启用核心转储,并且我拥有一堆它们,以及Fixing Apache Segmentation Faults Caused by PHP,但是 rackspace 似乎已将所有 php 和 apache 源目录移动到天知道在哪里,我找不到 .gdbinit使用'find'在服务器上的任何地方,我能从gdb中得到的只是

Program terminated with signal 11, Segmentation fault.
#0  0x00002b8d6fc36c60 in ?? ()

......如果它尝试过,它的帮助不会减少!!!

关于从哪里开始在我的代码中跟踪这个假定问题的任何想法?

4

2 回答 2

1

您可以首先将 PID 添加到 apache 日志中,然后查看哪个死了……您将看到它是否至少是相同的请求。

也许您可以在崩溃开始之前看到更新的内容,并且如果某些模块已更新并且没有它们就无法生存,也许您可​​以回滚到以前的配置。

于 2012-10-18T16:06:14.250 回答
1

如果您知道如何使用 GDB 调试应用程序内核,这里是源 RPM 和 RPM。

我还建议您在应用程序核心上运行“字符串”。这不会给你确切的问题,但在许多情况下,它会提供一些有用的东西。

高温高压

于 2012-10-18T17:00:24.437 回答