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

Attachment: signature.asc
Description: Digital signature

Reply via email to