One word of warning about trunk code. Because you are running with low maximum-requests, the extra logging will result in log files being somewhat more bloated.
Graham On 24 October 2010 17:19, Graham Dumpleton <[email protected]> wrote: > On 24 October 2010 14:15, Graham Dumpleton <[email protected]> wrote: >> On 22 October 2010 07:10, Patrick Michael Kane <[email protected]> >> wrote: >>> Hey Graham: >>> >>> Just had another freeze, this time with flock -- backtraces from two >>> of the WSGI processes below. >>> >>> The Apaches are in the same state as with the SysV mutex, blocking on >>> this connect: >>> >>> connect(69, {sa_family=AF_FILE, path="/home/actionkit/releases/ >>> stable/apache/logs/.2028.61.7.sock"}, 110 >>> >>> Let me know if you need more info! >> >> If possible, next time can you capture it across all process in the >> daemon process group. >> >> Want to validate that whether they are all stuck on flock() or sysvsem >> lock in Thread 2. >> >> This will tell me whether issue is that no process is getting past >> lock, or whether one is getting to do apr_poll() on listener socket, >> but not seeing a notification. > > You may not want to do this, but maybe after in some development > testing, if you could actually use mod_wsgi subversion trunk code at: > > https://modwsgi.googlecode.com/svn/trunk/mod_wsgi > > I have no reason to believe code isn't stable. Importantly, has > changes to logging which will produce additional information which may > help me. > > If you run the code, use configuration: > > LogLevel info > > WSGIVerboseDebugging On > > Ie., 'info' level for standard Apache logging in global server scope > and in VirtualHost scope, plus enable verbose debugging in mod_wsgi. > The latter will result in some per thread creation/exit logging which > would normally be logged at debug level to be logged at info level. > > In addition to logging changes, does also have a change related to > cross process mutex type, but right now because you use flock, that > doesn't seem to be a contributor. > > Much thanks if you are able to do this. > > Graham > >> Thanks. >> >> Graham >> >>> Thread 4 (Thread 0x41d73940 (LWP 32370)): >>> #0 0x000000330accc5e2 in select () from /lib64/libc.so.6 >>> #1 0x00002acda115f2f5 in apr_sleep () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa1735bf in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 3 (Thread 0x42774940 (LWP 32371)): >>> #0 0x000000330accc5e2 in select () from /lib64/libc.so.6 >>> #1 0x00002acda115f2f5 in apr_sleep () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa173808 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 2 (Thread 0x43175940 (LWP 32372)): >>> #0 0x000000330acc5c57 in flock () from /lib64/libc.so.6 >>> #1 0x00002acda11546b5 in ?? () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa17ab5e in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 1 (Thread 0x2acda1e08a90 (LWP 32369)): >>> #0 0x000000330acca556 in poll () from /lib64/libc.so.6 >>> #1 0x00002acda115b0d1 in apr_poll () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa178377 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x00002acdaa178ce7 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #4 0x00002acdaa17b0e1 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #5 0x00002acda1156a3d in apr_proc_other_child_alert () >>> from /usr/lib64/libapr-1.so.0 >>> #6 0x0000000000446404 in ap_mpm_run () >>> #7 0x0000000000421b11 in main () >>> (gdb) thread apply all bt >>> >>> Thread 4 (Thread 0x41d73940 (LWP 32370)): >>> #0 0x000000330accc5e2 in select () from /lib64/libc.so.6 >>> #1 0x00002acda115f2f5 in apr_sleep () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa1735bf in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 3 (Thread 0x42774940 (LWP 32371)): >>> #0 0x000000330accc5e2 in select () from /lib64/libc.so.6 >>> #1 0x00002acda115f2f5 in apr_sleep () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa173808 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 2 (Thread 0x43175940 (LWP 32372)): >>> #0 0x000000330acc5c57 in flock () from /lib64/libc.so.6 >>> #1 0x00002acda11546b5 in ?? () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa17ab5e in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 1 (Thread 0x2acda1e08a90 (LWP 32369)): >>> #0 0x000000330acca556 in poll () from /lib64/libc.so.6 >>> #1 0x00002acda115b0d1 in apr_poll () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa178377 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x00002acdaa178ce7 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #4 0x00002acdaa17b0e1 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #5 0x00002acda1156a3d in apr_proc_other_child_alert () >>> from /usr/lib64/libapr-1.so.0 >>> #6 0x0000000000446404 in ap_mpm_run () >>> #7 0x0000000000421b11 in main () >>> >>> >>> -------------- >>> >>> >>> Thread 4 (Thread 0x41c2f940 (LWP 12879)): >>> #0 0x000000330accc5e2 in select () from /lib64/libc.so.6 >>> #1 0x00002acda115f2f5 in apr_sleep () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa1735bf in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 3 (Thread 0x42630940 (LWP 12880)): >>> #0 0x000000330accc5e2 in select () from /lib64/libc.so.6 >>> #1 0x00002acda115f2f5 in apr_sleep () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa173808 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 2 (Thread 0x43031940 (LWP 12881)): >>> #0 0x000000330acc5c57 in flock () from /lib64/libc.so.6 >>> #1 0x00002acda11546b5 in ?? () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa17ab5e in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x000000330b406367 in start_thread () from /lib64/libpthread.so.0 >>> #4 0x000000330acd309d in clone () from /lib64/libc.so.6 >>> >>> Thread 1 (Thread 0x2acda1e08a90 (LWP 12878)): >>> #0 0x000000330acca556 in poll () from /lib64/libc.so.6 >>> #1 0x00002acda115b0d1 in apr_poll () from /usr/lib64/libapr-1.so.0 >>> #2 0x00002acdaa178377 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #3 0x00002acdaa178ce7 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #4 0x00002acdaa17b0e1 in ?? () >>> from /home/actionkit/releases/stable/apache/conf/libexec/ >>> mod_wsgi.so >>> #5 0x00002acda1156a3d in apr_proc_other_child_alert () >>> from /usr/lib64/libapr-1.so.0 >>> #6 0x0000000000446404 in ap_mpm_run () >>> #7 0x0000000000421b11 in main () >>> >>> -- >>> 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. >>> >>> >> > -- 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.
