[lxml-dev] lxml \ libxslt \ libxml2 leads to apache 2 crash on freebsd/amd64

Stefan Behnel stefan_ml at behnel.de
Wed Dec 26 20:47:10 CET 2007


Hi,

Dmitri Fedoruk wrote:
> First of all, happy holidays. Looks like it's not the perfect time to
> report a problem, but I can't find any solution by myself. More than
> that, I'm not sure this is a lxml problem. But I really hope for
> somebody to take a look at this long message :)
> ...
> transform = etree.XSLT(xslt_doc)
> result_tree = transform(data, **variables )
> return etree.tostring(result_tree, 'utf-8')
> ( or return str(result_tree) )
> 
> FreeBSD 6.2-20070330-SNAP
> Apache/2.0.61, Apache/2.2.6
> mod_python-3.3.1
> lxml 1.3.5, 1.3.6
> libxml2-2.6.27, libxml2-2.6.30
> libxslt-1.1.20, libxslt-1.1.22
> 
> (gdb) bt
> #0  0x00000008013824bc in kill () from /lib/libc.so.6
> #1  0x000000080138134d in abort () from /lib/libc.so.6
> #2  0x000000080131a265 in _UTF8_init () from /lib/libc.so.6
> #3  0x000000080131a29c in _UTF8_init () from /lib/libc.so.6
> #4  0x000000080131b23d in _UTF8_init () from /lib/libc.so.6
> #5  0x00000008055dc3f9 in xmlFreeNodeList () from /usr/local/lib/libxml2.so.5
> #6  0x00000008055dc29d in xmlFreeProp () from /usr/local/lib/libxml2.so.5
> #7  0x00000008055dc2dc in xmlFreePropList () from /usr/local/lib/libxml2.so.5
> #8  0x00000008055dc4bb in xmlFreeNodeList () from /usr/local/lib/libxml2.so.5
> #9  0x00000008055dc385 in xmlFreeNodeList () from /usr/local/lib/libxml2.so.5
> #10 0x00000008055dc385 in xmlFreeNodeList () from /usr/local/lib/libxml2.so.5
> #11 0x00000008055dc385 in xmlFreeNodeList () from /usr/local/lib/libxml2.so.5
> #12 0x00000008055dc385 in xmlFreeNodeList () from /usr/local/lib/libxml2.so.5
> #13 0x00000008055dc385 in xmlFreeNodeList () from /usr/local/lib/libxml2.so.5
> #14 0x00000008055dcad5 in xmlFreeDoc () from /usr/local/lib/libxml2.so.5
> #15 0x00000008051a8399 in __pyx_tp_dealloc_5etree__Document ()
>    from /usr/local/lib/python2.5/site-packages/lxml-1.3.6-py2.5-freebsd-6.2-20070912-SNAP-amd64.egg/lxml/etree.so
> #16 0x00000008051be15b in __pyx_tp_dealloc_5etree__Element ()
>    from /usr/local/lib/python2.5/site-packages/lxml-1.3.6-py2.5-freebsd-6.2-20070912-SNAP-amd64.egg/lxml/etree.so
> #17 0x00000008051a9b8f in __pyx_tp_dealloc_5etree__ElementTree ()
>    from /usr/local/lib/python2.5/site-packages/lxml-1.3.6-py2.5-freebsd-6.2-20070912-SNAP-amd64.egg/lxml/etree.so

Hmm, this looks like a deallocation problem - and there shouldn't be any left
in lxml 1.3.6... Also, the usage you describe sounds perfectly reasonable and
shouldn't lead to any problems.

For a quick shot: could you try switching to lxml 2.0alpha6 to see if the
problem persists?

Stefan


More information about the lxml-dev mailing list