分析Apache2 coredump

时间:2014-11-18 10:21:15

标签: php apache gdb coredump

在我的AWS服务器上,我有很多coredump: [2014年11月18日星期二11:15:12] [通知]儿童pid 5663退出信号总线错误(7),/ etc / apache2中可能的coredump

我试图分析它们但我没有得到任何相关信息。为了得到它我运行: sudo gdb 附上 pid (gdb)c (等待

我的输出是:

Program received signal SIGBUS, Bus error.
0x00007f4c6a7fe1d2 in lex_scan () from /usr/lib/apache2/modules/libphp5.so
(gdb) bt
#0  0x00007f4c6a7fe1d2 in lex_scan () from /usr/lib/apache2/modules/libphp5.so
#1  0x00007f4c6a8163d0 in ?? () from /usr/lib/apache2/modules/libphp5.so
#2  0x00007f4c6a7f9795 in ?? () from /usr/lib/apache2/modules/libphp5.so
#3  0x00007f4c6a7fda7f in compile_file () from /usr/lib/apache2/modules/libphp5.so
#4  0x00007f4c6a6ba932 in ?? () from /usr/lib/apache2/modules/libphp5.so
#5  0x00007f4c6a7fdc3c in compile_filename () from /usr/lib/apache2/modules/libphp5.so
#6  0x00007f4c6a861bca in ?? () from /usr/lib/apache2/modules/libphp5.so
#7  0x00007f4c6a84f9db in execute () from /usr/lib/apache2/modules/libphp5.so
#8  0x00007f4c6a82af40 in zend_execute_scripts () from /usr/lib/apache2/modules/libphp5.so
#9  0x00007f4c6a7d75b3 in php_execute_script () from /usr/lib/apache2/modules/libphp5.so
#10 0x00007f4c6a8ba44d in ?? () from /usr/lib/apache2/modules/libphp5.so
#11 0x00007f4c6e4ff508 in ap_run_handler ()
#12 0x00007f4c6e4ff97e in ap_invoke_handler ()
#13 0x00007f4c6e50f5b0 in ap_process_request ()
#14 0x00007f4c6e50c3d8 in ?? ()
#15 0x00007f4c6e505fa8 in ap_run_process_connection ()
#16 0x00007f4c6e514210 in ?? ()
#17 0x00007f4c6e51497a in ?? ()
#18 0x00007f4c6e515527 in ap_mpm_run ()
#19 0x00007f4c6e4ea4a4 in main ()

完全回溯:

(gdb)

bt full
#0  0x00007f4c6a7fe1d2 in lex_scan () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#1  0x00007f4c6a8163d0 in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#2  0x00007f4c6a7f9795 in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#3  0x00007f4c6a7fda7f in compile_file () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#4  0x00007f4c6a6ba932 in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#5  0x00007f4c6a7fdc3c in compile_filename () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#6  0x00007f4c6a861bca in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#7  0x00007f4c6a84f9db in execute () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#8  0x00007f4c6a82af40 in zend_execute_scripts () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#9  0x00007f4c6a7d75b3 in php_execute_script () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#10 0x00007f4c6a8ba44d in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#11 0x00007f4c6e4ff508 in ap_run_handler ()
No symbol table info available.
#12 0x00007f4c6e4ff97e in ap_invoke_handler ()
No symbol table info available.
#13 0x00007f4c6e50f5b0 in ap_process_request ()
No symbol table info available.
#14 0x00007f4c6e50c3d8 in ?? ()
No symbol table info available.
#15 0x00007f4c6e505fa8 in ap_run_process_connection ()
No symbol table info available.
#16 0x00007f4c6e514210 in ?? ()
No symbol table info available.
#17 0x00007f4c6e51497a in ?? ()
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#18 0x00007f4c6e515527 in ap_mpm_run ()
No symbol table info available.
#19 0x00007f4c6e4ea4a4 in main ()
No symbol table info available.

如何获得有关此跟踪的详细信息?

2 个答案:

答案 0 :(得分:1)

在Ubuntu 16 / PHP 7 / apache 2.4系统上发现的一个原因是证书不匹配:

重启apache后,日志文件XXX.log被覆盖了

等消息
  

[core:notice] child pid nnnnn退出信号总线错误7

由于有许多日志消息,该网站实际上无法使用。

搜索设置显示没有启用的站点设置为使用XXX.log,但在apache2 / sites-available目录中有一个名为“default-tls.conf”的文件(属于包“libapache2-mod-gnutls”) )将XXX.log定义为错误日志文件。

虽然没有启用该配置文件,但没有链接到启用了apache2 / sites的版本,但XXX.log已被充斥。

系统长时间使用letsencrypt证书,所有启用的站点都设置为使用它。但是在default-tls.conf中,密钥文件被设置为指向(当前)默认的“snakeoil”文件。 “snakeoil”证书和密钥文件被letsencrypt证书和密钥文件的链接所取代。

apache重新启动后,错误消息不再被抛出,网站再次可访问。

有助于找到原因的是在vhost conf文件中使用与标准错误日志文件设置不同的内容。

答案 1 :(得分:0)

  

我试图分析它们,但我没有得到任何相关信息。

相反,您 获取有关它的信息。正如Mark Plotnick所说,要获得更详细的信息,您需要为您的发行版安装debuginfo软件包。

崩溃看起来与this one非常相似。