Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
First I had xCache installed on server, I had xCache on lot of my servers but in this one after couple of days you go nothing except a blank page with this error in apache error log:
child pid XXXXX exit signal Segmentation fault
As far as I know this mean some sort of memory corruption.
So I removed xCache from php.ini and installed APC. But things are worse now. After one hour or less/more server become unresponsive. I can clearly see in my website's server-status that there are lot of connections in W mode. And they dont have any thing in common. Some of them are from Joomla (first page) and some from vBulletin (forums) and some other are about other custom codes.
If I let it for more time I will going to have this error in Apache error log:
Server reached MaxClients setting, consider raising the MaxClients setting
Apache is in mod_php and mod_ruid2 mode.
Here is result of server-status when hanged:
Server uptime: 52 minutes 57 seconds
Total accesses: 31025 - Total Traffic: 279.0 MB
CPU Usage: u418.14 s64.28 cu0 cs0 - 15.2% CPU load
9.77 requests/sec - 89.9 kB/second - 9.2 kB/request
398 requests currently being processed, 27 idle workers
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WWWWWWWWWWWWWWWWWWWWWWWWW.......................................
WW___WW_WW_W_WWW__WWWW_W_.......................................
_W___W___WW_W_W_W_W______.......................................
Here is error log for xCache (lot of these lines):
[Thu Mar 28 09:50:38 2013] [notice] child pid 1607 exit signal Aborted (6)
httpd: /usr/src/xcache-2.0.0/utils.c:589: xc_sandbox_error_cb: Assertion `sandbox != ((void *)0)' failed.
[Thu Mar 28 09:51:57 2013] [notice] child pid 1643 exit signal Aborted (6)
httpd: /usr/src/xcache-2.0.0/utils.c:589: xc_sandbox_error_cb: Assertion `sandbox != ((void *)0)' failed.
[Thu Mar 28 09:52:32 2013] [notice] child pid 1724 exit signal Aborted (6)
httpd: /usr/src/xcache-2.0.0/utils.c:589: xc_sandbox_error_cb: Assertion `sandbox != ((void *)0)' failed.
[Thu Mar 28 09:55:21 2013] [notice] child pid 1672 exit signal Aborted (6)
httpd: /usr/src/xcache-2.0.0/utils.c:589: xc_sandbox_error_cb: Assertion `sandbox != ((void *)0)' failed.
[Thu Mar 28 09:55:56 2013] [notice] child pid 1471 exit signal Aborted (6)
httpd: /usr/src/xcache-2.0.0/utils.c:589: xc_sandbox_error_cb: Assertion `sandbox != ((void *)0)' failed.
[Thu Mar 28 09:56:49 2013] [notice] child pid 1753 exit signal Aborted (6)
[Thu Mar 28 09:58:29 2013] [notice] child pid 1810 exit signal Segmentation fault (11)
[Thu Mar 28 09:58:29 2013] [notice] child pid 1877 exit signal Segmentation fault (11)
httpd: /usr/src/xcache-2.0.0/utils.c:589: xc_sandbox_error_cb: Assertion `sandbox != ((void *)0)' failed.
[Thu Mar 28 10:01:34 2013] [notice] child pid 1844 exit signal Segmentation fault (11)
[Thu Mar 28 10:01:34 2013] [notice] child pid 1913 exit signal Aborted (6)
[Thu Mar 28 10:01:34 2013] [notice] child pid 1941 exit signal Segmentation fault (11)
[Thu Mar 28 10:01:36 2013] [notice] child pid 2007 exit signal Segmentation fault (11)
[Thu Mar 28 10:01:37 2013] [notice] child pid 2035 exit signal Segmentation fault (11)
[Thu Mar 28 10:01:37 2013] [notice] child pid 2036 exit signal Segmentation fault (11)
Error log for APC before reaching max client (from one restart to other restart):
[Thu Mar 28 19:17:10 2013] [notice] Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.0-fips DAV/2 PHP/5.2.17 configured -- resuming normal operations
[Thu Mar 28 19:21:40 2013] [notice] child pid 1356 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:41 2013] [notice] child pid 1520 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:42 2013] [notice] child pid 1330 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:42 2013] [notice] child pid 1518 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:46 2013] [notice] child pid 1967 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:46 2013] [notice] child pid 1968 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:49 2013] [notice] child pid 1939 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:50 2013] [notice] child pid 2034 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:51 2013] [notice] child pid 2062 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:57 2013] [notice] child pid 2091 exit signal Segmentation fault (11)
[Thu Mar 28 19:22:58 2013] [notice] child pid 2090 exit signal Segmentation fault (11)
[Thu Mar 28 19:25:34 2013] [notice] caught SIGTERM, shutting down
[Thu Mar 28 19:25:37 2013] [notice] SSL FIPS mode disabled
[Thu Mar 28 19:25:37 2013] [warn] RSA server certificate CommonName (CN) `localhost' does NOT match server name!?
[Thu Mar 28 19:25:37 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Thu Mar 28 19:25:37 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Mar 28 19:25:38 2013] [notice] SSL FIPS mode disabled
[Thu Mar 28 19:25:38 2013] [warn] RSA server certificate CommonName (CN) `localhost' does NOT match server name!?
[Thu Mar 28 19:25:38 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Thu Mar 28 19:25:38 2013] [notice] Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.0-fips DAV/2 PHP/5.2.17 configured -- resuming normal operations
Little from PHP Info:
System Linux xxx.xxxxx.com 2.6.32-358.0.1.el6.x86_64 #1 SMP Wed Feb 27 06:06:45 UTC 2013 x86_64
Build Date Mar 17 2013 12:55:14
Configure Command './configure' '--with-apxs2' '--with-curl=/usr/local/lib' '--with-gd' '--with-ttf' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-freetype-dir=/usr/local/lib' '--with-kerberos' '--with-openssl' '--with-mcrypt' '--with-mhash' '--with-mysql=/usr' '--with-mysqli=/usr/bin/mysql_config' '--with-pdo-mysql=/usr' '--with-pcre-regex=/usr/local' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-xsl' '--with-zlib' '--with-zlib-dir=/usr/local/lib' '--with-iconv=/usr/local' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-magic-quotes' '--enable-safe-mode' '--enable-soap' '--enable-sockets' '--enable-mbstring' '--enable-zip' '--enable-wddx'
Server API Apache 2.0 Handler
Virtual Directory Support enabled
Configuration File (php.ini) Path /usr/local/lib
Loaded Configuration File /usr/local/lib/php.ini
Scan this dir for additional .ini files (none)
additional .ini files parsed (none)
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety enabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams https, ftps, compress.zlib, php, file, data, http, ftp, zip
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters zlib.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed
APC settings:
enabled
Version 3.1.13
APC Debugging Disabled
MMAP Support Enabled
MMAP File Mask no value
Locking type pthread read/write Locks
Serialization Support php
Revision $Revision: 327136 $
Build Date Mar 28 2013 12:40:18
Php -v:
PHP 5.2.17 (cli) (built: Mar 17 2013 12:55:24)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
httpd -V:
Server version: Apache/2.2.24 (Unix)
Server built: Mar 10 2013 09:18:00
Server's Module Magic Number: 20051115:31
Server loaded: APR 1.4.6, APR-Util 1.4.1
Compiled using: APR 1.4.6, APR-Util 1.4.1
Architecture: 64-bit
Server MPM: Worker
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/worker"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
Any Idea?! I will reward 50 :)
From the looks of your server status page, you are trying to run PHP as mod_php with a threaded Apache MPM. Many PHP extensions, likely including APC and Xcache, are not thread-safe. As such, they will crash frequently under load.
You will need to switch Apache to the prefork MPM, or run PHP as CGI or FastCGI.
Related
Okay, first of all I understand and ... permit ... you all to laugh: I have a local server running php 4,4 / apache / mysql - installed with xampp distribution. Just simply haven't got the time to upgrade all the code that has been serving me for years and is still serving me well :-)
To the issue - I can't make a try/catch ... beeeecause of the old php version. I have a script that parses a dir and to a lot of things to all the files ... and after several 100 thousand files over the years without problems ... I now find that the server shuts down / browser looses connection probably because of a single file ... but for my life I can't figure out which. So thought maybe I could figure it out through the error log. But ... I didn't learn much - and thought I might ask some wise guys here if there is anything I can learn from the following from my error log - regarding maybe what function/file or whatever it is that causes the breaking...:
[Tue Feb 14 20:47:26 2017] [crit] (22)Invalid argument: unable to replace stderr with error_log
[Tue Feb 14 20:47:26 2017] [crit] (2)No such file or directory: unable to replace stderr with /dev/null
[Tue Feb 14 20:47:26 2017] [notice] Apache/2.0.54 (Win32) mod_ssl/2.0.54 OpenSSL/0.9.8 PHP/4.4.0 mod_autoindex_color configured -- resuming normal operations
[Tue Feb 14 20:47:26 2017] [notice] Server built: Jul 28 2005 18:10:37
[Tue Feb 14 20:47:26 2017] [notice] Parent: Created child process 5384
[Tue Feb 14 20:47:27 2017] [notice] Child 5384: Child process is running
[Tue Feb 14 20:47:27 2017] [notice] Child 5384: Acquired the start mutex.
[Tue Feb 14 20:47:27 2017] [notice] Child 5384: Starting 250 worker threads.
[Tue Feb 14 20:47:36 2017] [notice] Parent: child process exited with status 3221225725 -- Restarting.
[Tue Feb 14 20:47:36 2017] [crit] (22)Invalid argument: unable to replace stderr with error_log
[Tue Feb 14 20:47:36 2017] [crit] (2)No such file or directory: unable to replace stderr with /dev/null
[Tue Feb 14 20:47:36 2017] [notice] Apache/2.0.54 (Win32) mod_ssl/2.0.54 OpenSSL/0.9.8 PHP/4.4.0 mod_autoindex_color configured -- resuming normal operations
[Tue Feb 14 20:47:36 2017] [notice] Server built: Jul 28 2005 18:10:37
[Tue Feb 14 20:47:36 2017] [notice] Parent: Created child process 3136
[Tue Feb 14 20:47:36 2017] [notice] Child 3136: Child process is running
[Tue Feb 14 20:47:36 2017] [notice] Child 3136: Acquired the start mutex.
[Tue Feb 14 20:47:36 2017] [notice] Child 3136: Starting 250 worker threads.
Got it ... filesize() was failing (silent aparently) for some file(s). Ran it w/o this function and it worked. Case closed...
Edit: strange though ... filesize() suddenly fails on all files. And they are local. Subdir to the htdocs folder ... and the top level folder to this structure is set to all my users to have full control of this folder and all subfolders... weird...
I am using a SOAP client for placing order in Magento (PHP) and Getting Error Fetching http headers while hitting that webservice.
When I restart httpd then the error disappears and I am able to place order again and again
What I tried
default_socket_timeout : 120
Code Snippet of SOAP CLIENT
$cli = new SoapClient($api_url_v2,
array(
'trace' =>true,
'connection_timeout' => 500000,
'keep_alive' => false,
)
);
checked around the httpd logs and found following
[Mon Oct 17 01:50:24 2016] [error] [client 127.0.0.1] client denied by server configuration: /var/www/html/store/app/etc/local.xml
[Mon Oct 17 01:53:53 2016] [notice] child pid 28113 exit signal Segmentation fault (11)
[Mon Oct 17 01:57:52 2016] [notice] child pid 29400 exit signal Segmentation fault (11)
[Mon Oct 17 02:01:14 2016] [notice] child pid 29401 exit signal Segmentation fault (11)
[Mon Oct 17 02:02:50 2016] [notice] child pid 29398 exit signal Segmentation fault (11)
[Mon Oct 17 02:05:38 2016] [error] [client 127.0.0.1] client denied by server configuration: /var/www/html/store/app/etc/local.xml
[Mon Oct 17 02:06:40 2016] [notice] child pid 28180 exit signal Segmentation fault (11)
Please let me know if any other information I can provide to track this out.
SOAP trace is not showing anything for me. this problem is with this web service only , my soap client is working fine with others.
Try editing php.ini file soap.wsdl_cache_enabled=1 and change it to soap.wsdl_cache_enabled=0
I’ve been having a major issue with my Drupal website for the past couple of weeks. I’ve been trying to home in on where the issue is coming from but at the moment it has been hard to work out if it is module related or server related.
Essentially my server is hitting 100% CPU and doesn’t stop until I reset APACHE. I’m not getting the WSOD with a PHP error and there are no new entries in my PHP error log. Also, because PHP doesn’t give me an error I haven’t been able to use xhprof to debug.
I found that this would happen when I had multiple users browsing the website and also when I quickly opened multiple tabs in my browser. I had at first thought it was because I had some views embedded in a page using the views field module, each of which I had contextual filters enabled. These pages were usually where the issue would arise.
I have however been able to replicate the crash by quickly opening pages in multiple tabs where views aren’t present. This then started to make me think it was server related, but because I don’t have much experience in the server side of things I wasn’t sure what to look for or how to debug.
The details of my server and module setup are below. I’d appreciate any help or direction on this as it’s become a show stopper as far as launching our site is concerned.
- Server:Windows server 2012 – Intel Xeon 2.2GHz, 8GB RAM, 64-bit Operating System
- APACHE: Apache/2.2.25
- PHP: php-5.4.20-Win32-VC9-x86 - Memory limit 120M
- Database: Microsoft SQL Server 10.50.1600 (using sqlsrv module) located in a different server
- Drupal: 7.23
- Memcache: 3.0.7
- Modules that I thought could be linked to the issue (but might not be): views, entity reference, views field
The APACHE error log has the following entries when I replicate the crash:
- [Wed Mar 12 18:46:37 2014] [notice] Parent: child process exited with status 255 -- - Restarting.
- [Wed Mar 12 18:46:37 2014] [notice] Apache/2.2.25 (Win32) PHP/5.4.20 configured -- resuming normal operations
- [Wed Mar 12 18:46:37 2014] [notice] Server built: Jun 29 2013 19:23:21
- [Wed Mar 12 18:46:37 2014] [notice] Parent: Created child process 5084
- [Wed Mar 12 18:46:37 2014] [notice] Child 5084: Child process is running
- [Wed Mar 12 18:46:37 2014] [notice] Child 5084: Acquired the start mutex.
- [Wed Mar 12 18:46:37 2014] [notice] Child 5084: Starting 150 worker threads.
- [Wed Mar 12 18:46:37 2014] [notice] Child 5084: Starting thread to listen on port 80.
- [Wed Mar 12 18:46:37 2014] [notice] Child 5084: Starting thread to listen on port 80.
- [Wed Mar 12 18:46:41 2014] [notice] Parent: child process exited with status 255 -- Restarting.
- [Wed Mar 12 18:46:41 2014] [notice] Apache/2.2.25 (Win32) PHP/5.4.20 configured -- resuming normal operations
- [Wed Mar 12 18:46:41 2014] [notice] Server built: Jun 29 2013 19:23:21
- [Wed Mar 12 18:46:41 2014] [notice] Parent: Created child process 1628
- [Wed Mar 12 18:46:41 2014] [notice] Child 1628: Child process is running
- [Wed Mar 12 18:46:41 2014] [notice] Child 1628: Acquired the start mutex.
- [Wed Mar 12 18:46:41 2014] [notice] Child 1628: Starting 150 worker threads.
- [Wed Mar 12 18:46:41 2014] [notice] Child 1628: Starting thread to listen on port 80.
- [Wed Mar 12 18:46:41 2014] [notice] Child 1628: Starting thread to listen on port 80.
- [Wed Mar 12 18:51:33 2014] [notice] Parent: Received shutdown signal -- Shutting down the server.
- [Wed Mar 12 18:51:35 2014] [notice] Child 1628: Exit event signaled. Child process is ending.
- [Wed Mar 12 18:51:36 2014] [notice] Child 1628: Released the start mutex
- [Wed Mar 12 18:51:53 2014] [notice] Parent: Child process exited successfully.
The windows evernt log has the following:
- Faulting application name: httpd.exe, version: 2.2.25.0, time stamp: 0x51cf187f
- Faulting module name: php5ts.dll, version: 5.4.20.0, time stamp: 0x523a144e
- Exception code: 0xc0000005
- Fault offset: 0x0004b4dd
- Faulting process id: 0x65c
- Faulting application start time: 0x01cf3e2368a98606
- Faulting application path: C:\Apache2\bin\httpd.exe
- Faulting module path: C:\php-5.4.20-Win32-VC9-x86\php5ts.dll
- Report Id: a868e8ac-aa16-11e3-93f4-0050568b2e3b
- Faulting package full name:
- Faulting package-relative application ID:
Sorry about the amount of writing but I wanted to make sure I explained as much as I could.
Thanks
I was following a tutorial to install APC on my centos vps, and then I ran into a trouble, so found some help here, now my PHP isn't working on apache.
Only the very root index.php works, no other root pages, none in sub directories. If I access the php directly, it forces a download of the file.
This is odd because php has always worked on the server for over a year. When I check error_log, I see this.
[Thu Feb 27 05:56:35 2014] [notice] caught SIGTERM, shutting down
[Thu Feb 27 05:56:35 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Feb 27 05:56:35 2014] [notice] Digest: generating secret for digest authentication ...
[Thu Feb 27 05:56:35 2014] [notice] Digest: done
[Thu Feb 27 05:56:35 2014] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations
Anyone have any ideas as to why this is happening?
That's actually a completely normal log
[Thu Feb 27 05:56:35 2014] [notice] caught SIGTERM, shutting down
SIGTERM is sent to daemons being shutdown/restarted
[Thu Feb 27 05:56:35 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
The server is starting, suExec is enabled
[Thu Feb 27 05:56:35 2014] [notice] Digest: generating secret for digest authentication ...
[Thu Feb 27 05:56:35 2014] [notice] Digest: done
Digest authentication is initialized
[Thu Feb 27 05:56:35 2014] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations
Apache is ready.
You should use the most paranoid logging settings you can for PHP, it hasn't yet told you what is wrong ;)
My following setup is Xampp 1.7.7 and here is the info for everything in that package:
- Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
I'm running the server on Windows XP SP3 32 bit OS, 4 gigs of ram, Quad Core.
The issue I'm having in my apache error log file is:
[Tue Apr 24 15:55:55 2012] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Tue Apr 24 15:55:57 2012] [notice] Digest: generating secret for digest authentication ...
[Tue Apr 24 15:55:57 2012] [notice] Digest: done
[Tue Apr 24 15:55:59 2012] [notice] Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[Tue Apr 24 15:55:59 2012] [notice] Server built: Sep 10 2011 11:34:11
[Tue Apr 24 15:55:59 2012] [notice] Parent: Created child process 776
[Tue Apr 24 15:56:00 2012] [notice] Disabled use of AcceptEx() WinSock2 API
[Tue Apr 24 15:56:01 2012] [notice] Digest: generating secret for digest authentication ...
[Tue Apr 24 15:56:01 2012] [notice] Digest: done
[Tue Apr 24 15:56:02 2012] [notice] Child 776: Child process is running
[Tue Apr 24 15:56:02 2012] [notice] Child 776: Acquired the start mutex.
[Tue Apr 24 15:56:02 2012] [notice] Child 776: Starting 350 worker threads.
[Tue Apr 24 15:56:02 2012] [notice] Child 776: Listening on port 443.
[Tue Apr 24 15:56:02 2012] [notice] Child 776: Listening on port 80.
This seems to occur sporadically throughout the day and I even tried using Win32DisableEx, EnableIMAP Off and EnableSendFile Off in the apache conf file. I also tried copying the libmysql.dll file to the system32 and apache/bin folders with no avail.
If anyone knows other reasons this error for the child process exiting and causing apache to crash, info would be greatly appreciated. If any additional log files are needed please let me know.
Tks,
Shane.
The error code 3221225477 is 0xC0000005 in hex, which on Windows is:
#define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005L)
Access violation is Windows' version of "segmentation fault", which simply said means that the program tried to access a memory which is not allocated. This can happen for a lot of different reasons, but mostly (if not always) is a bug in the program.
Now, my guess for your situation, is that there is either a bug in PHP or in one of PHP's extensions or in Perl or some Perl application. Apache itself is usually very stable, but if you use some unusual extension, it might be the cause, too.
I would suggest updating all your configuration to latest versions. If you want to find the source of the problem for sure, run Apache inside a debugger, like Visual Studio or OllyDbg. When the exception (access violation) happens, it will stop execution (instead of restarting) and you'll see in which module it is.
Also take a look in the access log, if there is a suspicious request with the same timestamp as the error. But it may happen that the crash happens before the request is saved in the logfile.