So for those who haven't heard, the multicore segfault was finally traced to Pyrex introducing redundant/unnecessary INCREF/DECREF pairs on attributes passed to class methods. Cython has fixed this, apparently, but we can't use Cython due to their project direction going contrary to the direction we need. They're writing it in the direction/style for people migrating pure-Python packages to Pyrex/Cython to make certain functions faster, rather than from the perspective of "we'd write this in pure C using the Python/C API, but this makes much more sense".
PyMill is the solution - and we're getting pretty close to having it working. Currently mill.distutils imports Cython.Compiler directly and uses it with a bit of hackery, and it's finding the pxd's alright. Now we're down to what changes are needed to get Cython.Compiler building multiple sources per extension. The current error is "foo functions declared but not defined", as it expects a 1:1 ratio between .pxd's and source files. Removing this error will only partly solve the problem, since the C declarations are in the generated .c files and not in an extension-wide header. I really need more help with this. It doesn't involve any of PySoy's codebase and is 100% Python code. Yes, it's poorly documented, but between Piet and what I've learned by digging through the code over the last two weeks.. Join me in #PyMill on Freenode and lets get PySoy stable again! _______________________________________________ PySoy-Dev mailing list [email protected] http://www.pysoy.org/mailman/listinfo/pysoy-dev
