Hi Martijn, Martijn Faassen wrote:
On Python 2.3 this segfaults with lxml 1.1 (it works with lxml 1.0):
from lxml import etree etree.parse('sfadfdfd')
That could be the same problem that Holger found when testing with Python 2.3 on Solaris. Maybe it's a bug in the thread handling of Python 2.3, which would make it a problem limited to lxml 1.1. Could you post a valgrind trace for this?
Additionally, the tests don't work anymore under Python 2.3. For lxml 1.1 some dependencies on Python 2.4's doctest module exist that don't work on Python 2.3, probably because we dropped the custom doctest that I added initially.
Most likely, yes.
For lxml 1.0 this is less bad, but there are still some dependencies on 'sorted()' and such in the tests.
Ah, sure, must have been me who added them. Maybe I should just install a 32bit Python 2.3 on my machine, to do my own tests before releasing...
I don't think we actually ever explictly dropped support for Python 2.3. Perhaps we should for a particular version of lxml
Hmm, it would definitely be easiest to do that for lxml 1.1. ;)
, but it'd be nice if we could track down this bug. It might indicate something wrong in Python 2.4 that just doesn't show up right away, I don't know.
I don't think so. At least in Holger's stack traces, the segfault occurred in pthreads when releasing the Python thread context, so it can't really be a problem in lxml itself. One way to work around this kind of problem would be to not release the thread context under 2.3. That should be simple to do, if we know the right places where we have to do this. Stefan