When using Pylons and the 'Interpreter' option is used for the
WSGIReloadMechanism directive, the Apache process will crash when creating
the new sub interpreter instance subsequent to destroying the prior instance.
The stack trace for where the crash occurs is:
#0 0x98ab7bd8 in PyObject_GetAttr ()
#1 0x013fac30 in __Pyx_GetName (dict=0x13b8610, name=0x13b8be0) at
src/protocols/_speedups.c:1862
#2 0x013fcacc in __pyx_f_9_speedups_Protocol__adapt__
(__pyx_self=0x13b8610, __pyx_args=0xa8a8bab8, __pyx_kwds=0x4c69) at
src/protocols/_speedups.c:1083
#3 0x98a8e8e0 in PyObject_Call ()
#4 0x98a96af4 in PyMethod_New ()
#5 0x98a8e8e0 in PyObject_Call ()
#6 0x98aed9a0 in PyEval_CallObjectWithKeywords ()
#7 0x013fe700 in __pyx_f_9_speedups__adapt (__pyx_v_obj=0x0,
__pyx_v_protocol=0x165f5d0, __pyx_v_default=0x48d3c0) at
src/protocols/_speedups.c:497
#8 0x013fb958 in __pyx_f_9_speedups_adapt (__pyx_self=0x13b8610,
__pyx_args=0xa8a8bab8, __pyx_kwds=0x4c69) at src/protocols/_speedups.c:641
#9 0x98aedc5c in PyEval_GetFuncDesc ()
#10 0x98aeb414 in PyEval_EvalCode ()
Note that this crash does not appear to be a problem with mod_wsgi but with
the pyrex generated code present in the PyProtocols package which is used
by Pylons. In short, that code does not appear to cope with an interpreter
being destroyed and the module then being reused in a new interpreter.
Chances of getting either PyProtocols or pyrex changed, if they are the
problem, so that it will work in this sort of circumstance is probably
quite small unless some enthusiastic Pylons users want to push the issue.
Original issue reported on code.google.com by Graham.Dumpleton@gmail.com on 2 Apr 2007 at 4:43
Original issue reported on code.google.com by
Graham.Dumpleton@gmail.com
on 2 Apr 2007 at 4:43