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

Reply via email to