Re: [xml] runtest mystery bug: name2.xml error case regression test



On Thu, 13 Sep 2012, Daniel Veillard wrote:

What I was asking is, should everything still work correctly with
that larger value? Not break anything, still give the same results?
(Because if not, I'll need to find some other way of making the bug
reproducible on FC17.)

It may change some of the output as you reported, but not the document content, so if that's the way you reproduced it on F17 okay

I'm pretty sure I remember the error messages produced within runtest being different from the reference, so if it's possible for different-but-still-correct output to be generated, that shouldn't be the case here.

Well, you know what's going on much better than I do ^_^  Can you
reproduce this?

No, I don't have a precise idea of what you actually changed nor which file exposes the problem nor how you reproduce it except by running the modified runtest.c , does that show up in xmllint ?

I wouldn't know what to do with xmllint :] I just hack on this code, I don't actually use it! (I.e. I'm doing release engineering here, not application development)

The printf()s I alluded to earlier went into that conditional,
showing which branch was followed: "base has changed" or "base is
equal". With the cut-down runtest, when it succeeds, there are eight
"equal" lines and one "changed". When it fails, there are nine
"equal"s. So it seems like a *lack* of growing is what leads to the
bug....

 And the big buffer might be one of the way to force that behaviour.
Can your git diff your setup and tell me how you reproduce ?

This is all it is:

--- a/include/libxml/parserInternals.h
+++ b/include/libxml/parserInternals.h
@@ -86,7 +86,7 @@ XMLPUBVAR unsigned int xmlParserMaxDepth;
  * The parser tries to always have that amount of input ready.
  * One of the point is providing context when reporting errors.
  */
-#define INPUT_CHUNK    250
+#define INPUT_CHUNK    250000

 /************************************************************************
  *                                                                     *

The runtest.c patch is optional. With the above, runtest breaks on FC17.


--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]