Hi,
We ran into a problem running Xalan-C 1.10 that I don't know how to solve.
The environment is AIX 5.2. We compiled our code with VACPP 5.0, and we
used XercesC, XalanC, and ICU 3.2.1 libraries compiled with VACPP 6.0 (with
-qnamemangling=v5).
We built XalanC like this:
./runConfigure -paix -cxlc_r -xxlC_r -b32 -d -m icu "-z -qstaticinline -z
-qnamemangling=v5"
It fails on line 138 of XalanDocumentPrefixResolver.cpp:
120
XalanDocumentPrefixResolver::NamespaceNodesTreeWalker::startNode(const
XalanNode* node)
121 {
122 assert(node != 0);
123
124 switch(node->getNodeType())
125 {
126 case XalanNode::ELEMENT_NODE:
127 {
128 const XalanElement* theElementNode =
129 #if defined(XALAN_OLD_STYLE_CASTS)
130 (const XalanElement*)node;
131 #else
132 static_cast<const
XalanElement*>(node);
133 #endif
134
135 const XalanNamedNodeMap* const atts =
theElementNode->getAttributes();
136 assert(atts != 0);
137
138 const unsigned int theSize =
atts->getLength();
Illegal instruction in . at 0x0 ($t1)
0x00000000 00000000 Invalid opcode.
"atts" is set up like this:
stopped in xalanc_1_10::XalanSourceTreeElementNA::getAttributes() const at
line 93
90 const XalanNamedNodeMap*
91 XalanSourceTreeElementNA::getAttributes() const
92 {
93 return &s_emptyAttributes;
94 }
(dbx) print atts
0x2036d0d8
The stack trace looks like this:
(dbx) where
XalanDocumentPrefixResolver.XalanDocumentPrefixResolver::xalanc_1_10::XalanDocumentPrefixResolver::NamespaceNodesTreeWalker::startNode(const
xalanc_1_10::XalanNode*)(this = 0x2ff1ef80, node = 0x2020f2b8), line 138
in "XalanDocumentPrefixResolver.cpp"
unnamed block $b760, line 56 in "TreeWalker.cpp"
TreeWalker.traverse(const xalanc_1_10::XalanNode*)(0x2ff1ef80, 0x2020f2b8),
line 56 in "TreeWalker.cpp"
xalanc_1_10::XalanDocumentPrefixResolver::XalanDocumentPrefixResolver(const
xalanc_1_10::XalanDocument*,const
xalanc_1_10::XalanDOMString&,xercesc_2_7::MemoryManager&)(this =
0x202be718, theDocument = 0x2020f2b8, theURI = &(...), theManager =
&(...)), line 46 in "XalanDocumentPrefixResolver.cpp"
unnamed block $b5990, line 559 in "xmllib.cpp"
XPATH(0x2ff1fda8), line 559 in "xmllib.cpp"
Does anyone know how I can fix this?
Thanks,
Ashley Zinyk