Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a web server based on Ubuntu Server 9.10 with this software:

apache 2
PHP 5.3
MySQL 5
Python 2.5

Few of my websites are PHP based, few use python/django through mod_wsgi.

For month or so, every day my apache server stops responding until I manually restart it.

Error logs show:

[Fri Mar 05 17:06:47 2010] [error] could not make child process 25059 exit, attempting to continue anyway
[Fri Mar 05 17:06:47 2010] [error] could not make child process 25061 exit, attempting to continue anyway
[Fri Mar 05 17:06:47 2010] [error] could not make child process 24930 exit, attempting to continue anyway
[Fri Mar 05 17:06:47 2010] [error] could not make child process 25084 exit, attempting to continue anyway
[Fri Mar 05 17:06:47 2010] [error] could not make child process 25105 exit, attempting to continue anyway

and so on.

I tried to google this problem but it seems, that I can't find a solution there.

How can I determine the cause of this error and how do I fix it?

Thank you for your help.

UPDATE

  • Updating mod-wsgi to version 3.1 didn't solve the problem
  • Updating PHP to 5.3 also didn't solve it

Here is a list of all installed modules:

core
mod_log_config
mod_logio
prefork
http_core
mod_so
mod_alias
mod_auth_basic
mod_authn_file
mod_authz_default
mod_authz_groupfile
mod_authz_host
mod_authz_user
mod_autoindex
mod_cgi
mod_deflate
mod_dir
mod_env
mod_mime
mod_negotiation
mod_php5 mod_rewrite
mod_setenvif
mod_status
mod_wsgi

Here's how my virtual host with wsgi looks:

<VirtualHost *:80>
    ServerName example.net
    DocumentRoot /var/www/example.net
    #wcgi script that serves all the thing
    WSGIScriptAlias / /var/www/example.net/index.wsgi
    WSGIDaemonProcess example user=wsgideamonuser group=root processes=1 threads=10
    WSGIProcessGroup example

    Alias /static /var/www/example.net/static
    #serving admin files
    Alias /media/ /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/

    <Location "/static">
        SetHandler None
    </Location>
    <Location "/media">
        SetHandler None
    </Location>

    ErrorLog /var/www/example.net/error.log
</VirtualHost>

Error log now contains two types of errors fallowed one by another:

[error] child process 9486 still did not exit, sending a SIGKILL
[error] could not make child process 9106 exit, attempting to continue anyway
share|improve this question
add comment

1 Answer

up vote 0 down vote accepted

The error comes from server/mpm_common.c in Apache source code. When Apache goes to reclaim server child process, presumably when they are triggered to shutdown, the processes aren't actually dying. The processes have likely hung for some reason.

To eliminate mod_wsgi or Python as an issue, ensure you are using mod_wsgi 3.1 and use daemon mode, not embedded mode, of mod_wsgi.

share|improve this answer
    
Thank you for reply. I've upgraded to mod-wsgi 3.1, but error persists. I've updated the question with new details. –  Temnovit Mar 9 '10 at 9:33
    
Outside of the VirtualHost, add 'WSGIRestrictEmbedded On'. This will ensure that Python interpreter not initialised at all in Apache server child processes and only in daemon mode processes. –  Graham Dumpleton Mar 9 '10 at 19:21
    
Problem persists :( But it now hasppens only once in 2-3 days. Guess it's a progress. Thank you, I'll keep looking. –  Temnovit Mar 15 '10 at 12:34
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.