On 10/30/06, Travis Oliphant <[EMAIL PROTECTED]> wrote: > Fernando Perez wrote:
> >This sounds awfully reminiscent of the bug I recently mentioned: > > > >http://aspn.activestate.com/ASPN/Mail/Message/numpy-discussion/3312099 > > > > > > It actually looks very much like it. I think the problem may be in f2py > or in one of the C-API calls where-in there is a reference-count problem > with the built-in data-type objects. > > NumPy won't try to free those anymore which will solve the immediate > problem, but there is still a reference-count problem somewhere. > > The reference to the data-type objects is consumed by constructors that > take PyArray_Descr * arguments. So, you often need to INCREF before > passing to those constructors. It looks like this INCREF is forgotten > in some extension module (perhaps in f2py or PyMC). It's possible it's > in NumPy itself, though I've re-checked the code lots of times looking > for that specific problem. As a data point, our code has almost no manual memory management in C, but lots and lots of f2py-generated wrappers, as well as a lot of weave.inline-generated code. We do have hand-written C extensions, but most of them operate on externally allocated arrays. The one little snippet where we manually manage memory is a copy of numpy's innerproduct() which I simplified and tuned for our purposes; it just does: ret = (PyArrayObject *)PyArray_SimpleNew(nd,dimensions, ap1->descr->type_num); if (ret == NULL) goto fail; [ do computational loop to fill in ret array, no memory management here ] return (PyObject *)ret; fail: Py_XDECREF(ret); return NULL; That's the full extent of our manual memory management, and I don't see any problem with it, but maybe there is: I copied this from numpy months ago and haven't really looked again. Cheers, f ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion