在Strace中的Apache内存腐败

不确定这是否是SF或SO问题。

非常(非常)繁忙的LAMP服务器在负载平衡的环境Apache 2.2.26在Centos 5.10。

我试图追查挂起httpd进程的代码或系统问题。 这些调用永远在W,“发送回复”状态,TCP连接保持保持连接,并且apache的超时不会被触发。 最终我们积累了足够的挂起进程,我必须反弹httpd进程。

这似乎围绕着所有的挂断电话的一个strace的结束。 我真的不确定下一步该去哪里。 似乎Apache正试图写出来的控制台,我不知道这是否正常。 但malloc错误肯定指向有问题。 任何帮助(甚至疯狂的想法)赞赏。

我不确定有没有有趣的moudles,但这里是LoadModules。 LoadModule rewrite_module modules / mod_rewrite.so LoadModule info_module modules / mod_info.so LoadModule auth_digest_module modules / mod_auth_digest.so LoadModule proxy_module modules / mod_proxy.so LoadModule proxy_balancer_module modules / mod_proxy_balancer.so LoadModule proxy_connect_module modules / mod_proxy_connect.so LoadModule proxy_http_module modules / mod_proxy_http.so LoadModule ldap_module modules / mod_ldap.so LoadModule authenz_ldap_module modules / mod_authnz_ldap.so LoadModule deflate_module modules / mod_deflate.so LoadModule php4_module modules / libphp4.so

 lstat(“/ tmp”,{st_mode = S_IFDIR | S_ISVTX | 0777,st_size = 12288,...})= 0

 lstat(“/ tmp / promo.log”,{st_mode = S_IFREG | 0644,st_size = 14778558,...})= 

打开(“/ tmp / promo.log”,O_WRONLY | O_CREAT | O_APPEND,0666)= 27

 fstat(27,{st_mode = S_IFREG | 0644,st_size = 14778558,...})= 0

 lseek(27,0,SEEK_CUR)= 0

 lseek(27,0,SEEK_CUR)= 0

写(27,“20140314065931:cartitem :: calcu”...,68)= 68

closures(27)= 0

 open(“/ dev / tty”,O_RDWR | O_NOCTTY | O_NONBLOCK)= -1 ENXIO(没有这样的设备或地址)

 writev(2,[{“*** glibc detected ***”,23},{“/usr/local/apache-2.2.26/bin/htt”...,34},{“:”,2 },{“double free or corruption(!prev”...,33},{“:0x”,4},{“0000000005ebfb20”,16},{“*** \ n”,5}],7 )= 117

 open(“/ usr / local / apache-2.2.26 / lib / libgcc_s.so.1”,O_RDONLY)= -1 ENOENT(没有这样的文件或目录)

打开(“/ usr / lib64 / tls / libgcc_s.so.1”,O_RDONLY)= -1 ENOENT(没有这样的文件或目录)

打开(“/ usr / lib64 / libgcc_s.so.1”,O_RDONLY)= -1 ENOENT(没有这样的文件或目录)

打开(“/ usr / local / apache-2.2.26 / lib / libgcc_s.so.1”,O_RDONLY)= -1 ENOENT(没有这样的文件或 
目录)

打开(“/ etc / ld.so.cache”,O_RDONLY)= 27

 fstat(27,{st_mode = S_IFREG | 0644,st_size = 93743,...})= 0

 mmap(NULL,93743,PROT_READ,MAP_PRIVATE,27,0)= 0x2ba82af8b000
closures(27)= 0

打开(“/ lib64 / libgcc_s.so.1”,O_RDONLY)= 27

 read(27,“\ 177ELF \ 2 \ 1 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 3 \ 0> \ 0 \ 1 \ 0 \ 0 \ 0P \ 36`T8 \ 0 \ 0 \ 0“...,832)= 832

 fstat(27,{st_mode = S_IFREG | 0755,st_size = 58400,...})= 0

 open(“/ dev / tty”,O_RDWR | O_NOCTTY | O_NONBLOCK)= -1 ENXIO(没有这样的设备或地址)

 writev(2,[{“*** glibc detected ***”,23},{“/usr/local/apache-2.2.26/bin/htt”...,34},{“:”,2 },{“malloc():memory corruption”,27},{“:0x”,4},{“0000000005fc1e70”,16},{“*** \ n”,5}],7)= 111

 futex(0x2ba822f1dfc0,FUTEX_WAIT_PRIVATE,9,NULL)= -1 EINTR(中断的系统调用)
 --- SIGTERM(已终止)@ 0(0)---

 futex(0x2ba822f1b9e0,FUTEX_WAIT_PRIVATE,2,NULL)= -1 EINTR(中断的系统调用)
 --- SIGCONT(续)@ 0(0)---

 futex(0x2ba822f1b9e0,FUTEX_WAIT_PRIVATE,2,NULL