ID: 26771 Comment by: fredrik at demomusic dot nu Reported By: info at tphnet dot com Status: Verified Bug Type: Apache2 related Operating System: * (ZTS only!) PHP Version: 5CVS, 4CVS (2005-06-17) New Comment:
It seems to be the "declare(ticks=1);" that causes the crash. Some have reported that it does not crash when the reg-function is commented out (I am one of those). Although it could also be the combination of register_tick_function() and declare(ticks=1). Apache log when crashing: [Sat Jan 03 01:11:04 2004] [notice] Parent: child process exited with status 3221225477 -- Restarting. [Sat Jan 03 01:11:04 2004] [notice] Parent: Created child process 3036 [Sat Jan 03 01:11:04 2004] [notice] Child 3036: Child process is running [Sat Jan 03 01:11:04 2004] [notice] Child 3036: Acquired the start mutex. [Sat Jan 03 01:11:04 2004] [notice] Child 3036: Starting 250 worker threads. When apache crashes, it comes up with the standard XP error reporting window. The data it wants to send to Microsoft includes the following: <?xml version="1.0" encoding="UTF-16"?> <DATABASE> <EXE NAME="Apache.exe" FILTER="GRABMI_FILTER_PRIVACY"> <MATCHING_FILE NAME="Apache.exe" SIZE="20545" CHECKSUM="0xD47235F3" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:03:35" UPTO_LINK_DATE="05/11/2004 17:03:35" /> <MATCHING_FILE NAME="ApacheCore.dll" SIZE="331845" CHECKSUM="0x59DF3602" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:03:34" UPTO_LINK_DATE="05/11/2004 17:03:34" /> <MATCHING_FILE NAME="Win9xConHook.dll" SIZE="20560" CHECKSUM="0x252AB831" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:02:44" UPTO_LINK_DATE="05/11/2004 17:02:44" /> <MATCHING_FILE NAME="xmlparse.dll" SIZE="36946" CHECKSUM="0xE27B203F" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:03:08" UPTO_LINK_DATE="05/11/2004 17:03:08" /> <MATCHING_FILE NAME="xmltok.dll" SIZE="73808" CHECKSUM="0x2B9F157F" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:03:07" UPTO_LINK_DATE="05/11/2004 17:03:07" /> <MATCHING_FILE NAME="bin\htdigest.exe" SIZE="20555" CHECKSUM="0x3EE134D3" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:03:02" UPTO_LINK_DATE="05/11/2004 17:03:02" /> <MATCHING_FILE NAME="bin\htpasswd.exe" SIZE="36939" CHECKSUM="0xD7F4A01C" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:03:01" UPTO_LINK_DATE="05/11/2004 17:03:01" /> <MATCHING_FILE NAME="bin\logresolve.exe" SIZE="16461" CHECKSUM="0xCEEDE9C6" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:03:02" UPTO_LINK_DATE="05/11/2004 17:03:02" /> <MATCHING_FILE NAME="bin\rotatelogs.exe" SIZE="24653" CHECKSUM="0x90CD346A" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="05/11/2004 17:03:05" UPTO_LINK_DATE="05/11/2004 17:03:05" /> </EXE> <EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY"> <MATCHING_FILE NAME="kernel32.dll" SIZE="930304" CHECKSUM="0xCBCCF8A9" BIN_FILE_VERSION="5.1.2600.1106" BIN_PRODUCT_VERSION="5.1.2600.1106" PRODUCT_VERSION="5.1.2600.1106" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.1.2600.1106 (xpsp1.020828-1920)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xE7ED3" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.1106" UPTO_BIN_PRODUCT_VERSION="5.1.2600.1106" LINK_DATE="08/29/2002 10:40:40" UPTO_LINK_DATE="08/29/2002 10:40:40" VER_LANGUAGE="English (United States) [0x409]" /> </EXE> </DATABASE> Hope this helps resolve the matter more quickly! Previous Comments: ------------------------------------------------------------------------ [2004-01-02 19:23:33] info at tphnet dot com Description: ------------ While searching the bug database I found some similar problems, but all were suspended. I wasn't sure if it was useful to reply to one of those (Most recent one: http://bugs.php.net/bug.php?id=26286). Well anyways, here goes: The problem is very simple. I just copy and paste the 'tick' example from the php manual into a new php file an try to execute it on my apache2 server. The apache child process crashes, restarts, crashes, restarts and eventually just stops restarting. When I comment out the line 'register_tick_function', everyting works just fine. Also, when I start the file from the CLI version of PHP it is executed without any problems. I'm using PHP 4.3.4 and Apache 2.0.48 (in conjunction with php4apache2.dll). Reproduce code: --------------- http://nl.php.net/manual/en/control-structures.declare.php See Example 11-1 Actual result: -------------- [Sat Jan 03 01:11:04 2004] [notice] Parent: child process exited with status 3221225477 -- Restarting. [Sat Jan 03 01:11:04 2004] [notice] Parent: Created child process 3036 [Sat Jan 03 01:11:04 2004] [notice] Child 3036: Child process is running [Sat Jan 03 01:11:04 2004] [notice] Child 3036: Acquired the start mutex. [Sat Jan 03 01:11:04 2004] [notice] Child 3036: Starting 250 worker threads. Small snippit from my apache2 error.log. It's filled with the above lines, the status code is the same for every restart. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26771&edit=1