I am running a drupal powered intranet and have been getting connection reset errors when using various admin pages (particularly saving views, even simple ones). I would like to figure out how I can troubleshoot the cause and then fix this problem.

Set up:
VMware based Windows 2008 R2 Standard Server 64Bit
4GB Ram
Apache 2.2.17 Win32
PHP 5.3.6
php.ini memory limit 256M

Drupal 6.22
MySQL 5.5.14 runs on separate VMware based server

Chrome* output when problem occurs:
Error 101 (net::ERR_CONNECTION_RESET): The connection was reset.

*similar errors on any browser..

Here is the Apache Log:
[Thu Dec 15 13:37:11 2011] [notice] Parent: child process exited with status 255 -- Restarting.
[Thu Dec 15 13:37:12 2011] [notice] Apache/2.2.17 (Win32) PHP/5.3.6 configured -- resuming normal operations
[Thu Dec 15 13:37:12 2011] [notice] Server built: Oct 18 2010 19:45:39
[Thu Dec 15 13:37:12 2011] [notice] Parent: Created child process 5040
[Thu Dec 15 13:37:13 2011] [notice] Child 5040: Child process is running
[Thu Dec 15 13:37:13 2011] [info] Parent: Duplicating socket 440 and sending it to child process 5040
[Thu Dec 15 13:37:13 2011] [notice] Child 5040: Acquired the start mutex.
[Thu Dec 15 13:37:13 2011] [notice] Child 5040: Starting 256 worker threads.
[Thu Dec 15 13:37:13 2011] [notice] Child 5040: Starting thread to listen on port 80.

Here is the Windows Event Log:

Faulting application name: httpd.exe, version: 2.2.17.0, time stamp: 0x4cbc89f4
Faulting module name: php5ts.dll, version: 5.3.6.0, time stamp: 0x4d81e545
Exception code: 0xc0000005
Fault offset: 0x0008d9e7
Faulting process id: 0x1a8
Faulting application start time: 0x01ccbb523dc91495
Faulting application path: C:\Apache2\bin\httpd.exe
Faulting module path: C:\PHP\php5ts.dll
Report Id: f15228f3-2764-11e1-8753-005056b03cf3

Sometimes Apache will recover and load a subsequent page request, other times i have to restart Apache.

Please help.. this site is really low traffic, but as user adoption grows and more communication is pushed to the drupal site, I have to have a reliable platform.

Comments

john_b’s picture

deleted, thought I could advise but changed my mind owing to lack of experience with Windows servers. Sorry! There would be several advantages to replacing Windows with Linux... Apache prefork on Linux is very stable.

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors

mightaswell’s picture

Thanks John.. I'd love to move this to a Linux box and it shouldn't me a big deal since our environment is all VM anyway, but we don't have any 'linux' experts so the Infrastructure team wont let me do it.

I know I considered running this on IIS, in fact I think I started with IIS but decided that the Apache/Win was better in the long run.. I just cant seem to figure out how to troubleshoot this issue..

Maybe I will get lucky and someone else with more experience will find this post.

nanobyt3’s picture

I had the same issue "Parent: child process exited with status 255 -- Restarting." on my server with below configuration.

- Windows 7
- Apache Server 2.2.25
- PHP 5.2.17 / 5.3.27
- MySQL Server 5.6

*Note that this is not a XAMPP or WAMPP setup. All components were individually installed.

This error occurs due to multiple reasons, the answer for some of which you can find directly via google but unfortunately mine was not one of them. After spending a lot of head scratching, I finally got it working. The issue was due to stack size allocated to Apache threads. This can be resolved by setting 'ThreadStackSize' to a higher value. Add the below line to your httpd.conf or better enable loading of httpd-mpm.conf and add it there.

    <IfModule mpm_winnt_module>
        ThreadStackSize  8388608
    </IfModule>

P.S. Personally, I prefer using a Linux box :)

seanb’s picture

Had this problem with some applications for a while and always worked around it. After adding the ThreadStackSize settings in httpd.conf it all works again!

Thank you!

wombatman’s picture

Was trying to install aGov and govCMS distributions on WAMP (Apache : 2.4.9 MySQL : 5.6.17 PHP : 5.5.12 PHPMyAdmin : 4.1.14 SqlBuddy : 1.3.3 XDebug : 2.2.5).

Getting WSOD after first install screen.

This fixed the problem for me.

This was showing in my Windows Application log.

Faulting application name: httpd.exe, version: 2.4.9.0, time stamp: 0x53258cd5
Faulting module name: php5ts.dll, version: 5.5.12.0, time stamp: 0x53614545
Exception code: 0xc00000fd
Fault offset: 0x000000000013932c
Faulting process id: 0x24e4
Faulting application start time: 0x01d16fdf5c44040c
Faulting application path: C:\wamp\bin\apache\apache2.4.9\bin\httpd.exe
Faulting module path: C:\wamp\bin\apache\apache2.4.9\bin\php5ts.dll
Report Id: 9e31789a-dbd2-11e5-ba59-a0481ca2ee0a

Other distributions and vanilla Drupal had all worked fine up until this point.

Thanks you.

CheckeredFlag’s picture

I wonder if you're seeing the 4096 byte PHP bug. See PHP bug 61166 and the workaround in my comments there. Note this only appears to affect Windows. Hope this helps.

If this affects you, vote on this bug to raise its priority which continues to remain unfixed in 5.3.10 and snapshots as recent as 2/22. Seems like it's been hard to get their attention.

marktheshark’s picture

I had issues also on a Linux server IIRC, probably due to the same bug. Cannot reproduce at this time.

A local site I just set up fails with ERR_CONNECTION_RESET.

Since it appears this will not be definitely fixed any time soon and hosting companies are also unlikely to roll out the update quickly after that either, something else needs to be done.

Is there some tooling that can be developed so that Drupal devs do not accidentally commit a file to source control that may cause PHP to choke? e.g. a script that checks for all filesizes multiple of 4096 and applies padding to them?

CheckeredFlag’s picture

This bug reported previously as PHP bug 60758 has been acknowledged so hopefully a fix will be implemented in 5.3.11 (whenever that might be).

CheckeredFlag’s picture

Looks like this bug has been fixed in 5.3.11.