[Python-Dev] PyObject_New vs PyObject_NEW

David Abrahams dave@boost-consulting.com
Wed, 12 Mar 2003 13:42:53 -0500

Tim Peters <tim.one@comcast.net> writes:

> [David Abrahams]
>> I was the one who discovered the problem, using Python 2.2.2.
>> Curiously, "someone" missed it because he was using vc6 instead of
>> vc7.
> So you were using VC7.  If so, using it for what?  Every stick of code in
> question, or were you mixing VC7-compiled code with VC6-compiled
> code?  

Python was compiled with vc6, the rest with vc7.  I test this
combination regularly and have never seen a problem.

> If the latter, talk to Microsoft (by most accounts their runtime
> support libraries aren't compatible with each other).

Sure, but that's only an issue if you are allocating resources in one
runtime lib and deallocating in another AFAIK.  There's nothing
beyond memory allocation going on here, and the type object in
question has a custom deallocator which goes to the same runtime that
allocated it.

>> Both answers seem to amount to "'someone' must have a bug in his
>> code".  Am I reading that correctly?
> Yes, for the right meaning of "someone".  Possibilities beyond you include
> Python and Microsoft.  Best guess I can make based on what you haven't told
> us yet is that you were mixing the released Python 2.2.2 Windows core DLL
> (built with MSVC6) with extension code using MSVC7 C runtime libraries.
> Right or wrong?

Totally and absolutely right.

Dave Abrahams
Boost Consulting