Package: python-lxml Version: 2.2.6-1 Severity: minor
lxml segfaults when it runs out of virtual memory:
$ echo '<root>' > test.xml
$ yes '<x>yzw</x>' | head -n 20000000 >> test.xml
$ echo '</root>' >> test.xml
$ ls -lh test.xml
-rw------- 1 jwilk users 210M Aug 4 00:45 test.xml
$ python -c 'from sys import stdin; from lxml.etree import parse; parse(stdin)'
< test.xml
Segmentation fault (core dumped)
Backtrace:
#0 __strlen_sse2 () at ../sysdeps/i386/i686/multiarch/strlen.S:99
#1 0xb74448ea in __pyx_f_4lxml_5etree_9_LogEntry__setError
(__pyx_v_self=0xb736ff7c, __pyx_v_error=0x4c717d60) at
src/lxml/lxml.etree.c:22732
#2 0xb7471544 in __pyx_f_4lxml_5etree_13_BaseErrorLog__receive
(__pyx_v_self=0xb7368734, __pyx_v_error=0x4c717d60) at
src/lxml/lxml.etree.c:23688
#3 0xb7470b56 in __pyx_f_4lxml_5etree__forwardError
(__pyx_v_c_log_handler=0xb7368734, __pyx_v_error=0x0) at
src/lxml/lxml.etree.c:27574
#4 0x4c61287c in __xmlRaiseError () from /usr/lib/libxml2.so.2
#5 0x4c6135da in xmlErrMemory () from /usr/lib/libxml2.so.2
#6 0x4c68c460 in xmlStrndup () from /usr/lib/libxml2.so.2
#7 0x4c68c510 in xmlStrdup () from /usr/lib/libxml2.so.2
#8 0x4c6127cf in __xmlRaiseError () from /usr/lib/libxml2.so.2
#9 0x4c61353f in xmlErrMemory () from /usr/lib/libxml2.so.2
#10 0x4c6dd11e in ?? () from /usr/lib/libxml2.so.2
#11 0x4c6dd1bc in xmlSAX2Characters () from /usr/lib/libxml2.so.2
#12 0x4c62322c in xmlParseCharData () from /usr/lib/libxml2.so.2
#13 0x4c627443 in xmlParseContent () from /usr/lib/libxml2.so.2
#14 0x4c62702c in xmlParseElement () from /usr/lib/libxml2.so.2
#15 0x4c62e3c2 in xmlParseDocument () from /usr/lib/libxml2.so.2
#16 0x4c62e674 in ?? () from /usr/lib/libxml2.so.2
#17 0xb744f765 in __pyx_f_4lxml_5etree_18_FileReaderContext__readDoc
(__pyx_v_self=0x859c038, __pyx_v_ctxt=0x859c038, __pyx_v_options=83970)
at src/lxml/lxml.etree.c:62503
#18 0xb748a8fd in __pyx_f_4lxml_5etree_11_BaseParser__parseDocFromFilelike
(__pyx_v_self=0xb73b875c, __pyx_v_filelike=<file at remote 0xb7893020>,
__pyx_v_filename='/tmp/<stdin>') at src/lxml/lxml.etree.c:68372
#19 0xb7428156 in __pyx_f_4lxml_5etree__parseDocFromFilelike (__pyx_v_source=0x0,
__pyx_v_filename=<value optimized out>, __pyx_v_parser=0xb73b875c)
at src/lxml/lxml.etree.c:71240
#20 0xb74af94a in __pyx_f_4lxml_5etree__parseFilelikeDocument (__pyx_v_source=<value
optimized out>, __pyx_v_parser=<value optimized out>, __pyx_v_base_url=
None) at src/lxml/lxml.etree.c:72325
#21 __pyx_f_4lxml_5etree__parseDocument (__pyx_v_source=<value optimized out>,
__pyx_v_parser=<value optimized out>, __pyx_v_base_url=None)
at src/lxml/lxml.etree.c:6479
#22 0xb74b11ad in __pyx_pf_4lxml_5etree_parse (__pyx_self=0x0, __pyx_args=(<file
at remote 0xb7893020>,), __pyx_kwds=0x0) at src/lxml/lxml.etree.c:49958
#23 0x080e0671 in call_function (f=Frame 0x84ff1ec, for file <string>, line 1, in
<module> (), throwflag=0) at ../Python/ceval.c:3750
#24 PyEval_EvalFrameEx (f=Frame 0x84ff1ec, for file <string>, line 1, in
<module> (), throwflag=0) at ../Python/ceval.c:2412
#25 0x080e2457 in PyEval_EvalCodeEx (co=0xb78aa608, globals=
{'__builtins__': <module at remote 0xb7871074>, 'stdin': <file at remote
0xb7893020>, '__package__': None, 'parse': <built-in function parse>, '__name__':
'__main__', '__doc__': None}, locals=
{'__builtins__': <module at remote 0xb7871074>, 'stdin': <file at remote
0xb7893020>, '__package__': None, 'parse': <built-in function parse>, '__name__':
'__main__', '__doc__': None}, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at ../Python/ceval.c:3000
#26 0x080e2557 in PyEval_EvalCode (co=0xb78aa608, globals=
{'__builtins__': <module at remote 0xb7871074>, 'stdin': <file at remote
0xb7893020>, '__package__': None, 'parse': <built-in function parse>, '__name__':
'__main__', '__doc__': None}, locals=
{'__builtins__': <module at remote 0xb7871074>, 'stdin': <file at remote
0xb7893020>, '__package__': None, 'parse': <built-in function parse>, '__name__':
'__main__', '__doc__': None}) at ../Python/ceval.c:541
#27 0x08100d65 in run_mod (command=0x849e008 "from sys import stdin; from lxml.etree
import parse; parse(stdin)\n", flags=0xbfcdfd4c)
at ../Python/pythonrun.c:1351
#28 PyRun_StringFlags (command=0x849e008 "from sys import stdin; from lxml.etree
import parse; parse(stdin)\n", flags=0xbfcdfd4c) at ../Python/pythonrun.c:1314
#29 PyRun_SimpleStringFlags (command=0x849e008 "from sys import stdin; from
lxml.etree import parse; parse(stdin)\n", flags=0xbfcdfd4c)
at ../Python/pythonrun.c:967
#30 0x0805d719 in Py_Main (argc=3, argv=0xbfcdfe34) at ../Modules/main.c:521
#31 0x0805cf6b in main (argc=3, argv=0xbfcdfe34) at ../Modules/python.c:23
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (990, 'unstable'), (500, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages python-lxml depends on:
ii libc6 2.11.2-2 Embedded GNU C Library: Shared lib
ii libxml2 2.7.7.dfsg-4 GNOME XML library
ii libxslt1.1 1.1.26-5 XSLT 1.0 processing library - runt
ii python 2.6.5-11 interactive high-level object-orie
ii python-central 0.6.16 register and build utility for Pyt
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
python-lxml recommends no packages.
Versions of packages python-lxml suggests:
ii python-lxml-dbg 2.2.6-1 pythonic binding for the libxml2 a
-- debconf-show failed
--
Jakub Wilk
signature.asc
Description: Digital signature

