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

Reply via email to