Hi,

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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 
> consistently 
> 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 
> multithreaded 
> 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.

Regards,

Kasimier
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to