[issue12149] Segfault in _PyObject_GenericGetAttrWithDict

Mark Shannon report at bugs.python.org
Thu Dec 15 01:10:08 CET 2011


Mark Shannon <marks at dcs.gla.ac.uk> added the comment:

Please reopen this bug as the fix is wrong.

This fix merely hides the symptoms of _PyType_Lookup returning a dead object, by calling PyType_Modified() frequently, thus ensuring the type method cache is almost always invalidated.
This results in a significant slow down in pystones (~4%) due to a large slowdown (~60%) in _PyType_Lookup.

I don't know what the root cause is, but it could be:
A failure to call PyType_Modified() at the correct point (probably somewhere in iobase.c)
or it could be:
Deallocation not conforming to topographical ordering (ie. instance first then class), due to a cycle involving a borrowed reference.
(Or it could be something else)

----------
nosy: +Mark.Shannon

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12149>
_______________________________________


More information about the Python-bugs-list mailing list