APC 'issues'

wildmanmatt

Verified User
Joined
Nov 2, 2009
Messages
23
Hi,

I am trying to install APC 3.0.19 due to performance enhancements when using Yireo Magebridge between Joomla and Magento.

However, after going through the steps to install APC, Joomla stops working and just won't load a thing...disabling the extension= line in the php.ini and restarting apache resolves that problem (but then obviously means I no longer have APC!)

The apache error_log shows the following error:
[Thu Dec 03 19:55:59 2009] [notice] child pid 29579 exit signal Segmentation fault (11)

However, the Magento shopping cart on the same server continues to work fine.

If anyone had any thoughts of how this might be resolved, it would be much appreciated.

Thanks,

Matt
 
If you get a segmentation fault then something is wrong with the file. You will have to do a backtrace to find out whats the problem. Its probably a library its linked to or something. Look for errors when compiling the .so
 
Cool, thanks for that....I re-downloaded and re-compiled / installed and then all now seems to work with no problems
Hopefully it will stay that way...

Matt
 
Nope...seems that I spoke too soon

I get the same problem again, but only a few minutes after having restarted apache

Segmentation fault again as well...
 
You may try to debug PHP in order to find the cause of the segmentation fault.
For example run:
Code:
# mkdir /var/log/httpd/strace
# strace -t -f -ff -o /var/log/httpd/strace/dump -p $(cat /var/run/httpd.pid)
# /etc/init.d/httpd reload
[Apache PHP child with PID XXX crashes]
# tail /var/log/httpd/strace/dump.XXX
This should tell you more or less where the crash happened.

There are other methods, for example a more precise one with coredumps. Read http://httpd.apache.org/dev/debugging.html
 
Last edited:
I have used your method of stacktracing and received these results:

They relate to these entries in the log:
[Tue Jan 12 16:39:46 2010] [notice] child pid 28974 exit signal Segmentation fault (11)
[Tue Jan 12 16:39:59 2010] [notice] child pid 28978 exit signal Segmentation fault (11)
[Tue Jan 12 16:40:06 2010] [notice] child pid 28982 exit signal Segmentation fault (11)
[Tue Jan 12 16:40:21 2010] [notice] child pid 28983 exit signal Segmentation fault (11)
[Tue Jan 12 16:40:53 2010] [notice] child pid 28975 exit signal Segmentation fault (11)


