Uploaded image for project: 'Xerces-C++'
  1. Xerces-C++
  2. XERCESC-1908

Xerces-c SAX application crashed on Solaris 10 x64

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • 2.7.0, 2.8.0, 3.0.0, 3.0.1
    • None
    • SAX/SAX2
    • None
    • $uname -a
      SunOS xsol-qa1 5.10 Generic_137138-09 i86pc i386 i86pc

      $CC -V
      CC: Sun C++ 5.7 2005/01/07

    Description

      This issue just happens on Solaris 10 x64. There is no problem on other platforms, such as Solaris 10 x86 (32-bit), AIX (both 32 and 64), HP-UX (both PA-RISC and IA64), Linux x86 etc.

      I wrote a xerces-c sax application on Solaris 10 x64. The class "MXmlHandler" was the xml handler what was inherited from "DefaultHandeler".

      The following is the compiler and linker flags.
      Compiler flags: -mt -xarch=amd64 -g -I/usr/app/xercesc/2.8/include
      Linker flags: -mt -xarch=amd64 -L/usr/app/xercesc/2.8/lib -lxerces-c

      At the begining of the method
      void startElement( const XMLCh* const uri,
      const XMLCh* const localname,
      const XMLCh* const qname,
      const Attributes& attributes);

      the value of the parameter "qname" was wrong. For example the qname should be a string like "schemaName", but it was a recognised string. This is the behavior in RELEASE libraries. In the DEBUG mode, the application crashed in xerces-c libraries.

      The following is traceback.
      =>[1] xercesc_2_8::XMLAttr::getValue(this = 0x18), line 486 in "XMLAttr.hpp"
      [2] xercesc_2_8::VecAttrListImpl::getValue(this = 0x4cc3e8, index = 1U), line 86 in "VecAttrListImpl.cpp"
      [3] 0xfffffd7ffeab6546(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeab6545
      [4] xercesc_2_8::SAXParser::startElement(this = 0x4cc3a8, elemDecl = CLASS, elemURLId = 1U, elemPrefix = 0xfffffd7ffe1bb3b0, attrList = CLASS, attrCount = 2U, isEmpty = false, isRoot = true), line 971 in "SAXParser.cpp"
      [5] xercesc_2_8::IGXMLScanner::scanStartTag(this = 0x4cd6b8, gotData = true), line 2101 in "IGXMLScanner.cpp"
      [6] xercesc_2_8::IGXMLScanner::scanContent(this = 0x4cd6b8), line 899 in "IGXMLScanner.cpp"
      [7] xercesc_2_8::IGXMLScanner::scanDocument(this = 0x4cd6b8, src = CLASS), line 215 in "IGXMLScanner.cpp"
      [8] xercesc_2_8::XMLScanner::scanDocument(this = 0x4cd6b8, systemId = 0x4d4530), line 460 in "XMLScanner.cpp"
      [9] xercesc_2_8::XMLScanner::scanDocument(this = 0x4cd6b8, systemId = 0x4c7f68 "../dats/adr3xml.dat"), line 468 in "XMLScanner.cpp"
      [10] xercesc_2_8::SAXParser::parse(this = 0x4cc3a8, systemId = 0x4c7f68 "../dats/adr3xml.dat"), line 587 in "SAXParser.cpp"

      Attachments

        1. sample test result.jpg
          56 kB
          Bill Fu
        2. config.tar.gz
          11 kB
          Bill Fu
        3. testsax_64so.tar.gz
          101 kB
          Bill Fu

        Activity

          People

            Unassigned Unassigned
            b828 Bill Fu
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: