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.
