[Zope] Mysterious crash with Zope 2.4.x

Berthold Stöger bs@fundaq.com
Wed, 05 Sep 2001 15:48:15 +0200


I wrote:

> Hi,
>
> I'm porting an application from Zope 2.0 to Zope 2.4.1 and am
> experiencing strange crashes. We use a session manager written
> in C with a Python interface. When calling the get() method of
> the session object in DTML (be it in a var-, call- or if- tag),
> Zope crashes, but when passing the session object down to an
> External Method and calling get() from there, it works! I put a
> printf() in the first line of the get() function and realized that
> Zope crashes before calling the function. 

Update:
Python crashes in PyObject_Hash on an PyObject with ob_type==NULL.
Probably an error in our session manager, triggered only with DTML. I
just cant figure out where such an object is created. :P

So, ignore my message until i find out more...

Here the top of stacktrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1026 (LWP 1592)]
PyObject_Hash (v=0x4038cc80) at Objects/object.c:954
954             if (tp->tp_hash != NULL)
(gdb) bt
#0  PyObject_Hash (v=0x4038cc80) at Objects/object.c:954
#1  0x0808b47c in dict_get (mp=0x83692e4, args=0x884d194) at 
Objects/dictobject.c:1151
#2  0x08058e5a in call_cfunction (func=0x826c7d8, arg=0x884d194, kw=0x0) 
at Python/ceval.c:2845
#3  0x080578ed in eval_code2 (co=0x8251598, globals=0x837050c, 
locals=0x0, args=0x884cfcc, argcount=3, kws=0x884cfd8, kwcount=0,
    defs=0x83688a8, defcount=1, closure=0x0) at Python/ceval.c:1948
#4  0x08059214 in fast_function (func=0x83728bc, pp_stack=0xbf7fe454, 
n=3, na=3, nk=0) at Python/ceval.c:3022
#5  0x080579a5 in eval_code2 (co=0x828f900, globals=0x828fda4, 
locals=0x0, args=0x865a230, argcount=3, kws=0x0, kwcount=0, defs=0x8363d08,
    defcount=1, closure=0x0) at Python/ceval.c:1972
#6  0x08059119 in call_eval_code2 (func=0x8372af4, arg=0x865a224, 
kw=0x0) at Python/ceval.c:2966
#7  0x08058d42 in call_object (func=0x8372af4, arg=0x865a224, kw=0x0) at 
Python/ceval.c:2805
#8  0x08058c3d in PyEval_CallObjectWithKeywords (func=0x8372af4, 
arg=0x865a224, kw=0x0) at Python/ceval.c:2740
#9  0x4019b189 in callMethodWithPossibleHook (inst=0x87f9010, 
meth=0x8372af4, args=0x865a224, kw=0x0)
    at ././../Components/ExtensionClass/src/ExtensionClass.c:752
#10 0x4019b262 in call_PMethod (self=0x83a3cb0, inst=0x87f9010, 
args=0x874fdfc, kw=0x0)
    at ././../Components/ExtensionClass/src/ExtensionClass.c:779
#11 0x4019b2a2 in PMethod_call (self=0x83a3cb0, args=0x874fdfc, kw=0x0) 
at ././../Components/ExtensionClass/src/ExtensionClass.c:789
#12 0x08058dad in call_object (func=0x83a3cb0, arg=0x874fdfc, kw=0x0) at 
Python/ceval.c:2813
#13 0x080594bb in do_call (func=0x83a3cb0, pp_stack=0xbf7fe6cc, na=2, 
nk=0) at Python/ceval.c:3123
#14 0x080579bf in eval_code2 (co=0x8879b20, globals=0x885d6c4, 
locals=0x885d6c4, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0,
    defcount=0, closure=0x0) at Python/ceval.c:1975
#15 0x08054dc9 in PyEval_EvalCode (co=0x8879b20, globals=0x885d6c4, 
locals=0x885d6c4) at Python/ceval.c:341
#16 0x0809b2ef in builtin_eval (self=0x0, args=0x8750ee4) at 
Python/bltinmodule.c:760
#17 0x08058e5a in call_cfunction (func=0x80c8ab8, arg=0x8750ee4, kw=0x0) 
at Python/ceval.c:2845