Re: [xml] runtest mystery bug: name2.xml error case regression test
- From: Daniel Richard G. <oss teragram com>
- To: Daniel Veillard <veillard redhat com>
- Cc: xml gnome org
- Subject: Re: [xml] runtest mystery bug: name2.xml error case regression test
- Date: Wed, 12 Sep 2012 17:12:43 -0400
On Wed, 12 Sep 2012, Daniel Veillard wrote:
I could try to put Ubuntu on a VM too and see what is going on.
Did you manage to isolate what specific test is failing, doing the
same through xmllint command line test might be easier to debug,
I did some more digging on this, this time using GCC's
-finstrument-functions in conjunction with Michal Ludvig's handy-dandy
CygProfiler suite (http://www.logix.cz/michal/devel/CygProfiler/), and
have obtained some interesting results. But first, a question...
The value of INPUT_CHUNK in include/libxml/parserInternals.h: Is it
valid/legal to crank this value up? Like, say, from 250 to 250000?
That change causes the (unmodified) runtest program to do this on FC17:
$ ./runtest
## XML regression tests
## XML regression tests on memory
## XML entity subst regression tests
## XML Namespaces regression tests
## Error cases regression tests
Error for ./test/errors/attr1.xml failed
File ./test/errors/attr1.xml generated an error
Error for ./test/errors/attr2.xml failed
File ./test/errors/attr2.xml generated an error
Error for ./test/errors/name2.xml failed
File ./test/errors/name2.xml generated an error
## Error cases stream regression tests
## Reader regression tests
## Reader entities substitution regression tests
## Reader on memory regression tests
## Walker regression tests
## SAX1 callbacks regression tests
Got a difference for ./test/rdf2
File ./test/rdf2 generated an error
## SAX2 callbacks regression tests
Got a difference for ./test/rdf2
File ./test/rdf2 generated an error
## XML push regression tests
## HTML regression tests
## Push HTML regression tests
## HTML SAX regression tests
## Valid documents regression tests
## Validity checking regression tests
## General documents valid regression tests
## XInclude regression tests
## XInclude xmlReader regression tests
## XInclude regression tests stripping include nodes
## XInclude xmlReader regression tests stripping include nodes
## XPath expressions regression tests
## XPath document queries regression tests
## XPointer document queries regression tests
## xml:id regression tests
## URI parsing tests
## URI base composition tests
## Path URI conversion tests
## Schemas regression tests
## Relax-NG regression tests
## Relax-NG streaming regression tests
## Pattern regression tests
## C14N with comments regression tests
## C14N without comments regression tests
## C14N exclusive without comments regression tests
## C14N 1.1 without comments regression tests
## Catalog and Threads regression tests
Total 2829 tests, 5 errors, 0 leaks
(All the other "make check" tests pass.)
I was finally able to do a proper execution-trace diff with the
CygProfiler output, which showed that the good versus bad runs diverged in
xmlParseStartTag2(). Further GDB and printf() action seemed to point to
line 9213:
if (ctxt->input->base != base) goto base_changed;
So the issue, as far as I can tell, appears to be realloc() shenanigans
(or something a lot like it).
--Daniel
--
Daniel Richard G. || danielg teragram com || Software Developer
Teragram Linguistic Technologies (a division of SAS)
http://www.teragram.com/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]