[Numpy-discussion] Ticket review: #848, leak in PyArray_DescrFromType
Michael Abbott
michael at araneidae.co.uk
Sat Jul 19 10:57:51 EDT 2008
On Fri, 18 Jul 2008, Travis E. Oliphant wrote:
> It looks like with that added DECREF, the reference count leak is gone.
I've looked at the latest head, and I agree that the problem is now
solved.
There is an important difference from my original solution: typecode is no
longer reused after the finish label (instead it is always created anew).
This makes all the difference in the world.
I'm not actually convinced by the comment that's there now, which says
/* typecode will be NULL */
but in truth it doesn't matter -- because of the correcly placed DECREF
after the PyArray_Scalar calls the routine no longer owns typecode.
If I can refer to my last message, I made the point that there wasn't a
good invariant at the finish label -- we didn't know how many references
to typecode we were responsible for at that point -- and I offered the
solution to keep typecode. Instead you have chosen to recreate typecode,
which I hadn't realised was just as good.
This code is still horrible, but I don't think I want to try to understand
it anymore. It'd be really nice (it'd make me feel a lot better) if you'd
agree that my original patch was in fact correct. I'm not disputing the
correcness of the current solution (except I think that typecode can end
up being created twice, but who really cares?) but I've put a lot of
effort into arguing my case, and the fact is my original patch was not
wrong.
Thank you.
More information about the NumPy-Discussion
mailing list