|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2006-03-17 11:43 UTC] marcele at danami dot com
Description: ------------ After upgrading APC-3.0.8 to APC-3.0.10 my PHP fast-cgi process randomly dies. (this happens on both my devel and production servers) Running Kernel: 2.4.27-2-386 GCC 3.3.5 (Debian 1:3.3.5-13) PHP Version 5.1.2-1 APC APC Support enabled Version 3.0.10 MMAP Support Disabled Revision $Revision: 3.84 $ Build Date Mar 17 2006 07:59:43 Directive Local Value Master Value apc.cache_by_default On On apc.enable_cli Off Off apc.enabled On On apc.file_update_protection 2 2 apc.filters no value no value apc.gc_ttl 3600 3600 apc.max_file_size 1M 1M apc.num_files_hint 1000 1000 apc.optimization Off Off apc.shm_segments 1 1 apc.shm_size 30 30 apc.slam_defense Off Off apc.stat On On apc.ttl 0 0 apc.user_entries_hint 100 100 apc.user_ttl 0 0 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 21:00:01 2025 UTC |
I am getting a very similar problem with FastCGI running on Windows with IIS and the recently released "production ready" FastCGI plugin from Microsoft. Randomly, my FastCGI process dies and I get a FastCGI error in the browser as follows: FastCGI Error The FastCGI Handler was unable to process the request. Error Details: * The FastCGI process exited unexpectedly * Error Number: -2147467259 (0x80004005). * Error Description: Unspecified error HTTP Error 500 - Server Error. Internet Information Services (IIS) This is with FastCGI configured to use protocol=NamedPipe. When I switch to protocol=Tcp I get an error a lot less often but I still occassionally see the following: FastCGI Error The FastCGI Handler was unable to process the request. Error Details: * Error Number: 64 (0x80070040). * Error Description: The specified network name is no longer available. HTTP Error 500 - Server Error. Internet Information Services (IIS) After this error I also get an error in the Event Log as follows: Faulting application php-cgi.exe, version 5.2.4.4, faulting module php_apc.dll, version 5.2.4.4, fault address 0x00003746. When I disable APC the errors go away indicating that it is an APC issue. Configuration is IIS 6.0 running on Windows Server 2003 SP2 with PHP 5.2.4 (Non-thread-safe version) although I also experience the same problem with PHP 5.2.1 standard (thread-safe) version.I believe this issue is caused when APC attempts to cache a missing source file, typically in a 404 situation. APC should check for an empty length filename prior to attempting to compile / cache it. Setting cgi.fix_pathinfo=0 solves the problem for me. Here is my backtrace: (gdb) bt #0 0xb76fb211 in fread () from /lib/i686/cmov/libc.so.6 #1 0x083e6067 in zend_stream_stdio_reader () #2 0x083e60ec in zend_stream_read () #3 0x083b043e in lex_scan () #4 0x083b6988 in zendlex () #5 0x083aaa2b in zendparse () #6 0x083b1a1b in compile_file () #7 0xb75012a0 in my_compile_file (h=0xbfa72fd8, type=8) at /usr/local/src/APC-3.1.3p1/apc_main.c:525 #8 0x083d1a4d in zend_execute_scripts () #9 0x083870ea in php_execute_script () #10 0x08443a88 in main () And here you can see the empty filename which APC is attempting to compile / cache: (gdb) frame 7 #7 0xb75012a0 in my_compile_file (h=0xbfa72fd8, type=8) at /usr/local/src/APC-3.1.3p1/apc_main.c:525 525 return old_compile_file(h, type TSRMLS_CC); (gdb) info locals key = {data = {file = {device = 3215387700, inode = 154996816}, user = {identifier = 0xbfa6ec34 "", identifier_len = 0}, fpfile = {fullpath = 0xbfa6ec34 "", fullpath_len = 0}}, mtime = 30, type = 0 '\0', md5 = "\000\000\004", '\0' <repeats 12 times>} cache_entry = <value optimized out> op_array = (zend_op_array *) 0x0 t = 1263419930 ctxt = {pool = 0x0, copy = APC_NO_COPY, force_update = 0} bailout = <value optimized out>