Xalan 1.3
Compiler: Microsoft Visual C++ 7.1.3088
Problem:
First-chance exception at 0x01873eb1 (XSLTD.dll) in NsaServer.exe:
0xC0000005: Access violation reading location 0x243c3358.
The problem happens when attempting a transform using a precompiled
style sheet. The same code used to work with the binaries distributed on
the Apache website and linked into our project using MSVC 6.0. We've
been using Xerces and Xalan 1.3 for years, and we unfortunately cannot
upgrade the libs just yet. But we had to rebuild the source code using
.NET for compatibility.
Here's how I call transform:
ostrstream OutputStream;
istrstream & XMLInputStream
[...]
Transformer.transform(&XMLInputStream, pPrecompiledStyleSheet,
OutputStream);
Did I miss a compiler setting?
Or is there any know problem between the STL implementation with MSVC
7.1 (.NET) and the Xalan 1.3 code base?
Thanks.
Michel Racine
hp Storage Works
Call stack from the transform call until the crash -->
XSLTD.dll!std::vector<bool,std::allocator<bool> >::reference::operator
bool() Line 1030 + 0x12 C++
XSLTD.dll!std::vector<bool,std::allocator<bool>
>::const_iterator::operator*() Line 1073 C++
XSLTD.dll!std::vector<bool,std::allocator<bool> >::back() Line 1472
C++
XSLTD.dll!XSLTEngineImpl::generateCDATASection() Line 1605 + 0x1a
C++
XSLTD.dll!XSLTEngineImpl::characters(const unsigned short *
ch=0x047cbf58, unsigned int start=0, unsigned int length=19) Line 1992
+ 0x8 C++
XSLTD.dll!XSLTEngineImpl::cloneToResultTree(XalanNode & node={...},
XalanNode::NodeType nodeType=TEXT_NODE, bool isLiteral=false, bool
overrideStrip=false, bool shouldCloneAttributes=false, const
ElemTemplateElement * styleNode=0x0302f4e0) Line 2321 C++
XSLTD.dll!StylesheetExecutionContextDefault::cloneToResultTree(XalanNode
& node={...}, XalanNode::NodeType nodeType=TEXT_NODE, bool
isLiteral=false, bool overrideStrip=false, bool
shouldCloneAttributes=false, const ElemTemplateElement *
styleNode=0x0302f4e0) Line 925 C++
XSLTD.dll!ElemCopy::execute(StylesheetExecutionContext &
executionContext={...}) Line 135 + 0x22 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemChoose::execute(StylesheetExecutionContext &
executionContext={...}) Line 171 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}, XalanNode * sourceNode=0x047c7d80) Line 326
C++
XSLTD.dll!ElemTemplateElement::transformChild(StylesheetExecutionContext
& executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x02f91bb0, XalanNode * child=0x047c7d80) Line 897 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, const NodeRefListBase & sourceNodes={...},
unsigned int sourceNodesCount=1) Line 798 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c558c, const
XPath & selectPattern={...}, NodeSorter * sorter=0x00000000, int
selectStackFrameIndex=10) Line 733 C++
XSLTD.dll!ElemForEach::transformSelectedChildren(StylesheetExecutionCont
ext & executionContext={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c558c, int
selectStackFrameIndex=10) Line 217 C++
XSLTD.dll!ElemApplyTemplates::execute(StylesheetExecutionContext &
executionContext={...}) Line 196 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemCopy::execute(StylesheetExecutionContext &
executionContext={...}) Line 145 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemChoose::execute(StylesheetExecutionContext &
executionContext={...}) Line 171 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}, XalanNode * sourceNode=0x047c558c) Line 326
C++
XSLTD.dll!ElemTemplateElement::transformChild(StylesheetExecutionContext
& executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x02f91bb0, XalanNode * child=0x047c558c) Line 897 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, const NodeRefListBase & sourceNodes={...},
unsigned int sourceNodesCount=9) Line 798 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c54dc, const
XPath & selectPattern={...}, NodeSorter * sorter=0x00000000, int
selectStackFrameIndex=9) Line 733 C++
XSLTD.dll!ElemForEach::transformSelectedChildren(StylesheetExecutionCont
ext & executionContext={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c54dc, int
selectStackFrameIndex=9) Line 217 C++
XSLTD.dll!ElemApplyTemplates::execute(StylesheetExecutionContext &
executionContext={...}) Line 196 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemCopy::execute(StylesheetExecutionContext &
executionContext={...}) Line 145 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemChoose::execute(StylesheetExecutionContext &
executionContext={...}) Line 171 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}, XalanNode * sourceNode=0x047c54dc) Line 326
C++
XSLTD.dll!ElemTemplateElement::transformChild(StylesheetExecutionContext
& executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x02f91bb0, XalanNode * child=0x047c54dc) Line 897 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, const NodeRefListBase & sourceNodes={...},
unsigned int sourceNodesCount=8) Line 798 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c5140, const
XPath & selectPattern={...}, NodeSorter * sorter=0x00000000, int
selectStackFrameIndex=8) Line 733 C++
XSLTD.dll!ElemForEach::transformSelectedChildren(StylesheetExecutionCont
ext & executionContext={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c5140, int
selectStackFrameIndex=8) Line 217 C++
XSLTD.dll!ElemApplyTemplates::execute(StylesheetExecutionContext &
executionContext={...}) Line 196 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemCopy::execute(StylesheetExecutionContext &
executionContext={...}) Line 145 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemChoose::execute(StylesheetExecutionContext &
executionContext={...}) Line 171 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}, XalanNode * sourceNode=0x047c5140) Line 326
C++
XSLTD.dll!ElemTemplateElement::transformChild(StylesheetExecutionContext
& executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x02f91bb0, XalanNode * child=0x047c5140) Line 897 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, const NodeRefListBase & sourceNodes={...},
unsigned int sourceNodesCount=1) Line 798 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c5114, const
XPath & selectPattern={...}, NodeSorter * sorter=0x00000000, int
selectStackFrameIndex=7) Line 733 C++
XSLTD.dll!ElemForEach::transformSelectedChildren(StylesheetExecutionCont
ext & executionContext={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c5114, int
selectStackFrameIndex=7) Line 217 C++
XSLTD.dll!ElemApplyTemplates::execute(StylesheetExecutionContext &
executionContext={...}) Line 196 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemCopy::execute(StylesheetExecutionContext &
executionContext={...}) Line 145 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemChoose::execute(StylesheetExecutionContext &
executionContext={...}) Line 171 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}, XalanNode * sourceNode=0x047c5114) Line 326
C++
XSLTD.dll!ElemTemplateElement::transformChild(StylesheetExecutionContext
& executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x02f91bb0, XalanNode * child=0x047c5114) Line 897 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, const NodeRefListBase & sourceNodes={...},
unsigned int sourceNodesCount=2) Line 798 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c5090, const
XPath & selectPattern={...}, NodeSorter * sorter=0x00000000, int
selectStackFrameIndex=6) Line 733 C++
XSLTD.dll!ElemForEach::transformSelectedChildren(StylesheetExecutionCont
ext & executionContext={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x047c5090, int
selectStackFrameIndex=6) Line 217 C++
XSLTD.dll!ElemApplyTemplates::execute(StylesheetExecutionContext &
executionContext={...}) Line 196 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemCopy::execute(StylesheetExecutionContext &
executionContext={...}) Line 145 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemChoose::execute(StylesheetExecutionContext &
executionContext={...}) Line 171 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}, XalanNode * sourceNode=0x047c5090) Line 326
C++
XSLTD.dll!ElemTemplateElement::transformChild(StylesheetExecutionContext
& executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x02f91bb0, XalanNode * child=0x047c5090) Line 897 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, const NodeRefListBase & sourceNodes={...},
unsigned int sourceNodesCount=1) Line 798 C++
XSLTD.dll!ElemTemplateElement::transformSelectedChildren(StylesheetExecu
tionContext & executionContext={...}, const ElemTemplateElement &
xslInstruction={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x0469b418, const
XPath & selectPattern={...}, NodeSorter * sorter=0x00000000, int
selectStackFrameIndex=5) Line 733 C++
XSLTD.dll!ElemForEach::transformSelectedChildren(StylesheetExecutionCont
ext & executionContext={...}, const ElemTemplateElement *
theTemplate=0x00000000, XalanNode * sourceNodeContext=0x0469b418, int
selectStackFrameIndex=5) Line 217 C++
XSLTD.dll!ElemApplyTemplates::execute(StylesheetExecutionContext &
executionContext={...}) Line 196 C++
XSLTD.dll!ElemTemplateElement::executeChildren(StylesheetExecutionContex
t & executionContext={...}) Line 307 + 0x14 C++
XSLTD.dll!ElemTemplate::execute(StylesheetExecutionContext &
executionContext={...}) Line 182 C++
XSLTD.dll!StylesheetRoot::process(XalanNode * sourceTree=0x0469b418,
XSLTResultTarget & outputTarget={...}, StylesheetExecutionContext &
executionContext={...}) Line 255 + 0x14 C++
XSLTD.dll!XSLTEngineImpl::process(const XSLTInputSource &
inputSource={...}, XSLTResultTarget & outputTarget={...},
StylesheetExecutionContext & executionContext={...}) Line 452 C++
XalanTransformerD.dll!XalanTransformer::transform(const
XalanParsedSource & theParsedXML={...}, const XalanCompiledStylesheet *
theCompiledStylesheet=0x02f9c5f8, const XSLTResultTarget &
theResultTarget={...}) Line 540 + 0x23 C++
XalanTransformerD.dll!XalanTransformer::transform(const XSLTInputSource
& theInputSource={...}, const XalanCompiledStylesheet *
theCompiledStylesheet=0x02f9c5f8, const XSLTResultTarget &
theResultTarget={...}) Line 631 + 0x14 C++
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]