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

GeneralAttributeCheck initialize fails

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.3.0
    • 3.0.1
    • None
    • Sun Solaris 8

    Description

      We are parsing the same xml in multiple threads, which contains a schema. Very frequently, at least once for every tinderbox build, we get the following core dump:

      =>[1] xercesc_2_3::ValueHashTableOf<unsigned short>::findBucketElem(this = (nil), key = 0x8ec3a4, hashVal = 4265683276U), line 252 in "ValueHashTableOf.c"
      [2] xercesc_2_3::ValueHashTableOf<unsigned short>::get(this = (nil), key = 0x8ec3a4), line 199 in "ValueHashTableOf.c"
      dbx: warning: unexpected RTTI for type xercesc_2_3::XSDLocator
      [3] xercesc_2_3::GeneralAttributeCheck::getFacetId(this = 0xfc500c24, facetName = 0x8ec3a4), line 298 in "GeneralAttributeCheck.hpp"
      [4] xercesc_2_3::TraverseSchema::traverseByRestriction(this = 0xfc500b58, rootElem = 0x8ec008, contentElem = 0x8ec118, typeName = 0x453198, qualifiedName = 0x47b758, finalSet = 0), line 2981 in "TraverseSchema.cpp"
      [5] xercesc_2_3::TraverseSchema::traverseSimpleTypeDecl(this = 0xfc500b58, childElem = 0x8ec008, topLevel = false, baseRefContext = 0), line 1082 in "TraverseSchema.cpp"
      [6] xercesc_2_3::TraverseSchema::traverseAttributeDecl(this = 0xfc500b58, elem = 0x8ebdd8, typeInfo = 0x33eee0, topLevel = false), line 2053 in "TraverseSchema.cpp"
      [7] xercesc_2_3::TraverseSchema::processAttributes(this = 0xfc500b58, elem = 0x8eac50, attElem = 0x8ebdd8, baseRawName = (nil), baseLocalPart = (nil), baseURI = (nil), typeInfo = 0x33eee0, isBaseAnyType = false), line 6108 in "TraverseSchema.cpp"
      [8] xercesc_2_3::TraverseSchema::processComplexContent(this = 0xfc500b58, ctElem = 0x8eac50, typeName = 0x8ead70, childElem = 0x8eae40, typeInfo = 0x33eee0, baseRawName = (nil), baseLocalPart = (nil), baseURI = (nil), isMixed = false, isBaseAnyType = false), line 5906 in "TraverseSchema.cpp"
      [9] xercesc_2_3::TraverseSchema::traverseComplexTypeDecl(this = 0xfc500b58, elem = 0x8eac50, topLevel = true, recursingTypeName = (nil)), line 1269 in "TraverseSchema.cpp"
      [10] xercesc_2_3::TraverseSchema::processChildren(this = 0xfc500b58, root = 0x8ea5a8), line 4283 in "TraverseSchema.cpp"
      [11] xercesc_2_3::TraverseSchema::doTraverseSchema(this = 0xfc500b58, schemaRoot = 0x8ea5a8), line 276 in "TraverseSchema.cpp"
      [12] xercesc_2_3::TraverseSchema::TraverseSchema(this = 0xfc500b58, schemaRoot = 0x8ea5a8, uriStringPool = 0x43d0f0, schemaGrammar = 0x8cfe10, grammarResolver = 0x8844b8, xmlScanner = 0x21a458, schemaURL = 0x2126c0, entityHandler = (nil), errorReporter = 0x3ff874, manager = 0xd50b8), line 253 in "TraverseSchema.cpp"
      [13] xercesc_2_3::IGXMLScanner::resolveSchemaGrammar(this = 0x21a458, loc = 0x812458, uri = 0x213ad8), line 1421 in "IGXMLScanner2.cpp"
      [14] xercesc_2_3::IGXMLScanner::parseSchemaLocation(this = 0x21a458, schemaLocationStr = 0x262a58), line 1285 in "IGXMLScanner2.cpp"
      [15] xercesc_2_3::IGXMLScanner::scanRawAttrListforNameSpaces(this = 0x21a458, theRawAttrList = 0x7dbd30, attCount = 4), line 1247 in "IGXMLScanner2.cpp"
      [16] xercesc_2_3::IGXMLScanner::scanStartTagNS(this = 0x21a458, gotData = true), line 2034 in "IGXMLScanner.cpp"
      [17] xercesc_2_3::IGXMLScanner::scanContent(this = 0x21a458, extEntity = false), line 849 in "IGXMLScanner.cpp"
      [18] xercesc_2_3::IGXMLScanner::scanDocument(this = 0x21a458, src = CLASS), line 209 in "IGXMLScanner.cpp"
      [19] xercesc_2_3::XMLScanner::scanDocument(this = 0x21a458, systemId = 0x25b9b8), line 419 in "XMLScanner.cpp"
      [20] xercesc_2_3::XMLScanner::scanDocument(this = 0x21a458, systemId = 0x817d58 "/view/auto_build_MessageMapper_Development-dcacpl1-2004-04-25.2135_view/dcaclearcase/vobs/eQuality/eBridge/../../eBridge/FormatDefinitions/swift/SwiftDataDictionary.xml"), line 427 in "XMLScanner.cpp"
      [21] xercesc_2_3::SAX2XMLReaderImpl::parse(this = 0x3ff868, systemId = 0x817d58 "/view/auto_build_MessageMapper_Development-dcacpl1-2004-04-25.2135_view/dcaclearcase/vobs/eQuality/eBridge/../../eBridge/FormatDefinitions/swift/SwiftDataDictionary.xml"), line 637 in "SAX2XMLReaderImpl.cpp"
      [22] ftisoft::vendor::swift::Field::GetDictionary(toFill = CLASS, def_dir = CLASS), line 156 in "DataDictionary.cpp"
      ...

      I looked into it and found that the initialize of GeneralAttributeCheck::mapElements seems to fail. Although the mutex (sGeneralAttCheckMutex) contains a valid mutex, every single member field that should get a value (setUpValidators,mapAttributes) is null.

      I was net yet able to find out how this is possible.

      Attachments

        Activity

          People

            Unassigned Unassigned
            mkopp Michael Kopp
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: