Re: [xsl] a weird bug today, tree seems to change mid transform

Subject: Re: [xsl] a weird bug today, tree seems to change mid transform
From: Abel Braaksma <>
Date: Sat, 08 Sep 2007 17:38:14 +0200
Michael Kay wrote:
I was reading through your story and as far as I can tell, there is no bug that causes danish text to be translated automagically into english text ;)

Actually, with Microsoft nothing would surprise me. Until I learnt how to
switch it off, MS Word was constantly translating what I typed into what it
thought I intended to type.


But there's clearly something going on here that's outside the scope of the
XSLT code, which makes it rather difficult to diagnose remotely.


To Bryan: if you search for it on MSKB, you will find that quite many issues that have happened over time with the XML Parser of microsoft are caused by concurrent access, wrong threading model or similar issues. Of course, the issues addressed are about crashes or access violation errors. It still sounds to me that your situation suffers the same problem but without the violation errors. Here are a couple of those articles:

GPS when you change XML nodes, caused by double access to the xml tree:
Weird silent failing when wrong threading model is used:
Here is where Microsoft calls it "a rare concurrency bug":
Here's where Microsoft suggest xml strings instead of passing around objects:
Here's where "1" changes to "-1" for a boolean on MSXML 2: (but that doesn't turn Danish into English still)
Yet another prb with multiple threads:

This was a sentence that struck me: "XML Documents are not "marshalled by value." If you return an XML document, the instance lives on the server". From what I remember about marshalling, this means that each time you access a multi-threaded (or remote) document, the property will be retrieved again. Meaning, also, that through this marshalling, the object can also be changed by another process at any moment.

It is probably good to find out what version you are actually using as XML parser:
And here's how complex it can be to find out remotely what version is in use:

Finally, if you want to test your scenario on a minimalist test page, here's how you can make your own ASP page doing it:

Well, that was fun browsing the MS site. I don't think I should ever attempt to really use MSXML, far too dangerous (and this was only a handful of the issues related to this thread) LOL ;)

-- Abel Braaksma

Current Thread