Never seen this before. It looks very much like a system problem of some kind rather than something directly attributable to Saxon, though it could just be an IKVM problem. How reproducible is it? I'm afraid it's difficult to give very much help with problems that occur only on specific platforms.
For what it's worth, sendPullSource() is Java code that (after a couple more method calls) invokes the Microsoft System.Xml parser (the one you supplied on your call to Build()). You could do some experiments to see whether the failure is always associated with a call to System.Xml.XmlReader, for example by trying different overloads of the Build() method.
I wonder if it might be some kind of problem with security settings. The error message doesn't really suggest that, but it's a possibility.


Michael Kay

From: Raveendran, Reshma []
Sent: 25 February 2010 07:20
Subject: Saxon on 64 bit giving access violation errors



I'm evaluating the Saxon ee (.net) version and trying to compare its performance between 32 bit & 64 bit environments. In the past we faced memory problems and decided to evaluate 64 bit environment as a solution. I have a test application using the .Net interface provided since eventually we will be using the Saxon .Net API in our application. I get the following error when running it in the 64 bit server although it works fine in the 32 bit server --



System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

   at net.sf.saxon.event.Sender.sendPullSource(PullSource , Receiver , ParseOptions )

   at net.sf.saxon.event.Sender.send(Source source, Receiver receiver, ParseOptions options)

   at net.sf.saxon.Configuration.buildDocument(Source source, ParseOptions parseOptions)

   at net.sf.saxon.Configuration.buildDocument(Source source)

   at Saxon.Api.DocumentBuilder.Build(XmlReader reader)

   at ForsTestApp.Form1.ExecuteSaxonStreamMode(String xml, String xslt, String result) in E:\BMD_Workarea\ForsPerf\ForsTestApp\Form1.cs:line 792


Following is the code snippet


XmlReader xslReader = null;

            XmlReader xmlReader = null;

            XsltCompiler c = null;



                 xslReader = XmlReader.Create(xsltfilenname);

                Processor p = new Processor();

                DocumentBuilder docB = p.NewDocumentBuilder();

                docB.BaseUri = new Uri("urn:test");

                xmlReader = XmlReader.Create(xmlfilename);

                XdmNode rootNode = docB.Build(xmlReader);


                c = p.NewXsltCompiler();

                c.ErrorList = new ArrayList();

                c.BaseUri = new Uri("urn:test");



                XsltExecutable executable = c.Compile(xslReader);


                XsltTransformer transof = executable.Load();

                transof.InitialTemplate = new QName("", "", "main");

                transof.InitialContextNode = rootNode;


                Serializer serializer = new Serializer();

                serializer.SetOutputFile(resultfilename); //for file



                // Transform the source XML to System.out.




Please let me know a resolution  for this.






NOTICE: If received in error, please destroy, and notify sender. Sender does not intend to waive confidentiality or privilege. Use of this email is prohibited when received in error. We may monitor and store emails to the extent permitted by applicable law.