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 bioinformed
Recipients arigo, bioinformed, georg.brandl, nnorwitz, ntoronto, peaker, rhettinger
Date 2008-01-13.17:01:54
SpamBayes Score 0.0275817
Marked as misclassified No
Message-id <1200243716.32.0.265798193631.issue1700288@psf.upfronthosting.co.za>
In-reply-to
Content
Couldn't resist looking into this more and I must admit that I am a bit
stumped.  If instead of returning a value from the cache fast path in
_PyType_Lookup, I modified the code to store the value and assert that
it matches with the non-cached result from traversing the mro.  That
assertion never fails.  However, test_incomplete works with this change
that ideally should not alter the semantics of _PyType_Lookup.

More so, if I selectively don't cache the name "next" (with the caching
fast path reenabled), test_incomplete works.  For test_incomplete,
_PyType_Lookup on "next" always return NULL from both the cached and
non-cached paths.  

I'm beginning to suspect there is some black magic going on.  None of
the relevant reference counts drop to zero, the same return value (NULL)
is generated, but the slow patch seems to be doing something with a side
effect that makes it work.

Wish I had more time to debug this, but I'm already overdrawn until
Wednesday...
History
Date User Action Args
2008-01-13 17:01:56bioinformedsetspambayes_score: 0.0275817 -> 0.0275817
recipients: + bioinformed, nnorwitz, arigo, georg.brandl, rhettinger, peaker, ntoronto
2008-01-13 17:01:56bioinformedsetspambayes_score: 0.0275817 -> 0.0275817
messageid: <1200243716.32.0.265798193631.issue1700288@psf.upfronthosting.co.za>
2008-01-13 17:01:55bioinformedlinkissue1700288 messages
2008-01-13 17:01:54bioinformedcreate