"The server closed the connection without sending any data"

  1. Server setup
  2. The problem
  3. Diagnostic information
  4. What I've tried
  5. Specific Help needed

1. I have the following server setup:

(Running in a VM using Hyper-V)

Debian Squeeze

Linux 2.6.32-5-amd64

Apache2-mpm-prefork 2.2.16-6+squeeze10

PHP 5.3.3-7+squeeze14

This server is protected with the Suhosin Patch 0.9.9.1

Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100

Timeouts Connection: 300 - Keep-Alive: 15

Loaded Modules core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_auth_digest mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status

Wordpress 3.4.2 (Upgrading to 3.5 soon :)


2. The problem

When I restart the server (sudo shutdown -r now), going to any website page results in the following error from the web browser (in this case, Google Chrome, but other browsers also show the same error). This error can also occur an hour or so after all is working ok, seemingly randomly, which is my biggest concern as it means my server is not reliable:

No data received Unable to load the web page because the server sent no data. Here are some suggestions: Reload this web page later. Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without >sending any data.


3. Diagnostic information The apache error log contains the folowing entries:

[Fri Dec 14 22:23:27 2012] [notice] child pid 1955 exit signal Floating point exception (8)

[Fri Dec 14 22:23:27 2012] [notice] child pid 1956 exit signal Floating point exception (8)

[Fri Dec 14 22:23:29 2012] [notice] child pid 1957 exit signal Floating point exception (8)

[Fri Dec 14 22:23:30 2012] [notice] child pid 1958 exit signal Floating point exception (8)

[Fri Dec 14 22:23:32 2012] [notice] child pid 1959 exit signal Floating point exception (8)

[Fri Dec 14 22:23:32 2012] [notice] child pid 1960 exit signal Floating point exception (8)

[Fri Dec 14 22:23:34 2012] [notice] child pid 1961 exit signal Floating point exception (8)

[Fri Dec 14 22:23:34 2012] [notice] child pid 1962 exit signal Floating point exception (8)


4. What I've tried

a) I can 'fix' the website temporarily by resetting the server twice (resetting it once does not work) using the following commands. NB: the 'reload' option does not work, I have to use restart twice. However, the error can reoccur sometime later.

sudo /etc/init.d/apache2 restart sudo /etc/init.d/apache2 restart

b) I have tried disabling suhosin by uninstalling php5-suhosin, but a php info page still shows "This server is protected with the Suhosin Patch 0.9.9.1". I have tried putting Suhosin into simulation mode by creating a file /etc/php5/apache2/conf.d/suhosin.ini containing:

[suhosin] suhosin.simulation = On

The php info page shows the suhosin.ini file in the list of "Additional .ini files parsed" but the php info page still shows "This server is protected with the Suhosin Patch 0.9.9.1"

c) Increasing the PHP memory limit In /etc/php5/apache2/ :

; Maximum amount of memory a script may consume (128MB)

; http://php.net/memory-limit

memory_limit = 512M

d) Disabling all Wordpress plugins, and going back to the default theme.


5. Specific help needed I would very much like help in debugging what is going on here. I am not sure how to determine what processes are in the Apache error log which are exiting "[notice] child pid 1955 exit signal Floating point exception (8)", or what is causing them to exit. And whether suhosin is part of the problem (and how to disable it if it is).

Thank you in advance for any advice or tips you can offer in helping me debug this.


Solution 1:

Do you have the xdebug php extension enabled? I disabled it in my php configuration files and haven't had a similar crash since.

Update: the error is back so xdebug extension isn't the cause...