serv1:/var/log/httpd/strace# tail dump.28799
16:38:52 waitpid(-1, 0xbfcc2038, WNOHANG|WSTOPPED) = 0
16:38:52 select(0, NULL, NULL, NULL, {1, 0}) = 0 (Timeout)
16:38:53 waitpid(-1, 0xbfcc2038, WNOHANG|WSTOPPED) = 0
16:38:53 select(0, NULL, NULL, NULL, {1, 0}) = 0 (Timeout)
16:38:54 waitpid(-1, 0xbfcc2038, WNOHANG|WSTOPPED) = 0
16:38:54 select(0, NULL, NULL, NULL, {1, 0}) = 0 (Timeout)
16:38:55 waitpid(-1, 0xbfcc2038, WNOHANG|WSTOPPED) = 0
16:38:55 select(0, NULL, NULL, NULL, {1, 0}) = 0 (Timeout)
16:38:56 waitpid(-1, 0xbfcc2038, WNOHANG|WSTOPPED) = 0
16:38:56 select(0, NULL, NULL, NULL, {1, 0} <unfinished ...>
serv1:/var/log/httpd/strace# tail dump.28969
16:41:03 munmap(0xb6d79000, 1292372) = 0
16:41:03 munmap(0xb6d6e000, 8628) = 0
16:41:03 brk(0x9758000) = 0x9758000
16:41:03 munmap(0xb6cb1000, 124420) = 0
16:41:03 close(103) = 0
16:41:03 close(8) = 0
16:41:03 close(7) = 0
16:41:03 close(6) = 0
16:41:03 close(4) = 0
16:41:03 exit_group(0) = ?
serv1:/var/log/httpd/strace# tail dump.28983
16:40:20 _llseek(107, 2116, [2116], SEEK_SET) = 0
16:40:20 _llseek(107, -2116, [0], SEEK_CUR) = 0
16:40:20 close(107) = 0
16:40:20 munmap(0xb7f1b000, 4096) = 0
16:40:20 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
16:40:20 chdir("/etc/httpd") = 0
16:40:20 rt_sigaction(SIGSEGV, {SIG_DFL}, {SIG_DFL}, 8) = 0
16:40:20 kill(28983, SIGSEGV) = 0
16:40:20 sigreturn() = ? (mask now [])
16:40:20 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
serv1:/var/log/httpd/strace# tail dump.28984
16:41:03 shmctl(25919489, IPC_64|IPC_RMID, 0xbfc3a2f4) = -1 EPERM (Operation not permitted)
16:41:03 close(104) = 0
16:41:03 munmap(0xaea94000, 4096) = 0
16:41:03 unlink("/tmp/ZCUDuv4p6g") = -1 ENOENT (No such file or directory)
16:41:03 munmap(0xb6c8b000, 13424) = 0
16:41:03 munmap(0xaeb15000, 1428268) = 0
16:41:03 brk(0x9849000) = 0x9849000
16:41:03 close(10) = 0
16:41:03 close(9) = 0
16:41:03 exit_group(0) = ?
serv1:/var/log/httpd/strace# tail dump.28988
16:41:03 shmctl(25919489, IPC_64|IPC_RMID, 0xbfc3a2f4) = -1 EPERM (Operation not permitted)
16:41:03 close(104) = 0
16:41:03 munmap(0xaea94000, 4096) = 0
16:41:03 unlink("/tmp/ZCUDuv4p6g") = -1 ENOENT (No such file or directory)
16:41:03 munmap(0xb6c8b000, 13424) = 0
16:41:03 munmap(0xaeb15000, 1428268) = 0
16:41:03 brk(0x9849000) = 0x9849000
16:41:03 close(10) = 0
16:41:03 close(9) = 0
16:41:03 exit_group(0) = ?
serv1:/var/log/httpd/strace# tail dump.30622
16:41:03 shmdt(0xaea95000) = 0
16:41:03 shmctl(25919489, IPC_64|IPC_RMID, 0xbfc3a2f4) = -1 EPERM (Operation not permitted)
16:41:03 close(104) = 0
16:41:03 munmap(0xaea94000, 4096) = 0
16:41:03 unlink("/tmp/ZCUDuv4p6g") = -1 ENOENT (No such file or directory)
16:41:03 munmap(0xb6c8b000, 13424) = 0
16:41:03 munmap(0xaeb15000, 1428268) = 0
16:41:03 close(10) = 0
16:41:03 close(9) = 0
16:41:03 exit_group(0) = ?
serv1:/var/log/httpd/strace# tail dump.30625
16:41:03 shmdt(0xaea95000) = 0
16:41:03 shmctl(25919489, IPC_64|IPC_RMID, 0xbfc3a2f4) = -1 EPERM (Operation not permitted)
16:41:03 close(104) = 0
16:41:03 munmap(0xaea94000, 4096) = 0
16:41:03 unlink("/tmp/ZCUDuv4p6g") = -1 ENOENT (No such file or directory)
16:41:03 munmap(0xb6c8b000, 13424) = 0
16:41:03 munmap(0xaeb15000, 1428268) = 0
16:41:03 close(10) = 0
16:41:03 close(9) = 0
16:41:03 exit_group(0) = ?
serv1:/var/log/httpd/strace#

I have no idea what those mean...is that useful to anyone? I'm just trying to get the APC Cache to work.

The errors only occur when I have the following uncommented in my php.ini:
# apc
#extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/apc.so
#apc.shm_size = 128 # increases ram allowance to 128mb from default 30mb.


Any thoughts anyone?
 
Back
Top