You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xalan.apache.org by Takeaki Nishihara <ni...@artstech.co.jp> on 2003/07/19 17:16:34 UTC

Float Invalid Operation when calling VC compiled DLL that use Xalan from BCB built EXE

 I have re-compiled ICU/Xerces2.2/Xalan1.5 by VC6 SP5 on Windows 2000 SP3 machine
and compiled my own DLL that uses Xalan and its correspondents at same environment.
The dll works fine if it is called from the program compiled by VC, but
it throws "Float Invalid Operation"(0x00000090) if it is called from the application
compiled by Borland C++ Builder 6.

 The actual point where the exception occured was at
DoubleSupport::getNaN(). The rest of stack dump will be quoted at the end of the mail.

 Since I have created my own extended function, I have commented out everything
within the extended function and tried it again. Though the result was completely the
same.

 It would be greatful for your help.


 tak


xalanc_1_5::DoubleSupport::getNaN() line 172
xalanc_1_5::doConvert(const unsigned short * 0x03cbcb88) line 694 + 5 bytes
xalanc_1_5::DoubleSupport::toDouble(const unsigned short * 0x03cbcb88) line 714 + 9 bytes
xalanc_1_5::DoubleSupport::toDouble(const xalanc_1_5::XalanDOMString & {...}) line 369 + 18 bytes
xalanc_1_5::XResultTreeFrag::num() line 178 + 26 bytes
xalanc_1_5::compareNodeSets(const xalanc_1_5::XObject & {...}, const xalanc_1_5::XObject & {...}, xalanc_1_5::XObject::eObjectType eTypeResultTreeFrag, const xalanc_1_5::equalsDOMString & {...}, const xalanc_1_5::DoubleSupport::equalFunction & {...}, xalanc_1_5::XPathExecutionContext & {...}) line 761 + 13 bytes
xalanc_1_5::equalNodeSet(const xalanc_1_5::XObject & {...}, const xalanc_1_5::XObject & {...}, xalanc_1_5::XObject::eObjectType eTypeResultTreeFrag, xalanc_1_5::XPathExecutionContext & {...}) line 821 + 29 bytes
xalanc_1_5::XObject::equals(const xalanc_1_5::XObject & {...}, xalanc_1_5::XPathExecutionContext & {...}) line 939 + 26 bytes
xalanc_1_5::XPath::equals(xalanc_1_5::XalanNode * 0x03a72a08, int 29, xalanc_1_5::XPathExecutionContext & {...}) line 1746 + 65 bytes
xalanc_1_5::XPath::executeMore(xalanc_1_5::XalanNode * 0x03a72a08, int 18, xalanc_1_5::XPathExecutionContext & {...}) line 319 + 20 bytes
xalanc_1_5::XPath::predicate(xalanc_1_5::XalanNode * 0x03a72a08, int 16, xalanc_1_5::XPathExecutionContext & {...}) line 870 + 27 bytes
xalanc_1_5::XPath::predicates(xalanc_1_5::XPathExecutionContext & {...}, int 16, xalanc_1_5::MutableNodeRefList & {...}) line 4759 + 24 bytes
xalanc_1_5::XPath::step(xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::XalanNode * 0x03a72880, int 16, xalanc_1_5::MutableNodeRefList & {...}) line 2911 + 25 bytes
xalanc_1_5::XPath::step(xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::XalanNode * 0x03a6d088, int 10, xalanc_1_5::MutableNodeRefList & {...}) line 2930
xalanc_1_5::XPath::locationPath(xalanc_1_5::XalanNode * 0x03a6d088, int 2, xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::MutableNodeRefList & {...}) line 1112
xalanc_1_5::XPath::executeMore(xalanc_1_5::XalanNode * 0x03a6d088, int 2, xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::MutableNodeRefList & {...}) line 1343
xalanc_1_5::XPath::executeMore(xalanc_1_5::XalanNode * 0x03a6d088, int 0, xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::MutableNodeRefList & {...}) line 1276 + 31 bytes
xalanc_1_5::XPath::execute(const xalanc_1_5::PrefixResolver & {...}, xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::MutableNodeRefList & {...}) line 775 + 43 bytes
xalanc_1_5::ElemForEach::selectAndSortChildren(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000, xalanc_1_5::NodeSorter * 0x00000000, int 12) line 430 + 74 bytes
xalanc_1_5::ElemApplyTemplates::selectAndSortChildren(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000, xalanc_1_5::NodeSorter * 0x00000000, int 12) line 243
xalanc_1_5::ElemForEach::transformSelectedChildren(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000) line 246 + 56 bytes
xalanc_1_5::ElemApplyTemplates::execute(xalanc_1_5::StylesheetExecutionContext & {...}) line 176
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext & {...}) line 293 + 20 bytes
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext & {...}, xalanc_1_5::XalanNode * 0x03a6d088) line 313 + 20 bytes
xalanc_1_5::StylesheetExecutionContextDefault::createXResultTreeFrag(const xalanc_1_5::ElemTemplateElement & {...}, xalanc_1_5::XalanNode * 0x03a6d088) line 1063 + 24 bytes
xalanc_1_5::ElemVariable::getValue(xalanc_1_5::StylesheetExecutionContext & {...}, xalanc_1_5::XalanNode * 0x03a6d088) line 292 + 28 bytes
xalanc_1_5::ElemVariable::execute(xalanc_1_5::StylesheetExecutionContext & {...}) line 259 + 37 bytes
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext & {...}) line 286 + 20 bytes
xalanc_1_5::ElemTemplate::executeChildren(xalanc_1_5::StylesheetExecutionContext & {...}) line 223
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext & {...}, xalanc_1_5::XalanNode * 0x03a6d088) line 319 + 20 bytes
xalanc_1_5::ElemTemplate::executeChildren(xalanc_1_5::StylesheetExecutionContext & {...}, xalanc_1_5::XalanNode * 0x03a6d088) line 233
xalanc_1_5::ElemTemplateElement::transformChild(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement & {...}, const xalanc_1_5::ElemTemplateElement * 0x0462e7d8, xalanc_1_5::XalanNode * 0x03a6d088, xalanc_1_5::XalanNode::NodeType ELEMENT_NODE) line 731 + 24 bytes
xalanc_1_5::ElemApplyTemplates::transformChild(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000, xalanc_1_5::XalanNode * 0x03a6d088) line 206
xalanc_1_5::ElemForEach::transformSelectedChildren(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000, const xalanc_1_5::NodeRefListBase & {...}, unsigned int 1) line 532 + 32 bytes
xalanc_1_5::ElemForEach::selectAndSortChildren(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000, xalanc_1_5::NodeSorter * 0x00000000, int 3) line 470
xalanc_1_5::ElemApplyTemplates::selectAndSortChildren(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000, xalanc_1_5::NodeSorter * 0x00000000, int 3) line 253
xalanc_1_5::ElemForEach::transformSelectedChildren(xalanc_1_5::StylesheetExecutionContext & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000) line 246 + 56 bytes
xalanc_1_5::ElemApplyTemplates::execute(xalanc_1_5::StylesheetExecutionContext & {...}) line 176
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext & {...}) line 293 + 20 bytes
xalanc_1_5::ElemTemplate::executeChildren(xalanc_1_5::StylesheetExecutionContext & {...}) line 223
xalanc_1_5::ElemTemplate::execute(xalanc_1_5::StylesheetExecutionContext & {...}) line 212 + 20 bytes
xalanc_1_5::StylesheetRoot::process(xalanc_1_5::XalanNode * 0x03abf8a0, xalanc_1_5::XSLTResultTarget & {...}, xalanc_1_5::StylesheetExecutionContext & {...}) line 258 + 20 bytes
xalanc_1_5::XSLTEngineImpl::process(const xalanc_1_5::XSLTInputSource & {...}, xalanc_1_5::XSLTResultTarget & {...}, xalanc_1_5::StylesheetExecutionContext & {...}) line 440
xalanc_1_5::XalanTransformer::doTransform(const xalanc_1_5::XalanParsedSource & {...}, const xalanc_1_5::XalanCompiledStylesheet * 0x03b1efd0, const xalanc_1_5::XSLTInputSource * 0x00000000, const xalanc_1_5::XSLTResultTarget & {...}) line 1216
xalanc_1_5::XalanTransformer::transform(const xalanc_1_5::XalanParsedSource & {...}, const xalanc_1_5::XalanCompiledStylesheet * 0x03b1efd0, const xalanc_1_5::XSLTResultTarget & {...}) line 218