Hello Graham
On 22 nov, 17:20, Graham Dumpleton <[email protected]> wrote: > On 23 November 2011 01:33, caroline <[email protected]> wrote: > > > > > > > > > > > Hi Graham > > > I've made the change you mentioned on the main apache configuration > > file, but now the error message of 'premature end of script headers' > > appears almost constantly. It appears like this in the vhost error > > log: > > > [Tue Nov 22 09:21:19 2011] [error] [client 172.16.0.2] Premature end > > of script headers: pinax.wsgi, referer: > > http:///www.myvhost2.com/account/login/?next=/ > > [Tue Nov 22 09:21:19 2011] [error] [client 172.16.0.2] Premature end > > of script headers: pinax.wsgi, referer:http://www.myvhost2.com/lms/courses/ > > [Tue Nov 22 09:21:19 2011] [error] [client 172.16.0.2] Premature end > > of script headers: pinax.wsgi, referer:http://www.myvhost2.com/lms/courses/ > > [Tue Nov 22 09:21:20 2011] [info] mod_wsgi (pid=25450): Attach > > interpreter ''. > > [Tue Nov 22 09:21:20 2011] [info] mod_wsgi (pid=25450): Adding '/var/ > > quicklearn/env/lib/python2.6/site-packages' to path. > > [Tue Nov 22 09:21:20 2011] [info] mod_wsgi (pid=25450): Adding '/var/ > > quicklearn/trunk' to path. > > [Tue Nov 22 09:21:21 2011] [info] [client 172.16.0.2] mod_wsgi > > (pid=25450, process='quicklearn', application=''): Loading WSGI script > > '/var/quicklearn/trunk/deploy/pinax.wsgi'. > > Anything prior to this in same time frame? > > > And in the apache main error log at the same time : > > > [Tue Nov 22 09:20:31 2011] [info] mod_wsgi (pid=25149): Process > > 'quicklearn' has died, restarting. > > Were there any messages in main Apache error log prior to this in same > time frame. In the apache error log file i only found messages like this: [Wed Nov 23 17:01:59 2011] [info] mod_wsgi (pid=25954): Process 'quicklearn' has died, restarting. [Wed Nov 23 17:01:59 2011] [info] mod_wsgi (pid=14133): Starting process 'quicklearn' with uid=48, gid=48 and threads=16. [Wed Nov 23 17:02:09 2011] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 14165 for worker proxy:reverse [Wed Nov 23 17:02:09 2011] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized [Wed Nov 23 17:02:09 2011] [debug] proxy_util.c(1934): proxy: initialized single connection worker 0 in child 14165 for (*) [Wed Nov 23 17:02:44 2011] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 14169 for worker proxy:reverse [Wed Nov 23 17:02:44 2011] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized [Wed Nov 23 17:02:44 2011] [debug] proxy_util.c(1934): proxy: initialized single connection worker 0 in child 14169 for (*) [Wed Nov 23 17:03:38 2011] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 14187 for worker proxy:reverse [Wed Nov 23 17:03:38 2011] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized [Wed Nov 23 17:03:38 2011] [debug] proxy_util.c(1934): proxy: initialized single connection worker 0 in child 14187 for (*) [Wed Nov 23 17:04:20 2011] [info] mod_wsgi (pid=25953): Process 'quicklearn' has died, restarting. [Wed Nov 23 17:04:20 2011] [info] mod_wsgi (pid=14198): Starting process 'quicklearn' with uid=48, gid=48 and threads=16. [Wed Nov 23 17:04:23 2011] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 14222 for worker proxy:reverse [Wed Nov 23 17:04:23 2011] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized [Wed Nov 23 17:04:23 2011] [debug] proxy_util.c(1934): proxy: initialized single connection worker 0 in child 14222 for (*) [Wed Nov 23 17:04:48 2011] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 14227 for worker proxy:reverse [Wed Nov 23 17:04:48 2011] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized [Wed Nov 23 17:04:48 2011] [debug] proxy_util.c(1934): proxy: initialized single connection worker 0 in child 14227 for (*) [Wed Nov 23 17:04:51 2011] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 14228 for worker proxy:reverse [Wed Nov 23 17:04:51 2011] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized [Wed Nov 23 17:04:51 2011] [debug] proxy_util.c(1934): proxy: initialized single connection worker 0 in child 14228 for (*) [Wed Nov 23 17:05:05 2011] [info] mod_wsgi (pid=14198): Process 'quicklearn' has died, restarting. [Wed Nov 23 17:05:05 2011] [info] mod_wsgi (pid=14238): Starting process 'quicklearn' with uid=48, gid=48 and threads=16. > > It may not be segmentation fault. It is generally though a message > which doesn't have the date/time prefix as output at a lower level > than Apache logging API. Provide the preceding messages so I can look > through. > I've searched for messages like this on logs but i haven't found anything like you mention. > If you operating system has a crash logs directory you might look in > there for evidence of crashing apache/httpd processes. > > If the problem is now more frequent, try and work out if it is a > specific URL. Look in Apache access logs to see if 500 error status > for same URL a lot of the time. In other words, try and reliably > duplicate it. > > Being able to duplicate it, you could then attach gdb to a mod_wsgi > daemon process and try and catch the crash. Details on how to do that > can be found in: > > http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Debugging_C... > > > I'm going to apply this technique, and i'll inform you about its results. > > > > > > > > [Tue Nov 22 09:20:31 2011] [info] mod_wsgi (pid=25413): Starting > > process 'quicklearn' with uid=48, gid=48 and threads=16. > > [Tue Nov 22 09:21:20 2011] [info] mod_wsgi (pid=25145): Process > > 'quicklearn' has died, restarting. > > [Tue Nov 22 09:21:20 2011] [info] mod_wsgi (pid=25450): Starting > > process 'quicklearn' with uid=48, gid=48 and threads=16. > > [Tue Nov 22 09:21:32 2011] [debug] proxy_util.c(1818): proxy: grabbed > > scoreboard slot 0 in child 25475 for worker proxy:reverse > > [Tue Nov 22 09:21:32 2011] [debug] proxy_util.c(1837): proxy: worker > > proxy:reverse already initialized > > [Tue Nov 22 09:21:32 2011] [debug] proxy_util.c(1934): proxy: > > initialized single connection worker 0 in child 25475 for (*) > > [Tue Nov 22 09:22:31 2011] [debug] proxy_util.c(1818): proxy: grabbed > > scoreboard slot 0 in child 25493 for worker proxy:reverse > > [Tue Nov 22 09:22:31 2011] [debug] proxy_util.c(1837): proxy: worker > > proxy:reverse already initialized > > [Tue Nov 22 09:22:31 2011] [debug] proxy_util.c(1934): proxy: > > initialized single connection worker 0 in child 25493 for (*) > > > I have this on the main apache configuration file: > > > WSGILazyInitialization Off > > WSGIRestrictEmbedded On > > BTW, you sure you don't mean: > > WSGILazyInitialization On > WSGIRestrictEmbedded On > > You generally wouldn't want to turn off lazy initialisation as Python > interpreter leaks memory into Apache parent process on restarts if > lazy initialisation is turned off. > > Graham > > Thanks about that! i changed this too > > > > > > > WSGIApplicationGroup %{GLOBAL} > > > But it's not working. And i've searched for the segmentation fault > > message but it doesn't appear anywhere. > > > What more could i do? > > > Thanks > > > On 21 nov, 18:52, Graham Dumpleton <[email protected]> wrote: > >> On 22 November 2011 09:35, caroline <[email protected]> wrote: > > >> > Hello > > >> > Thanks for your quick response. > > >> > This message appears randomly, i'm not doing apache restart. > > >> Have a very good look through your main Apache error log (not virtual > >> host) for messages like 'segmentation fault'. > > >> For it to happen randomly, would indicate that the mod_wsgi daemon > >> process is crashing. > > >> If this is the only Python web application being hosted add to Apache > >> configuration: > > >> WSGIApplicationGroup %{GLOBAL} > > >> This can work around issues with third party C extension modules for > >> Python which aren't written to work properly in Python sub > >> interpreters within a process. The directive will force use of main > >> Python interpreter within process. > > >> Graham > > >> > I have > >> > been doing stress tests on this application and this is the only way > >> > that i can easily reproduce this issue on this server. > >> > First i thougth that it was a problem with concurrent users, but when > >> > there was only one user logged in , the message appeared too. > > >> > -- > > >> > Caro > > >> > On 21 nov, 15:01, Graham Dumpleton <[email protected]> wrote: > >> >> Can you clarify whether the message about premature end of script > >> >> headers > >> >> is on every request or only when you perform an apache restart? If on > >> >> restart confirm that you are doing a graceful restart. > > >> >> Thanks. > > >> >> Graham > > >> >> On Tuesday, 22 November 2011, caroline <[email protected]> > >> >> wrote: > >> >> > Hello > >> >> > I have a pinax application that have been installed in a server with > >> >> > the following features: > > >> >> > Linux version 2.6.32-71.29.1.el6.x86_64 > >> >> > ([email protected]) (gcc version 4.4.4 20100726 (Red > >> >> > Hat 4.4.4-13) (GCC) ) #1 SMP Mon Jun 27 19:49:27 BST 2011 > > >> >> > Python2.6.5 (the server had it installed before), > >> >> > mod_wsgi 3.3 compiled from source, > >> >> > django 1.2 > >> >> > Oracle 11g client libraries, database is in a windows 2003 server. > > >> >> > Apache version is: > > >> >> > Server version: Apache/2.2.15 (Unix) > >> >> > Server built: Jul 7 2011 11:30:37 > >> >> > Server's Module Magic Number: 20051115:24 > >> >> > Server loaded: APR 1.3.9, APR-Util 1.3.9 > >> >> > Compiled using: APR 1.3.9, APR-Util 1.3.9 > >> >> > Architecture: 64-bit > >> >> > Server MPM: Prefork > >> >> > threaded: no > >> >> > forked: yes (variable process count) > >> >> > Server compiled with.... > >> >> > -D APACHE_MPM_DIR="server/mpm/prefork" > >> >> > -D APR_HAS_SENDFILE > >> >> > -D APR_HAS_MMAP > >> >> > -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) > >> >> > -D APR_USE_SYSVSEM_SERIALIZE > >> >> > -D APR_USE_PTHREAD_SERIALIZE > >> >> > -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT > >> >> > -D APR_HAS_OTHER_CHILD > >> >> > -D AP_HAVE_RELIABLE_PIPED_LOGS > >> >> > -D DYNAMIC_MODULE_LIMIT=128 > >> >> > -D HTTPD_ROOT="/etc/httpd" > >> >> > -D SUEXEC_BIN="/usr/sbin/suexec" > >> >> > -D DEFAULT_PIDLOG="run/httpd.pid" > >> >> > -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" > >> >> > -D DEFAULT_LOCKFILE="logs/accept.lock" > >> >> > -D DEFAULT_ERRORLOG="logs/error_log" > >> >> > -D AP_TYPES_CONFIG_FILE="conf/mime.types" > >> >> > -D SERVER_CONFIG_FILE="conf/httpd.conf" > > >> >> > This is the first time that this application has been installed in > >> >> > RHEL 6 and oracle, because we have the same application in another > >> >> > server with RHEL 5 and database postgres 8.4 and it's functioning > >> >> > properly. > > >> >> > In the apache error_log , with loglevel debug, the only messages that > >> >> > appear are: > >> >> > [notice] SIGHUP received. Attempting to restart > >> >> > [info] mod_wsgi (pid=10403): Terminating Python. > >> >> > [info] mod_wsgi (pid=10403): Python has shutdown. > >> >> > [notice] Digest: generating secret for digest authentication ... > >> >> > [notice] Digest: done > >> >> > [debug] util_ldap.c(2058): LDAP merging Shared Cache conf: > >> >> > shm=0x7f799694cd38 rmm=0x7f799694cd90 for VHOST: myvhost.com > >> >> > [debug] util_ldap.c(2058): LDAP merging Shared Cache conf: > >> >> > shm=0x7f799694cd38 rmm=0x7f799694cd90 for VHOST: myvhost2.com > >> >> > [info] APR LDAP: Built with OpenLDAP LDAP SDK > >> >> > [info] LDAP: SSL support available > >> >> > [info] Init: Seeding PRNG with 256 bytes of entropy > >> >> > [info] Init: Generating temporary RSA private keys (512/1024 bits) > >> >> > [info] Init: Generating temporary DH parameters (512/1024 bits) > >> >> > [debug] ssl_scache_shmcb.c(253): shmcb_init allocated 512000 bytes of > >> >> > shared memory > >> >> > [debug] ssl_scache_shmcb.c(272): for 511920 bytes (512000 including > >> >> > header), recommending 32 subcaches, 133 indexes each > >> >> > [debug] ssl_scache_shmcb.c(306): shmcb_init_memory choices follow > >> >> > [debug] ssl_scache_shmcb.c(308): subcache_num = 32 > >> >> > [debug] ssl_scache_shmcb.c(310): subcache_size = 15992 > >> >> > [debug] ssl_scache_shmcb.c(312): subcache_data_offset = 3208 > >> >> > [debug] ssl_scache_shmcb.c(314): subcache_data_size = 12784 > >> >> > [debug] ssl_scache_shmcb.c(316): index_num = 133 > >> >> > [info] Shared memory session cache initialised > >> >> > [info] Init: Initializing (virtual) servers for SSL > >> >> > [info] mod_ssl/2.2.15 compiled against Server: Apache/2.2.15, Library: > >> >> > OpenSSL/1.0.0-fips > >> >> > [info] mod_wsgi (pid=10403): Initializing Python. > >> >> > [debug] mod_wsgi.c(11355): mod_wsgi (pid=10403): Reset default user > >> >> > for daemon process group 'quicklearn' to uid=48. > >> >> > [debug] mod_wsgi.c(11364): mod_wsgi (pid=10403): Reset default group > >> >> > for daemon process group 'quicklearn' to gid=48. > >> >> > [debug] mod_wsgi.c(9958): mod_wsgi (pid=10403): Socket for > >> >> > 'quicklearn' is '/etc/httpd/run/wsgi.10403.10.1.sock'. > >> >> > [info] mod_wsgi (pid=8334): Starting process 'quicklearn' with uid=48, > >> >> > gid=48 and threads=16. > > ... > > leer más » -- Caro -- 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.
