[issue7433] MemoryView memory_getbuf causes segfaults, double call to tp_releasebuffer
Pauli Virtanen
report at bugs.python.org
Fri Dec 4 14:56:42 CET 2009
Pauli Virtanen <pav at iki.fi> added the comment:
> Why do you say that:
>
> > There is no feasible way the bf_releasebuffer can keep track of how
> > many calls to it have been made.
I was probably thinking about allocating new temporary arrays for
strides etc. on each *_getbuffer -- if that's done, then manually
keeping track of all the allocated memory seems like a waste of effort
(ie. not feasible).
But yes, if memory allocated for entries in Py_buffer is shared between
all exported buffer views, that sounds better -- for some reason I
didn't think about that... So we'll do it like this in Numpy then.
But still, I take it that the way it currently works is not the intended
behavior? The segmentation faults caused by this came as a bit of a
surprise to me, as the assumption about paired *_getbuffer and
*_releasebuffer calls is very natural.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue7433>
_______________________________________
More information about the Python-bugs-list
mailing list