
Op Di, 2012-06-19 om 12:22 +0200 skryf Stefan Behnel:
F Wolff, 19.06.2012 11:22:
Op Ma, 2012-06-18 om 19:58 +0200 skryf Stefan Behnel:
Stefan Behnel, 09.06.2012 22:17:
F Wolff, 09.06.2012 20:14:
I hope it helps! I realise some of this might be pypy bugs, but it is impossible for me to say, so I'll start here.
Thanks for testing. I've been seriously head under water for a while now, but I hope to find some time soon to tackle a couple of the main issues that are left.
I pushed a couple of changes to the master branch on github that fix or work around the most visible issues. Most importantly, threading is now disabled when compiling under PyPy as that's not currently supported by cpyext (and it only half-way fakes it). Both XPath and XSLT seem to work now, as does validation. There are still crashes in the test suite, but they are definitely getting fewer. Most test failures are now in the doctests due to different exceptions and/or error messages in PyPy etc.
I rebuilt, and things are looking substantially better. I'm able to complete the test run without a crash! Thanks!
Most failures now seem to be because of the first issue I mentioned in my previous mail, simplified to something like this:
from lxml import etree string_xpath = etree.XPath("string()") string_xpath(etree.fromstring('<a> </a>')) Traceback (most recent call last): File "<console>", line 1, in <module> File "xpath.pxi", line 462, in lxml.etree.XPath.__call__ (src/lxml/lxml.etree.c:126750) RuntimeError: maximum recursion depth exceeded
On the same line in xpath.pxi, I also saw at least once: SystemError: <StackOverflow object at 0x905d4ec>
I've seen these, too, and I've seen similar PyPy bugs that have already been worked around in Cython weeks ago, so no idea where these have crept back up from. I'll take a look.
From a quick look some others seem to be related to .iterchildren() or .iterdescendants(), but are not consistent (different number of failures between test runs of unchanged code), so I'm not sure what to report there right now.
Did you use yesterday's really, really latest github Cython? There's a bug in PyPy I needed to work around that is related to iteration in extension type subclasses (i.e. the exact case above).
No, I didn't sorry. I only updated lxml, not cython. I rebuilt both now. For cython: b3379294b1d0982363186577b06482e8d9285158 for lxml: a1690ce2106897481ebda6339ccfb6e73236f2a2 The failures are still inconsistent, and the errors relating to .iterchildren still seem to be there. I didn't think it is useful to repeat the tests multiple times to see the distribution of the number of failures, but it does seem as if it might be a few less on average for one of the files I looked at. I'm not sure that is useful to know, though :-/ Friedel -- Recently on my blog: http://translate.org.za/blogs/friedel/en/content/localisation-guide-now-avai...