ID: 32002 Comment by: jonohlsson at hotmail dot com Reported By: tlamay at cte1 dot com Status: Open Bug Type: Apache2 related Operating System: Windows 2003 PHP Version: 4CVS-2005-02-17 New Comment:
must say i have this exact problem myself running win 2k / apache 1.3.33 / php 4.3.10 / Zend optimizer 2.5.7 and phpBB forum the apache log is filled with those erealloc errors and the browser page goes blank with a "server not found" message ...but i think it only happens if browsing with IE. mozilla works fine. weird isn't it? i've also tried changing php.ini memory settings, but this deosn't affect the apache log at all Previous Comments: ------------------------------------------------------------------------ [2005-02-17 20:46:17] tlamay at cte1 dot com Okay, after a bit of tweaking I got the latest PHP5 running. It crashes within 8-10 minutes. I have since migrated back to 4.3.10, the most stable version for me at the moment. Funny thing about the PHP5...when it crashes, Apache doesn't ever restart. The server stays completely down. I have to physically start it again. This behavior doesnt occur in 4.3.x. Thu Feb 17 14:31:26 2005] [notice] Parent: Created child process 6672 [Thu Feb 17 14:31:26 2005] [notice] Disabled use of AcceptEx() WinSock2 API [Thu Feb 17 14:31:35 2005] [notice] Child 6672: Child process is running [Thu Feb 17 14:31:35 2005] [notice] Child 6672: Acquired the start mutex. [Thu Feb 17 14:31:35 2005] [notice] Child 6672: Starting 750 worker threads. [Thu Feb 17 14:31:35 2005] [notice] Child 6672: Listening on port 443. [Thu Feb 17 14:31:35 2005] [notice] Child 6672: Listening on port 443. [Thu Feb 17 14:31:35 2005] [notice] Child 6672: Listening on port 80. [Thu Feb 17 14:31:35 2005] [notice] Child 6672: Listening on port 80. FATAL: erealloc(): Unable to allocate 98304 bytes [Thu Feb 17 14:39:29 2005] [notice] Parent: child process exited with status 1 -- Restarting. ------------------------------------------------------------------------ [2005-02-17 05:25:51] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip Please try the latest HEAD too so we'll see if this is any better there (some memleak fixes exist there which were not allowed to be backported to PHP_4_3 branch) ------------------------------------------------------------------------ [2005-02-17 05:10:17] tlamay at cte1 dot com I tried the very latest one, and as what happened when I tried the CVS before, it actually makes the problem much worse. Apache restarts every 5-10-15 minutes now versus every 30-45m with PHP 4.3.10. [Wed Feb 16 21:52:39 2005] [notice] Parent: Created child process 3148 [Wed Feb 16 21:52:39 2005] [notice] Disabled use of AcceptEx() WinSock2 API [Wed Feb 16 21:52:48 2005] [notice] Child 3148: Child process is running [Wed Feb 16 21:52:48 2005] [notice] Child 3148: Acquired the start mutex. [Wed Feb 16 21:52:48 2005] [notice] Child 3148: Starting 750 worker threads. [Wed Feb 16 21:52:48 2005] [notice] Child 3148: Listening on port 443. [Wed Feb 16 21:52:48 2005] [notice] Child 3148: Listening on port 443. [Wed Feb 16 21:52:48 2005] [notice] Child 3148: Listening on port 80. [Wed Feb 16 21:52:48 2005] [notice] Child 3148: Listening on port 80. FATAL: erealloc(): Unable to allocate 90112 bytes [Wed Feb 16 22:03:25 2005] [notice] Parent: child process exited with status 1 -- Restarting. [Wed Feb 16 22:03:26 2005] [notice] Parent: Created child process 852 [Wed Feb 16 22:03:26 2005] [notice] Disabled use of AcceptEx() WinSock2 API [Wed Feb 16 22:03:35 2005] [notice] Child 852: Child process is running [Wed Feb 16 22:03:35 2005] [notice] Child 852: Acquired the start mutex. [Wed Feb 16 22:03:35 2005] [notice] Child 852: Starting 750 worker threads. [Wed Feb 16 22:03:35 2005] [notice] Child 852: Listening on port 443. [Wed Feb 16 22:03:35 2005] [notice] Child 852: Listening on port 443. [Wed Feb 16 22:03:35 2005] [notice] Child 852: Listening on port 80. [Wed Feb 16 22:03:35 2005] [notice] Child 852: Listening on port 80. FATAL: erealloc(): Unable to allocate 90112 bytes [Wed Feb 16 22:09:17 2005] [notice] Parent: child process exited with status 1 -- Restarting. [Wed Feb 16 22:09:18 2005] [notice] Parent: Created child process 1792 [Wed Feb 16 22:09:18 2005] [notice] Disabled use of AcceptEx() WinSock2 API [Wed Feb 16 22:09:27 2005] [notice] Child 1792: Child process is running [Wed Feb 16 22:09:27 2005] [notice] Child 1792: Acquired the start mutex. [Wed Feb 16 22:09:27 2005] [notice] Child 1792: Starting 750 worker threads. [Wed Feb 16 22:09:27 2005] [notice] Child 1792: Listening on port 443. [Wed Feb 16 22:09:27 2005] [notice] Child 1792: Listening on port 443. [Wed Feb 16 22:09:27 2005] [notice] Child 1792: Listening on port 80. [Wed Feb 16 22:09:27 2005] [notice] Child 1792: Listening on port 80. FATAL: erealloc(): Unable to allocate 360448 bytes [Wed Feb 16 22:14:22 2005] [notice] Parent: child process exited with status 1 -- Restarting. [Wed Feb 16 22:14:24 2005] [notice] Parent: Created child process 2676 [Wed Feb 16 22:14:24 2005] [notice] Disabled use of AcceptEx() WinSock2 API ------------------------------------------------------------------------ [2005-02-17 02:39:33] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip ------------------------------------------------------------------------ [2005-02-16 19:10:19] tlamay at cte1 dot com Description: ------------ This problem occurs with PHP 4.3.9 and 4.3.10 and CVS versions of 4.3.11. Below is a snippet from Apache 2.0.52 error log. This restarting problem does not occur with 4.3.6 and 4.3.7. I have not fully tested 4.3.8. The restarts occur at regular intervals, and the least frequently with 4.3.10 (averaging every 30-45m). The Apache child thread restarts causing all web clients to disconnect (I guess this issue is particularly bad on Windows since there's only one child?) This can cause my ecommerce customers to loose POST data or mess up their orders in other ways, and at least cause time out issues on pages. I would love to know how to backtrace on Windows but I cant seem to find instructions. PHP error log isnt showing me anything relevant to the problem. This is on a live system so Im not sure what code is causing this. The server primarily runs osCommerce and vBulletin 3, all pages are pretty much PHP. I've tried increasing the memory allocation for PHP scripts from 8m to 40m, but this hasn't had an effect. Im willing to try other configurations as long as it doesn't disrupt my live websites too badly, to see where the bug might be. In regards to the system, it's currently running 1G of memory and is only using about half that at any given time. I will be upgrading the server to 3G of memory, however, Im not sure the physical memory is a limitation, apart from a memory leak somewhere. Thanks Wed Feb 16 11:20:58 2005] [notice] Parent: Created child process 5376 [Wed Feb 16 11:20:58 2005] [notice] Disabled use of AcceptEx() WinSock2 API [Wed Feb 16 11:21:06 2005] [notice] Child 5376: Child process is running [Wed Feb 16 11:21:06 2005] [notice] Child 5376: Acquired the start mutex. [Wed Feb 16 11:21:06 2005] [notice] Child 5376: Starting 750 worker threads. [Wed Feb 16 11:21:06 2005] [notice] Child 5376: Listening on port 443. [Wed Feb 16 11:21:06 2005] [notice] Child 5376: Listening on port 443. [Wed Feb 16 11:21:06 2005] [notice] Child 5376: Listening on port 80. [Wed Feb 16 11:21:06 2005] [notice] Child 5376: Listening on port 80. FATAL: erealloc(): Unable to allocate 22528 bytes [Wed Feb 16 11:42:05 2005] [notice] Parent: child process exited with status 1 -- Restarting. [Wed Feb 16 11:42:07 2005] [notice] Parent: Created child process 388 [Wed Feb 16 11:42:07 2005] [notice] Disabled use of AcceptEx() WinSock2 API [Wed Feb 16 11:42:14 2005] [notice] Child 388: Child process is running [Wed Feb 16 11:42:14 2005] [notice] Child 388: Acquired the start mutex. [Wed Feb 16 11:42:14 2005] [notice] Child 388: Starting 750 worker threads. [Wed Feb 16 11:42:14 2005] [notice] Child 388: Listening on port 443. [Wed Feb 16 11:42:14 2005] [notice] Child 388: Listening on port 443. [Wed Feb 16 11:42:14 2005] [notice] Child 388: Listening on port 80. [Wed Feb 16 11:42:14 2005] [notice] Child 388: Listening on port 80. FATAL: erealloc(): Unable to allocate 22528 bytes [Wed Feb 16 12:26:05 2005] [notice] Parent: child process exited with status 1 -- Restarting. [Wed Feb 16 12:26:06 2005] [notice] Parent: Created child process 6032 [Wed Feb 16 12:26:06 2005] [notice] Disabled use of AcceptEx() WinSock2 API [Wed Feb 16 12:26:14 2005] [notice] Child 6032: Child process is running [Wed Feb 16 12:26:14 2005] [notice] Child 6032: Acquired the start mutex. [Wed Feb 16 12:26:14 2005] [notice] Child 6032: Starting 750 worker threads. [Wed Feb 16 12:26:14 2005] [notice] Child 6032: Listening on port 443. [Wed Feb 16 12:26:14 2005] [notice] Child 6032: Listening on port 443. [Wed Feb 16 12:26:14 2005] [notice] Child 6032: Listening on port 80. [Wed Feb 16 12:26:15 2005] [notice] Child 6032: Listening on port 80. Terminating on signal SIGTERM(15) [Wed Feb 16 12:33:19 2005] [notice] Parent: Created child process 2044 [Wed Feb 16 12:33:19 2005] [notice] Disabled use of AcceptEx() WinSock2 API [Wed Feb 16 12:33:26 2005] [notice] Child 2044: Child process is running [Wed Feb 16 12:33:26 2005] [notice] Child 2044: Acquired the start mutex. [Wed Feb 16 12:33:26 2005] [notice] Child 2044: Starting 750 worker threads. [Wed Feb 16 12:33:26 2005] [notice] Child 2044: Listening on port 443. [Wed Feb 16 12:33:26 2005] [notice] Child 2044: Listening on port 443. [Wed Feb 16 12:33:26 2005] [notice] Child 2044: Listening on port 80. [Wed Feb 16 12:33:26 2005] [notice] Child 2044: Listening on port 80. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=32002&edit=1