This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ronaldoussoren
Recipients
Date 2004-08-07.16:14:53
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=580910

It's infinite recursion...

- CF.CFMutableArrayRef has is a subtype of CF.CFArrayRef
- Both tp_del's call 'self->ob_type->tp_base->tp_dealloc' to deallocate
   the instance.
- When the instance is an CFMutableArrayRef self->ob_type->tp_base
   is CFArrayRef, which means we get:

1. Object refcount is 0, call tp_dealloc
2. Enter CFMutableArrayRefObj_dealloc
3. Call self->ob_type->tp_dealloc
4. Enter CFArrayRefObj_dealloc
5. Call self->ob_type->tp_dealloc
6. Enter CFArrayRefObj_dealloc
7. ...

I guess the right change is in Tools/bgen/bgen/bgenObjectDefinition.py:
outputDealloc.

Near line 138 this prints the problematic 'self->ob_type->tp_base-
>tp_dealloc'. I'd change this to:

    Output("%s.tp_dealloc((PyObject*)self);"%(self.basetype,))
History
Date User Action Args
2007-08-23 14:24:39adminlinkissue1000914 messages
2007-08-23 14:24:39admincreate