Re: [xml] 2.6.26 xpath returns too many nodes?


-----Original Message-----
From: xml-bounces gnome org [mailto:xml-bounces gnome org] On 
Behalf Of Arnold Hendriks

We recently upgraded from libxml2 version 2.6.13 to 2.6.26, 
and are now 
running into problems with the xpath code. It appears that, very 
infrequently, the result of xmlXPathEvalExpression contains too many 
nodes (the correct node and a handful of nodes that appear a 
bit later 
in the document, but not necessary only the immediate 
siblings or chilrden).

The problem is hard to reproduce, and would appear to be some sort of 
race condition. So far I can't come up with a testcase that 
reproduces it. The 2.6.24 libxml2 however, works fine.

This is a win32 build, using C++ Builder 5, and I'm checking 
xmlHasFeature(XML_WITH_THREAD) at startup to make sure I've 
really got a 
threaded version of libxml2. The code is running inside a 
webserver using a thread pool, but in this specific case, the 
xmlDoc and 
xpath expressions aren't accessed by different threads (the 
code fails 
during the 'startup' phase of a http request handling, and 
the objects are not passed between threads in that phase yet)

Any suggestions on where to look for the problem?

Can you provide the XPath expression which are in use?
You write "the correct node and a handful of nodes". Do you
use expressions with positional predicates (e.g. "[1]")?
If yes, then the source of the error should be one of the
optimizations, which were added in 2.6.26.
I'll look into this, but if you could post the expressions,
then this would be easier.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]