Segfaults under Load during Garbage Collection
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zope 3 |
Fix Released
|
High
|
Gary Poster |
Bug Description
This is hitting a standard Zope3 svn://svn.
Core was generated by `python2.4 /srv/landscape.
Program terminated with signal 11, Segmentation fault.
#0 visit_decref (op=0x0, data=0x0) at ../Modules/
269 ../Modules/
in ../Modules/
(gdb) bt
#0 visit_decref (op=0x0, data=0x0) at ../Modules/
#1 0x00002abfa3dc7896 in proxy_traverse (self=0x2aaaad5
at src/zope/
#2 0x00000000004a13a5 in collect (generation=0) at ../Modules/
#3 0x00000000004a1f45 in _PyObject_GC_New (tp=0x5fed40) at ../Modules/
#4 0x000000000044530e in tuple_iter (seq=0x2abfa68e
#5 0x0000000000414e7f in PyObject_GetIter (o=0x2abfa68e9bd0) at ../Objects/
#6 0x00000000004715a0 in PyEval_EvalFrame (f=0x34328e0) at ../Python/
#7 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa49b6b20, globals=<value optimized out>,
locals=<value optimized out>, args=0x2, argcount=2, kws=0x2abfa49c9e54, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at ../Python/
#8 0x00000000004bf233 in function_call (func=0x2abfa4a
at ../Objects/
#9 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#10 0x0000000000419930 in instancemethod_call (func=<value optimized out>, arg=0x2aaaabd9cf80, kw=0x0)
at ../Objects/
#11 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#12 0x000000000044ebf8 in slot_tp_init (self=<value optimized out>, args=0x2e58cd0, kwds=0x0)
at ../Objects/
#13 0x000000000044b121 in type_call (type=0x1291810, args=0x2e58cd0, kwds=0x0) at ../Objects/
#14 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#15 0x0000000000472619 in PyEval_EvalFrame (f=0x4572100) at ../Python/
#16 0x0000000000475546 in PyEval_EvalFrame (f=0x343fde0) at ../Python/
#17 0x0000000000475546 in PyEval_EvalFrame (f=0x297dd90) at ../Python/
#18 0x0000000000475546 in PyEval_EvalFrame (f=0x3006c60) at ../Python/
#19 0x0000000000475546 in PyEval_EvalFrame (f=0x3a27a00) at ../Python/
#20 0x0000000000475546 in PyEval_EvalFrame (f=0x3175f50) at ../Python/
#21 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa4bf05e0, globals=<value optimized out>,
locals=<value optimized out>, args=0x2aaaad90
closure=0x0) at ../Python/
#22 0x00000000004bf233 in function_call (func=0x2abfa4c
at ../Objects/
#23 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#24 0x0000000000419930 in instancemethod_call (func=<value optimized out>, arg=0x2aaaad907280, kw=0x0)
at ../Objects/
#25 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#26 0x00002abfa3dc8a75 in proxy_call (self=0x3af9dd0, args=0x31ae248, kwds=0x0) at src/zope/
#27 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#28 0x0000000000472619 in PyEval_EvalFrame (f=0x38bbb40) at ../Python/
#29 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa65b12d0, globals=<value optimized out>,
locals=<value optimized out>, args=0x2aaaad90
closure=0x0) at ../Python/
#30 0x00000000004bf1cc in function_call (func=0x2abfa65
at ../Objects/
#31 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#32 0x0000000000473fd0 in PyEval_EvalFrame (f=0x46a0ab0) at ../Python/
#33 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa6584ce0, globals=<value optimized out>,
locals=<value optimized out>, args=0x29b7460, argcount=3, kws=0x29b7478, kwcount=0, defs=0x0, defcount=0,
closure=
#34 0x0000000000474a5a in PyEval_EvalFrame (f=0x29b72b0) at ../Python/
#35 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa659b570, globals=<value optimized out>,
locals=<value optimized out>, args=0x291ca40, argcount=2, kws=0x291ca50, kwcount=0, defs=0x0, defcount=0,
closure=
#36 0x0000000000474a5a in PyEval_EvalFrame (f=0x291c890) at ../Python/
#37 0x0000000000475546 in PyEval_EvalFrame (f=0x69f7d0) at ../Python/
#38 0x0000000000475546 in PyEval_EvalFrame (f=0x323e250) at ../Python/
#39 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa65be880, globals=<value optimized out>,
locals=<value optimized out>, args=0x1, argcount=1, kws=0x4771f78, kwcount=0, defs=0x2abfa65c
closure=0x0) at ../Python/
#40 0x0000000000474a5a in PyEval_EvalFrame (f=0x4771dd0) at ../Python/
#41 0x0000000000475546 in PyEval_EvalFrame (f=0x35f0cd0) at ../Python/
#42 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa65c4f10, globals=<value optimized out>,
locals=<value optimized out>, args=0x2aaaad2f
closure=0x0) at ../Python/
#43 0x00000000004bf233 in function_call (func=0x2abfa65
at ../Objects/
#44 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#45 0x0000000000419930 in instancemethod_call (func=<value optimized out>, arg=0x2aaaad2fc190, kw=0x0)
at ../Objects/
#46 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#47 0x000000000044efb6 in slot_tp_call (self=<value optimized out>, args=0x2abfa0a7
at ../Objects/
#48 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#49 0x00002abfa3dc8a75 in proxy_call (self=0x2e6e310, args=0x2abfa0a7
at src/zope/
#50 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#51 0x0000000000473fd0 in PyEval_EvalFrame (f=0x38ac7d0) at ../Python/
#52 0x0000000000475546 in PyEval_EvalFrame (f=0x2d2e220) at ../Python/
#53 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa3c9fc00, globals=<value optimized out>,
locals=<value optimized out>, args=0xf737d8, argcount=3, kws=0xf737f0, kwcount=0, defs=0x2abfa3ca
defcount=2, closure=0x0) at ../Python/
#54 0x0000000000474a5a in PyEval_EvalFrame (f=0xf73630) at ../Python/
#55 0x0000000000475546 in PyEval_EvalFrame (f=0x3a46880) at ../Python/
#56 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa3cab3b0, globals=<value optimized out>,
locals=<value optimized out>, args=0x1, argcount=1, kws=0x334a988, kwcount=1, defs=0x2abfa3ca
closure=0x0) at ../Python/
#57 0x0000000000474a5a in PyEval_EvalFrame (f=0x334a7c0) at ../Python/
#58 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa33c0f80, globals=<value optimized out>,
locals=<value optimized out>, args=0x4140068, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at ../Python/
#59 0x00000000004bf233 in function_call (func=0x2abfa41
#60 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#61 0x0000000000419930 in instancemethod_call (func=<value optimized out>, arg=0x4140050, kw=0x0)
at ../Objects/
#62 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#63 0x000000000044efb6 in slot_tp_call (self=<value optimized out>, args=0x2aaaaf42
at ../Objects/
#64 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#65 0x0000000000472619 in PyEval_EvalFrame (f=0x3be3f10) at ../Python/
#66 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa0b3a9d0, globals=<value optimized out>,
locals=<value optimized out>, args=0x2aaaaf05
closure=0x0) at ../Python/
#67 0x00000000004bf1cc in function_call (func=0x2abfa33
at ../Objects/
#68 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#69 0x0000000000473fd0 in PyEval_EvalFrame (f=0x32f3a70) at ../Python/
#70 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa2ac6ea0, globals=<value optimized out>,
locals=<value optimized out>, args=0x43ead88, argcount=3, kws=0x49d2e10, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at ../Python/
#71 0x00000000004bf1cc in function_call (func=0x2abfa2b
at ../Objects/
#72 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#73 0x0000000000473fd0 in PyEval_EvalFrame (f=0x14e0820) at ../Python/
#74 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa2ad0340, globals=<value optimized out>, locals=<value optimized out>, args=0x2aaaac59
closure=0x0) at ../Python/
#75 0x00000000004bf1cc in function_call (func=0x2abfa2b
at ../Objects/
#76 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#77 0x0000000000473fd0 in PyEval_EvalFrame (f=0x242f4b0) at ../Python/
#78 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa5ab6260, globals=<value optimized out>,
locals=<value optimized out>, args=0x2abfa650
closure=0x0) at ../Python/
#79 0x00000000004bf1cc in function_call (func=0x2abfa48
at ../Objects/
#80 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#81 0x0000000000473fd0 in PyEval_EvalFrame (f=0x1762390) at ../Python/
#82 0x0000000000475546 in PyEval_EvalFrame (f=0xdca830) at ../Python/
#83 0x00000000004767d6 in PyEval_EvalCodeEx (co=0x2abfa13833b0, globals=<value optimized out>,
locals=<value optimized out>, args=0x2abfa68e
closure=0x0) at ../Python/
#84 0x00000000004bf233 in function_call (func=0x2abfa13
at ../Objects/
#85 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#86 0x0000000000419930 in instancemethod_call (func=<value optimized out>, arg=0x2abfa68e99d0, kw=0x0)
at ../Objects/
#87 0x0000000000413bf0 in PyObject_Call (func=0x0, arg=0x0, kw=0x0) at ../Objects/
#88 0x000000000046faf1 in PyEval_
at ../Python/
#89 0x00000000004a25ed in t_bootstrap (boot_raw=
#90 0x00002abfa0b7d3ca in start_thread () from /lib/libpthread
#91 0x00002abfa10e355d in clone () from /lib/libc.so.6
#92 0x0000000000000000 in ?? ()
description: | updated |
By using the Py_VISIT macro to check for NULL objects we guard against visiting already deallocated objects.