[ZODB-Dev] Core dump with Zope-3x-branch ZODB

Neil Schemenauer nas@mems-exchange.org
Thu, 21 Mar 2002 17:01:19 -0500


The crash happened while using Grouch to type-check our database.  Since
we don't use any extension types I suspect the bug is either in the
Python interpreter or the ZODB extensions.  Since the object is a
weakref perhaps it has something to do with the BTree.__dict__ bug.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 16162)]
0x08097ca4 in _PyObject_GC_UnTrack (op=0x84473ac) at Modules/gcmodule.c:822
822             _PyObject_GC_UNTRACK(op);
(gdb) p op
$1 = (PyObject *) 0x84473ac
(gdb) p *op
$2 = {ob_refcnt = 0, ob_type = 0x80e01e0}
(gdb) p *op->ob_type
$3 = {ob_refcnt = 4, ob_type = 0x80df2a0, ob_size = 0, 
  tp_name = 0x80cba46 "weakref", tp_basicsize = 28, tp_itemsize = 0, 
  tp_dealloc = 0x80677a4 <weakref_dealloc>, tp_print = 0, tp_getattr = 0, 
  tp_setattr = 0, tp_compare = 0, tp_repr = 0x806794c <weakref_repr>, 
  tp_as_number = 0x0, tp_as_sequence = 0x0, tp_as_mapping = 0x0, 
  tp_hash = 0x8067900 <weakref_hash>, tp_call = 0x80678d0 <weakref_call>, 
  tp_str = 0, tp_getattro = 0, tp_setattro = 0, tp_as_buffer = 0x0, 
  tp_flags = 16875, tp_doc = 0x0, tp_traverse = 0x8067834 <gc_traverse>, 
  tp_clear = 0x8067858 <gc_clear>, 
  tp_richcompare = 0x80679b8 <weakref_richcompare>, tp_weaklistoffset = 0, 
  tp_iter = 0, tp_iternext = 0, tp_methods = 0x0, tp_members = 0x0, 
  tp_getset = 0x0, tp_base = 0x0, tp_dict = 0x0, tp_descr_get = 0, 
  tp_descr_set = 0, tp_dictoffset = 0, tp_init = 0, tp_alloc = 0, tp_new = 0, 
  tp_free = 0, tp_is_gc = 0, tp_bases = 0x0, tp_mro = 0x0, tp_cache = 0x0, 
  tp_subclasses = 0x0, tp_weaklist = 0x0}


-- 
Neil Schemenauer <nas@mems-exchange.org> | MEMS Exchange
Software Engineer                        | http://www.mems-exchange.org/