Can you try:

   https://github.com/GrahamDumpleton/mod_wsgi/archive/develop.tar.gz

I made it home and have now looked at the code. What I suspected just from the 
stack trace is true and I wasn't protecting against wsgi.input being destroyed 
after Apache had finalised the request.

The head of the develop branch has a fix for the issue I found. Lets hope it is 
the answer to your problem.

Let me know how it goes.

Graham

On 13/12/2014, at 11:15 AM, Graham Dumpleton <[email protected]> wrote:

> Am out at kids parties today but I already see something suspicious in that 
> which suggests what I have done wrong. So thanks for that and I will try and 
> look at the actual code later today.
> 
> The gist of it is though that I am not destroying the input bucket brigade 
> when the Apache request finishes, or let Apache simply clean it up, and null 
> the reference to it. When the Python object for wsgi.input is later 
> destroyed, it is trying to destroy the bucket brigade explicitly but it 
> shouldn't as Apache already cleaned it up and possibly reused it.
> 
> The change to bucket brigades on input is what changed in that commit I was 
> talking about. I likely didn't pick it up in testing as my test code never 
> likely retained a reference to wsgi.input after the request was over. I do 
> have checks in code to deal with that scenario but probably forgot to apply 
> same mechanisms to new use of input brigades.
> 
> Graham
> 
> On 13/12/2014, at 10:52 AM, [email protected] wrote:
> 
>> gdb causes apache to timeout with a 504 Gateway Timeout when I attach it to 
>> a wsgi process in deamon mode.  Do you have any suggestions on getting gdb 
>> to work or different method?  I'm going to try Centos7.  
>> 
>> both mod_wsgi-5cf57b021a426284cd92a8fe83e2af70c84da57c.tar.gz and 
>> mod_wsgi-fa3f9b0ca37ad6c6a9d433dbff4a8c55f6c9185a.tar.gz gave a seg fault.  
>> 
>> Below is gdb in embedded mode.  My app works in this case.
>> ----------------------------------------------------
>> Here is when 
>> gdb /usr/local/apache/bin/httpd
>> GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
>> Copyright (C) 2010 Free Software Foundation, Inc.
>> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>> and "show warranty" for details.
>> This GDB was configured as "x86_64-redhat-linux-gnu".
>> For bug reporting instructions, please see:
>> <http://www.gnu.org/software/gdb/bugs/>...
>> Reading symbols from /usr/local/apache/bin/httpd...done.
>> (gdb) run -X
>> Starting program: /usr/local/apache/bin/httpd -X
>> [Thread debugging using libthread_db enabled]
>> Detaching after fork from child process 12572.
>> 
>> Program received signal SIGSEGV, Segmentation fault.
>> apr_pool_cleanup_kill (p=0x741fa8, data=0x82e320, 
>>     cleanup_fn=0x7ffff7bc15f0 <brigade_cleanup>)
>>     at memory/unix/apr_pools.c:2276
>> 2276            if (c->data == data && c->plain_cleanup_fn == cleanup_fn) {
>> Missing separate debuginfos, use: debuginfo-install 
>> glibc-2.12-1.149.el6.x86_64 keyutils-libs-1.4-5.el6.x86_64 
>> krb5-libs-1.10.3-33.el6.x86_64 libcom_err-1.41.12-21.el6.x86_64 
>> libselinux-2.0.94-5.8.el6.x86_64 nss-softokn-freebl-3.14.3-18.el6_6.x86_64 
>> openssl-1.0.1e-30.el6_6.4.x86_64 sqlite-3.6.20-1.el6.x86_64 
>> zlib-1.2.3-29.el6.x86_64
>> (gdb) thread apply all bt
>> 
>> Thread 1 (Thread 0x7ffff774a700 (LWP 12567)):
>> #0  apr_pool_cleanup_kill (p=0x741fa8, data=0x82e320, 
>>     cleanup_fn=0x7ffff7bc15f0 <brigade_cleanup>)
>>     at memory/unix/apr_pools.c:2276
>> #1  0x00007ffff7bc2606 in apr_brigade_destroy (b=0x82e320)
>>     at buckets/apr_brigade.c:52
>> #2  0x00007ffff4ae82a9 in Input_dealloc (self=0x7fffe9bc9b20)
>>     at src/server/mod_wsgi.c:939
>> #3  0x00007ffff477753b in PyDict_Clear (op=<value optimized out>)
>>     at Objects/dictobject.c:916
>> #4  0x00007ffff47775a9 in dict_tp_clear (op=<value optimized out>)
>>     at Objects/dictobject.c:2122
>> #5  0x00007ffff481bcae in delete_garbage (generation=0)
>>     at Modules/gcmodule.c:820
>> #6  collect (generation=0) at Modules/gcmodule.c:984
>> #7  0x00007ffff481c51e in collect_generations (basicsize=<value optimized 
>> out>)
>>     at Modules/gcmodule.c:1050
>> #8  _PyObject_GC_Malloc (basicsize=<value optimized out>)
>>     at Modules/gcmodule.c:1511
>> #9  0x00007ffff4798829 in PyType_GenericAlloc (type=0x7ffff4a8b600, nitems=0)
>>     at Objects/typeobject.c:761
>> #10 0x00007ffff475395c in BaseException_new (type=<value optimized out>, 
>> ---Type <return> to continue, or q <return> to quit---
>>     args=<value optimized out>, kwds=<value optimized out>)
>>     at Objects/exceptions.c:34
>> #11 0x00007ffff4797043 in type_call (type=0x7ffff4a8b600, 
>> args=0x7fffe9bbb7d0, 
>>     kwds=0x0) at Objects/typeobject.c:729
>> #12 0x00007ffff47341b3 in PyObject_Call (func=0x7ffff4a8b600, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #13 0x00007ffff47dd0f3 in PyEval_CallObjectWithKeywords 
>> (func=0x7ffff4a8b600, 
>>     arg=0x7fffe9bbb7d0, kw=<value optimized out>) at Python/ceval.c:3902
>> #14 0x00007ffff47f17a7 in PyErr_NormalizeException (exc=0x7fffffffa538, 
>>     val=0x7fffffffa548, tb=0x7fffffffa540) at Python/errors.c:192
>> #15 0x00007ffff47e1cb9 in PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2932
>> #16 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffea8bcb30, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=2, kws=0x0, kwcount=0, defs=0x0, 
>>     defcount=0, closure=0x0) at Python/ceval.c:3265
>> #17 0x00007ffff4763681 in function_call (func=0x7fffea63cc08, 
>>     arg=0x7fffe9b70170, kw=0x0) at Objects/funcobject.c:526
>> #18 0x00007ffff47341b3 in PyObject_Call (func=0x7fffea63cc08, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #19 0x00007ffff47467ef in instancemethod_call (func=0x7fffea63cc08, 
>> ---Type <return> to continue, or q <return> to quit---
>>     arg=0x7fffe9b70170, kw=0x0) at Objects/classobject.c:2602
>> #20 0x00007ffff47341b3 in PyObject_Call (func=0x7fffe9bf9af0, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #21 0x00007ffff47a04f0 in slot_tp_init (self=0x7fffe9b85390, 
>>     args=0x7fffe9bcd390, kwds=0x0) at Objects/typeobject.c:5692
>> #22 0x00007ffff4797088 in type_call (type=<value optimized out>, 
>>     args=0x7fffe9bcd390, kwds=0x0) at Objects/typeobject.c:745
>> #23 0x00007ffff47341b3 in PyObject_Call (func=0xc2ac10, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #24 0x00007ffff47e2e0d in do_call (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4251
>> #25 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4056
>> #26 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #27 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffea8bc7b0, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=3, kws=0x0, kwcount=0, defs=0x0, 
>>     defcount=0, closure=0x0) at Python/ceval.c:3265
>> #28 0x00007ffff4763681 in function_call (func=0x7fffea63c9b0, 
>>     arg=0x7fffe9a87550, kw=0x0) at Objects/funcobject.c:526
>> ---Type <return> to continue, or q <return> to quit---
>> #29 0x00007ffff47341b3 in PyObject_Call (func=0x7fffea63c9b0, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #30 0x00007ffff47467ef in instancemethod_call (func=0x7fffea63c9b0, 
>>     arg=0x7fffe9a87550, kw=0x0) at Objects/classobject.c:2602
>> #31 0x00007ffff47341b3 in PyObject_Call (func=0x7fffe9bf9730, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #32 0x00007ffff47a04f0 in slot_tp_init (self=0x7fffe9b72e10, 
>>     args=0x7fffe9a13680, kwds=0x0) at Objects/typeobject.c:5692
>> #33 0x00007ffff4797088 in type_call (type=<value optimized out>, 
>>     args=0x7fffe9a13680, kwds=0x0) at Objects/typeobject.c:745
>> #34 0x00007ffff47341b3 in PyObject_Call (func=0xc2a850, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #35 0x00007ffff47e2e0d in do_call (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4251
>> #36 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4056
>> #37 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #38 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffea8bc030, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>> ---Type <return> to continue, or q <return> to quit---
>>     args=<value optimized out>, argcount=2, kws=0x1203468, kwcount=0, 
>>     defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
>> #39 0x00007ffff47e366a in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4129
>> #40 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #41 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #42 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffea8b86b0, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=1, kws=0x7fffe9bcb210, kwcount=0, 
>>     defs=0x7fffea6335e8, defcount=1, closure=0x0) at Python/ceval.c:3265
>> #43 0x00007ffff47e366a in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4129
>> #44 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #45 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #46 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffea8b8130, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=2, kws=0x7fffe9bca3e8, kwcount=0, 
>>     defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
>> #47 0x00007ffff47e366a in fast_function (f=<value optimized out>, 
>> ---Type <return> to continue, or q <return> to quit---
>>     throwflag=<value optimized out>) at Python/ceval.c:4129
>> #48 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #49 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #50 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffea8b0db0, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=4, kws=0x0, kwcount=0, 
>>     defs=0x7fffea6716e0, defcount=2, closure=0x0) at Python/ceval.c:3265
>> #51 0x00007ffff4763681 in function_call (func=0x7fffea63a7d0, 
>>     arg=0x7fffe9bb46d8, kw=0x0) at Objects/funcobject.c:526
>> #52 0x00007ffff47341b3 in PyObject_Call (func=0x7fffea63a7d0, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #53 0x00007ffff47467ef in instancemethod_call (func=0x7fffea63a7d0, 
>>     arg=0x7fffe9bb46d8, kw=0x0) at Objects/classobject.c:2602
>> #54 0x00007ffff47341b3 in PyObject_Call (func=0x7fffe9bf9780, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #55 0x00007ffff47a04f0 in slot_tp_init (self=0x7fffe9bafc10, 
>>     args=0x7fffe9a875a0, kwds=0x0) at Objects/typeobject.c:5692
>> #56 0x00007ffff4797088 in type_call (type=<value optimized out>, 
>>     args=0x7fffe9a875a0, kwds=0x0) at Objects/typeobject.c:745
>> ---Type <return> to continue, or q <return> to quit---
>> #57 0x00007ffff47341b3 in PyObject_Call (func=0xc196a0, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #58 0x00007ffff47e2e0d in do_call (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4251
>> #59 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4056
>> #60 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #61 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffe9f31e30, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=3, kws=0x7fffe9b9e620, kwcount=0, 
>>     defs=0x7fffe9f238d8, defcount=2, closure=0x0) at Python/ceval.c:3265
>> #62 0x00007ffff47e366a in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4129
>> #63 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #64 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #65 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffe9f31730, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=3, kws=0x7fffe9d88798, kwcount=0, 
>>     defs=0x7fffe9f2fba8, defcount=1, closure=0x0) at Python/ceval.c:3265
>> ---Type <return> to continue, or q <return> to quit---
>> #66 0x00007ffff47e366a in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4129
>> #67 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #68 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #69 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffe9f316b0, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=3, kws=0x0, kwcount=0, 
>>     defs=0x7fffe9f2fb28, defcount=1, closure=0x0) at Python/ceval.c:3265
>> #70 0x00007ffff4763681 in function_call (func=0x7fffe9f309b0, 
>>     arg=0x7fffe9a875f0, kw=0x0) at Objects/funcobject.c:526
>> #71 0x00007ffff47341b3 in PyObject_Call (func=0x7fffe9f309b0, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #72 0x00007ffff47467ef in instancemethod_call (func=0x7fffe9f309b0, 
>>     arg=0x7fffe9a875f0, kw=0x0) at Objects/classobject.c:2602
>> #73 0x00007ffff47341b3 in PyObject_Call (func=0x7fffe9bf9870, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #74 0x00007ffff47a092c in slot_tp_call (self=0x7fffe9bbbc50, 
>>     args=0x7fffe9b53098, kwds=0x0) at Objects/typeobject.c:5432
>> #75 0x00007ffff47341b3 in PyObject_Call (func=0x7fffe9bbbc50, 
>> ---Type <return> to continue, or q <return> to quit---
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #76 0x00007ffff47e2e0d in do_call (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4251
>> #77 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4056
>> #78 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #79 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffe9f31d30, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=1, kws=0x7fffe9bc8d00, kwcount=0, 
>>     defs=0x7fffe9f2fc68, defcount=1, closure=0x0) at Python/ceval.c:3265
>> #80 0x00007ffff47e366a in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4129
>> #81 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #82 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #83 0x00007ffff47e43be in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4119
>> #84 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #85 PyEval_EvalFrameEx (f=<value optimized out>, 
>> ---Type <return> to continue, or q <return> to quit---
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #86 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffe9f31f30, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=2, kws=0x7ffff448c068, kwcount=0, 
>>     defs=0x7fffe9f284a0, defcount=2, closure=0x0) at Python/ceval.c:3265
>> #87 0x00007ffff4763788 in function_call (func=0x7fffe9f30e60, 
>>     arg=0x7fffe9b60200, kw=0x7fffe9ab6050) at Objects/funcobject.c:526
>> #88 0x00007ffff47341b3 in PyObject_Call (func=0x7fffe9f30e60, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #89 0x00007ffff47e215a in ext_do_call (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4346
>> #90 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2718
>> #91 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffe9eec1b0, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=2, kws=0x14e04d0, kwcount=0, 
>>     defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
>> #92 0x00007ffff47e366a in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4129
>> #93 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #94 PyEval_EvalFrameEx (f=<value optimized out>, 
>> ---Type <return> to continue, or q <return> to quit---
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #95 0x00007ffff47e43be in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4119
>> #96 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>>     at Python/ceval.c:4054
>> #97 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #98 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7fffe9c50230, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=2, kws=0x7ffff448c068, kwcount=0, 
>>     defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
>> #99 0x00007ffff4763788 in function_call (func=0x7fffe9c8c488, 
>>     arg=0x7fffe9b838c0, kw=0x7fffe9bbcc58) at Objects/funcobject.c:526
>> #100 0x00007ffff47341b3 in PyObject_Call (func=0x7fffe9c8c488, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #101 0x00007ffff47e215a in ext_do_call (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4346
>> #102 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2718
>> #103 0x00007ffff47e43be in fast_function (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:4119
>> #104 call_function (f=<value optimized out>, throwflag=<value optimized out>)
>> ---Type <return> to continue, or q <return> to quit---
>>     at Python/ceval.c:4054
>> #105 PyEval_EvalFrameEx (f=<value optimized out>, 
>>     throwflag=<value optimized out>) at Python/ceval.c:2679
>> #106 0x00007ffff47e54be in PyEval_EvalCodeEx (co=0x7ffff42b6e30, 
>>     globals=<value optimized out>, locals=<value optimized out>, 
>>     args=<value optimized out>, argcount=3, kws=0x0, kwcount=0, defs=0x0, 
>>     defcount=0, closure=0x0) at Python/ceval.c:3265
>> #107 0x00007ffff4763681 in function_call (func=0x7fffea3ad320, 
>>     arg=0x7fffe9a87280, kw=0x0) at Objects/funcobject.c:526
>> #108 0x00007ffff47341b3 in PyObject_Call (func=0x7fffea3ad320, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #109 0x00007ffff47467ef in instancemethod_call (func=0x7fffea3ad320, 
>>     arg=0x7fffe9a87280, kw=0x0) at Objects/classobject.c:2602
>> #110 0x00007ffff47341b3 in PyObject_Call (func=0x7fffeaf30b90, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #111 0x00007ffff47a092c in slot_tp_call (self=0x7fffea3ab1d0, 
>>     args=0x7fffe9b530e0, kwds=0x0) at Objects/typeobject.c:5432
>> #112 0x00007ffff47341b3 in PyObject_Call (func=0x7fffea3ab1d0, 
>>     arg=<value optimized out>, kw=<value optimized out>)
>>     at Objects/abstract.c:2529
>> #113 0x00007ffff47dd0f3 in PyEval_CallObjectWithKeywords 
>> (func=0x7fffea3ab1d0, 
>> ---Type <return> to continue, or q <return> to quit---
>>     arg=0x7fffe9b530e0, kw=<value optimized out>) at Python/ceval.c:3902
>> #114 0x00007ffff4ae97cf in Adapter_run (self=0x7ffff42ca030, 
>>     object=0x7fffea3ab1d0) at src/server/mod_wsgi.c:2837
>> #115 0x00007ffff4aea4fe in wsgi_execute_script (r=0x82d560)
>>     at src/server/mod_wsgi.c:3666
>> #116 0x00007ffff4af3d45 in wsgi_hook_handler (r=<value optimized out>)
>>     at src/server/mod_wsgi.c:6539
>> #117 0x000000000044b8e0 in ap_run_handler (r=0x82d560) at config.c:170
>> #118 0x000000000044fa6e in ap_invoke_handler (r=0x82d560) at config.c:433
>> #119 0x00000000004620aa in ap_process_async_request (r=0x82d560)
>>     at http_request.c:317
>> #120 0x000000000046220f in ap_process_request (r=0x82d560)
>>     at http_request.c:363
>> #121 0x000000000045e6d2 in ap_process_http_sync_connection (c=0x70abb0)
>>     at http_core.c:190
>> #122 ap_process_http_connection (c=0x70abb0) at http_core.c:231
>> #123 0x0000000000456290 in ap_run_process_connection (c=0x70abb0)
>>     at connection.c:41
>> #124 0x0000000000468a2e in child_main (child_num_arg=<value optimized out>)
>>     at prefork.c:704
>> #125 0x0000000000468c47 in make_child (s=0x6bf568, slot=0) at prefork.c:746
>> #126 0x00000000004697e6 in prefork_run (_pconf=<value optimized out>, 
>>     plog=0x6c33a8, s=0x6bf568) at prefork.c:956
>> ---Type <return> to continue, or q <return> to quit---
>> #127 0x0000000000431cee in ap_run_mpm (pconf=0x696188, plog=0x6c33a8, 
>>     s=0x6bf568) at mpm_common.c:96
>> #128 0x000000000042bfd4 in main (argc=2, argv=0x7fffffffe288) at main.c:777
>> (gdb) quit
>> A debugging session is active.
>> 
>>     Inferior 1 [process 12567] will be killed.
>> 
>> Quit anyway? (y or n) y
>> [root@centos6-02 mod_wsgi-4.4.0]# 
>> -------------------------------------------
>> 
>> On Friday, December 12, 2014 12:19:47 AM UTC-5, [email protected] wrote:
>> When I upgraded from 4.3.0 to 4.4.0 I've started to get errors “Truncated or 
>> oversized response headers received from daemon process” and seg faults.
>> 
>> I downgraded and everything went back to working.
>> 
>> I'm seeing this on a Django app that uses AJAX to send to a custom view in 
>> the admin. I've also seen this with a bot that is claiming to be Google. But 
>> since it is only visiting one of my sites I'm expect it's not from Google.
>> 
>> I'm using Centos 6.6, python 2.7.8, and Apache 2.4.10.
>> 
>> Is there a new setting I need to change or is this a bug? I didn't see 
>> anything in the change log that I need to change
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "modwsgi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/modwsgi.
>> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to