2010/1/26 Peter Kropf <[email protected]>:
> I'm trying to get mod_wsgi running on my OS X development system for
> use with a Django application and I'm running into a problem when
> using WSGIDaemonProcess. I'm running apache 2.2.14 from mac ports and
> mod_wsgi 3.1 from the source code distribution.
>
> If I follow the example from 
> http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide,
> all is right with the world. When I add the WSGIDaemonProcess (and
> WSGIProcessGroup) the example still works fine.
>
> When I create an empty Django application via django-admin-2.6.py and
> I run it with the example .wsgi file from
> http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango w/o the
> WSGIDaemonProcess directive, it works just fine. However, when I add
> the WSGIDaemonProcess directive and try to access the page, I receive
> a 500 internal server error and the apache error log shows:
>
> [Mon Jan 25 15:23:07 2010] [info] [client ::1] mod_wsgi (pid=88975,
> process='dev', application='fog|/wsgi/mysite'): Loading WSGI script '/
> Users/peter/stuff/wsgi/mysite/apache/mysite.wsgi'.
> [Mon Jan 25 15:23:08 2010] [info] mod_wsgi (pid=88985): Initializing
> Python.
> [Mon Jan 25 15:23:08 2010] [info] mod_wsgi (pid=88985): Attach
> interpreter ''.
> [Mon Jan 25 15:23:08 2010] [error] [client ::1] Premature end of
> script headers: mysite.wsgi
> [Mon Jan 25 15:23:08 2010] [error] [client ::1] File does not exist: /
> opt/local/apache2/htdocs/favicon.ico, referer: http://localhost/wsgi/mysite
> [Mon Jan 25 15:23:09 2010] [notice] child pid 88975 exit signal Trace/
> BPT trap (5)
> [Mon Jan 25 15:23:09 2010] [info] mod_wsgi (pid=88975): Process 'dev'
> has died, restarting.
>
>
> My httpd.conf file is:
>
> ServerRoot "/opt/local/apache2"
> Listen 80
>
> LoadModule authn_file_module modules/mod_authn_file.so
> LoadModule authn_dbm_module modules/mod_authn_dbm.so
> LoadModule authn_anon_module modules/mod_authn_anon.so
> LoadModule authn_dbd_module modules/mod_authn_dbd.so
> LoadModule authn_default_module modules/mod_authn_default.so
> LoadModule authz_host_module modules/mod_authz_host.so
> LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
> LoadModule authz_user_module modules/mod_authz_user.so
> LoadModule authz_dbm_module modules/mod_authz_dbm.so
> LoadModule authz_owner_module modules/mod_authz_owner.so
> LoadModule authz_default_module modules/mod_authz_default.so
> LoadModule auth_basic_module modules/mod_auth_basic.so
> LoadModule auth_digest_module modules/mod_auth_digest.so
> LoadModule file_cache_module modules/mod_file_cache.so
> LoadModule cache_module modules/mod_cache.so
> LoadModule disk_cache_module modules/mod_disk_cache.so
> LoadModule mem_cache_module modules/mod_mem_cache.so
> LoadModule dbd_module modules/mod_dbd.so
> LoadModule dumpio_module modules/mod_dumpio.so
> LoadModule ext_filter_module modules/mod_ext_filter.so
> LoadModule include_module modules/mod_include.so
> LoadModule filter_module modules/mod_filter.so
> LoadModule substitute_module modules/mod_substitute.so
> LoadModule deflate_module modules/mod_deflate.so
> LoadModule log_config_module modules/mod_log_config.so
> LoadModule log_forensic_module modules/mod_log_forensic.so
> LoadModule logio_module modules/mod_logio.so
> LoadModule env_module modules/mod_env.so
> LoadModule mime_magic_module modules/mod_mime_magic.so
> LoadModule cern_meta_module modules/mod_cern_meta.so
> LoadModule expires_module modules/mod_expires.so
> LoadModule headers_module modules/mod_headers.so
> LoadModule ident_module modules/mod_ident.so
> LoadModule usertrack_module modules/mod_usertrack.so
> LoadModule unique_id_module modules/mod_unique_id.so
> LoadModule setenvif_module modules/mod_setenvif.so
> LoadModule version_module modules/mod_version.so
> LoadModule proxy_module modules/mod_proxy.so
> LoadModule proxy_connect_module modules/mod_proxy_connect.so
> LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
> LoadModule proxy_http_module modules/mod_proxy_http.so
> LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
> LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
> LoadModule ssl_module modules/mod_ssl.so
> LoadModule mime_module modules/mod_mime.so
> LoadModule dav_module modules/mod_dav.so
> LoadModule status_module modules/mod_status.so
> LoadModule autoindex_module modules/mod_autoindex.so
> LoadModule asis_module modules/mod_asis.so
> LoadModule info_module modules/mod_info.so
> LoadModule cgi_module modules/mod_cgi.so
> LoadModule dav_fs_module modules/mod_dav_fs.so
> LoadModule vhost_alias_module modules/mod_vhost_alias.so
> LoadModule negotiation_module modules/mod_negotiation.so
> LoadModule dir_module modules/mod_dir.so
> LoadModule imagemap_module modules/mod_imagemap.so
> LoadModule actions_module modules/mod_actions.so
> LoadModule speling_module modules/mod_speling.so
> LoadModule userdir_module modules/mod_userdir.so
> LoadModule alias_module modules/mod_alias.so
> LoadModule rewrite_module modules/mod_rewrite.so
> LoadModule php5_module        modules/libphp5.so
> LoadModule wsgi_module modules/mod_wsgi.so
>
> <IfModule !mpm_netware_module>
> <IfModule !mpm_winnt_module>
> User www-data
> Group www-data
>
> </IfModule>
> </IfModule>
>
> ServerAdmin [email protected]
>
> DocumentRoot "/opt/local/apache2/htdocs"
>
> <Directory />
>    Options FollowSymLinks
>    AllowOverride None
>    Order deny,allow
>    Deny from all
> </Directory>
>
> <Directory "/opt/local/apache2/htdocs">
>    Options Indexes FollowSymLinks
>
>    AllowOverride None
>
>    Order allow,deny
>    Allow from all
>
> </Directory>
>
> <IfModule dir_module>
>    DirectoryIndex index.html
> </IfModule>
>
> <Files ~ "^<.([Hh][Tt]|[Dd][Ss]_[Ss])">
>    Order allow,deny
>    Deny from all
>    Satisfy All
> </Files>
>
> <Files "rsrc">
>    Order allow,deny
>    Deny from all
>    Satisfy All
> </Files>
>
> <Directory  ~ ".\.\.namedfork">
>    Order allow,deny
>    Deny from all
>    Satisfy All
> </Directory>
>
> ErrorLog "logs/error_log"
>
> LogLevel info
>
> <IfModule log_config_module>
>    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-
> Agent}i\"" combined
>    LogFormat "%h %l %u %t \"%r\" %>s %b" common
>
>    <IfModule logio_module>
>      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-
> Agent}i\" %I %O" combinedio
>    </IfModule>
>
>    CustomLog "logs/access_log" common
> </IfModule>
>
> <IfModule alias_module>
>    ScriptAlias /cgi-bin/ "/opt/local/apache2/cgi-bin/"
> </IfModule>
>
> <IfModule cgid_module>
> </IfModule>
>
> <Directory "/opt/local/apache2/cgi-bin">
>    AllowOverride None
>    Options None
>    Order allow,deny
>    Allow from all
> </Directory>
>
> DefaultType text/plain
>
> <IfModule mime_module>
>    TypesConfig conf/mime.types
>    AddType application/x-compress .Z
>    AddType application/x-gzip .gz .tgz
> </IfModule>
>
> <IfModule ssl_module>
> SSLRandomSeed startup builtin
> SSLRandomSeed connect builtin
> </IfModule>
>
> ExtendedStatus On
>
> <Location /server-status>
>  SetHandler server-status
>  Order allow,deny
>  Allow from localhost
> </Location>
>
> Alias /media /opt/local/Library/Frameworks/Python.framework/Versions/
> 2.6/lib/python2.6/site-packages/django/contrib/admin/media
>
> <Directory /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
> lib/python2.6/site-packages/django/contrib/admin/media>
>    Order allow,deny
>    Allow from all
> </Directory>
>
> Alias /site_media /Users/peter/TheCrucible/svn/tools/media
>
> <Directory /Users/peter/TheCrucible/svn/tools/media>
>    Order allow,deny
>    Allow from all
> </Directory>
>
> WSGIDaemonProcess dev user=peter group=staff processes=5 threads=1
>
> WSGIScriptAlias /wsgi/test /Users/peter/stuff/wsgi/test/app.wsgi
>
> <Directory /Users/peter/stuff/wsgi/test>
>    WSGIProcessGroup dev
>    order allow,deny
>    allow from all
> </Directory>
>
> WSGIScriptAlias /wsgi/mysite /Users/peter/stuff/wsgi/mysite/apache/
> mysite.wsgi
>
> <Directory /Users/peter/stuff/wsgi/mysite/apache>
>    WSGIProcessGroup dev
>    order allow,deny
>    allow from all
> </Directory>
>
>
> Any suggestions on where to look for an answer?

Are you using Python as supplied by Apple or from elsewhere?

Since the problem is due to daemon process crashing, the quickest
thing to do is work out where. That may then save round about path of
suggesting all the possibilities.

So, following instructions in:

  
http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Debugging_Crashes_With_GDB

for using gdb to capture stack trace for crash of daemon mode process.

That is, use default of single process as provided by
WSGIDaemonProcess, use logs to identify the process ID easily. Need to
set LogLevel to 'info' in Apache to get that information. Attach gdb
to that process ID and then trigger request. Use gdb to get stack
trace for all threads.

Various of the reasons for crashes re described in:

  http://code.google.com/p/modwsgi/wiki/ApplicationIssues

It is a bit odd that you would get it for empty Django installation.
Although that depends a bit on which Python installation is being
used.

Graham

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to