[Python-Dev] Preventing 1.5 extensions crashing under 1.6/2.0 Python

Greg Stein gstein@lyra.org
Fri, 14 Jul 2000 01:51:17 -0700


On Thu, Jul 13, 2000 at 02:34:03PM -0400, James C. Ahlstrom wrote:
> Mark Hammond wrote:
>...
> I guess I haven't made myself clear.  I am not proposing
> that we freeze the C interface.  I am not proposing that we
> scrutinize any *.pyd's for incompatabilities.
> 
> I am proposing that we leave the "python15.dll" name the same.
> I am proposing that the various *.pyd authors themselves either
> provide newer versions, or declare that their *.pyd needs no
> newer version of python15.dll.

As a .pyd part-time author, I'm going to punt *every* time and suggest
people upgrade. I don't have time or inclination to piss around to figure
out whether my PYD is compatible forwards/backwards across revisions.

> It is a matter of odds.  If we necessarily rename python15.dll
> for each version release, Python has a 100% chance of failing
> with an obscure error or crashing if it uses any *.pyd at all
> unless all *.pyd are replaced with new versions.
> 
> If we do not rename python15.dll, then a *.pyd may or may not
> fail.  My guess (only a guess) is that many will work OK.

This is completely untenable.

*) change the python DLL name
   failure mode: old modules simply won't load, or they'll fail drastically

*) don't change the name
   failure mode: old modules may work, may have *subtle* bugs, or they may
                 fail miserably

As a user, I want complete guaranteed success or guaranteed failure. That
half-way ground where my application may silently be broken is simply
unacceptable.


You're free to start creating releases in this way. Personally, I don't want
to spend this kind of time and effort, for dubious benefit. I'm also not
going to try to impose that upon PYD authors.

And yes: this is all just IMO. One more vote in the crowd..

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/