-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
John Stanley said the following on 22/05/12 19:08:
$ strings /usr/lib/libapr-1.so.0|grep apr_socket_accept apr_socket_accept
Ok, the strings command gives the same result.
yum whatprovides /usr/lib/libapr-1.so.0 A link that points to? apr-..........el6
apr-1.3.9-3.el6_1.2.i686 : Apache Portable Runtime library Repo : base Matched from: Filename : /usr/lib/libapr-1.so.0
apr-1.3.9-3.el6_1.2.i686 : Apache Portable Runtime library Repo : installed Matched from: Other : Provides-match: /usr/lib/libapr-1.so.0
# Do not do a gracefull restart here! service httpd stop service hpptd start
Done.
ps aux|grep httpd # you want the parent proccess or pstree -p |grep httpd
strace -f -o httpd.txt -p 18289 '-p = parent_id_here'
Then kill strace after you see the error in the logs.
grep apr_socket_accept httpd.txt
got a lot of Process 32565 attached Process 32566 attached Process 32567 attached Process 32568 attached Process 32561 detached
grep returns an empty set, there is no 'apr' in the entire httpd.txt
Some (I suppose) relevant parts:
32373 select(0, NULL, NULL, NULL, {0, 31857}) = 0 (Timeout) 32373 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb78797b8) = 32434 32373 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb78797b8) = 32435 32434 rt_sigaction(SIGHUP, {0x5d4f00, [], SA_INTERRUPT}, {0x5d3d40, [HUP USR1], 0}, 8) = 0 32434 rt_sigaction(SIGTERM, {0x5d4f00, [], SA_INTERRUPT}, {0x5d3d00, [], 0}, 8) = 0 32434 rt_sigaction(SIGUSR1, {0x5d45a0, [], SA_INTERRUPT}, {0x5d3d40, [HUP USR1], 0}, 8) = 0 32434 geteuid32( <unfinished ...> 32373 waitpid(-1, <unfinished ...> 32434 <... geteuid32 resumed> ) = 0 32434 setgid32(48) = 0 32434 open("/proc/sys/kernel/ngroups_max", O_RDONLY <unfinished ...> 32373 <... waitpid resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], WNOHANG|WSTOPPED) = 32432 32434 <... open resumed> ) = 8 32373 waitpid(-1, <unfinished ...> 32435 rt_sigaction(SIGHUP, {0x5d4f00, [], SA_INTERRUPT}, <unfinished ...> 32434 read(8, <unfinished ...> 32373 <... waitpid resumed> 0xbfa8ce3c, WNOHANG|WSTOPPED) = 0 32434 <... read resumed> "65536\n", 31) = 6 32373 select(0, NULL, NULL, NULL, {1, 0} <unfinished ...> 32435 <... rt_sigaction resumed> {0x5d3d40, [HUP USR1], 0}, 8) = 0 32434 close(8 <unfinished ...> 32435 rt_sigaction(SIGTERM, {0x5d4f00, [], SA_INTERRUPT}, <unfinished ...> 32434 <... close resumed> ) = 0 32435 <... rt_sigaction resumed> {0x5d3d00, [], 0}, 8) = 0 32434 open("/etc/group", O_RDONLY|O_CLOEXEC <unfinished ...> 32435 rt_sigaction(SIGUSR1, {0x5d45a0, [], SA_INTERRUPT}, <unfinished ...> 32434 <... open resumed> ) = 8 32435 <... rt_sigaction resumed> {0x5d3d40, [HUP USR1], 0}, 8) = 0 32434 fstat64(8, <unfinished ...> 32435 geteuid32( <unfinished ...> 32434 <... fstat64 resumed> {st_mode=S_IFREG|0644, st_size=981, ...}) = 0 32435 <... geteuid32 resumed> ) = 0 32434 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 <unfinished ...> 32435 setgid32(48 <unfinished ...> 32434 <... mmap2 resumed> ) = 0xb788d000 32435 <... setgid32 resumed> ) = 0 32434 _llseek(8, 0, <unfinished ...> 32435 open("/proc/sys/kernel/ngroups_max", O_RDONLY <unfinished ...> 32434 <... _llseek resumed> [0], SEEK_CUR) = 0 32435 <... open resumed> ) = 8 32434 read(8, <unfinished ...> 32435 read(8, <unfinished ...> 32434 <... read resumed> "root:x:0:root\nbin:x:1:root,bin,d"..., 4096) = 981 32435 <... read resumed> "65536\n", 31) = 6 32434 read(8, <unfinished ...> 32435 close(8 <unfinished ...> 32434 <... read resumed> "", 4096) = 0 32435 <... close resumed> ) = 0 32434 close(8 <unfinished ...> 32435 open("/etc/group", O_RDONLY|O_CLOEXEC <unfinished ...> 32434 <... close resumed> ) = 0 32435 <... open resumed> ) = 8 32434 munmap(0xb788d000, 4096 <unfinished ...> 32435 fstat64(8, <unfinished ...> 32434 <... munmap resumed> ) = 0
32435 <... read resumed> "root:x:0:root\nbin:x:1:root,bin,d"..., 4096) = 981 32434 epoll_create1(O_CLOEXEC <unfinished ...> 32435 read(8, <unfinished ...> 32434 <... epoll_create1 resumed> ) = 8 32435 <... read resumed> "", 4096) = 0 32434 epoll_ctl(8, EPOLL_CTL_ADD, 3, {EPOLLIN, {u32=3037114568, u64=3037114568}} <unfinished ...> 32435 close(8 <unfinished ...> 32434 <... epoll_ctl resumed> ) = 0 32435 <... close resumed> ) = 0 32434 accept4(3, <unfinished ...> 32435 munmap(0xb788d000, 4096 <unfinished ...> 32434 <... accept4 resumed> 0xbfa8ccfc, [128], SOCK_CLOEXEC) = -1 EINVAL (Invalid argument) 32435 <... munmap resumed> ) = 0 32434 accept4(-1, <unfinished ...> 32435 setgroups32(1, [48] <unfinished ...> 32434 <... accept4 resumed> 0xbfa8ccfc, [128], 0) = -1 EINVAL (Invalid argument) 32435 <... setgroups32 resumed> ) = 0 32434 gettimeofday( <unfinished ...> 32435 geteuid32( <unfinished ...> 32434 <... gettimeofday resumed> {1337707092, 778882}, NULL) = 0 32435 <... geteuid32 resumed> ) = 0 32434 write(2, "[Tue May 22 19:18:12 2012] [erro"..., 100 <unfinished ...> 32435 setuid32(48 <unfinished ...> 32434 <... write resumed> ) = 100 32435 <... setuid32 resumed> ) = 0 32434 close(8 <unfinished ...> 32435 epoll_create1(O_CLOEXEC <unfinished ...> 32434 <... close resumed> ) = 0 32435 <... epoll_create1 resumed> ) = 8 32434 munmap(0xcc3000, 84236 <unfinished ...> 32435 epoll_ctl(8, EPOLL_CTL_ADD, 3, {EPOLLIN, {u32=3037114568, u64=3037114568}}) = 0 32434 <... munmap resumed> ) = 0 32435 accept4(3, 0xbfa8ccfc, [128], SOCK_CLOEXEC) = -1 EINVAL (Invalid argument) 32434 munmap(0x8ea000, 28328 <unfinished ...> 32435 accept4(-1, 0xbfa8ccfc, [128], 0) = -1 EINVAL (Invalid argument) 32434 <... munmap resumed> ) = 0 32435 gettimeofday({1337707092, 785296}, NULL) = 0 32434 munmap(0xc70000, 81680 <unfinished ...> 32435 write(2, "[Tue May 22 19:18:12 2012] [erro"..., 100 <unfinished ...> 32434 <... munmap resumed> ) = 0 32435 <... write resumed> ) = 100
32437 open("/proc/sys/kernel/ngroups_max", O_RDONLY <unfinished ...> 32436 <... close resumed> ) = 0 32373 <... clone resumed> child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb78797b8) = 32439 32438 rt_sigaction(SIGUSR1, {0x5d45a0, [], SA_INTERRUPT}, <unfinished ...> 32437 <... open resumed> ) = 8 32436 munmap(0xb788d000, 4096 <unfinished ...> 32438 <... rt_sigaction resumed> {0x5d3d40, [HUP USR1], 0}, 8) = 0 32437 read(8, <unfinished ...> 32436 <... munmap resumed> ) = 0 32373 waitpid(-1, <unfinished ...> 32439 rt_sigaction(SIGHUP, {0x5d4f00, [], SA_INTERRUPT}, <unfinished ...> 32438 geteuid32( <unfinished ...> 32437 <... read resumed> "65536\n", 31) = 6 32436 setgroups32(1, [48] <unfinished ...> 32373 <... waitpid resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], WNOHANG|WSTOPPED) = 32434 32439 <... rt_sigaction resumed> {0x5d3d40, [HUP USR1], 0}, 8) = 0 32438 <... geteuid32 resumed> ) = 0 32437 close(8 <unfinished ...> 32436 <... setgroups32 resumed> ) = 0
Ciao, luigi
- -- / +--[Luigi Rosa]-- \
Murphy's Law is recursive. Washing your car to make it rain doesn't work.