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

SIGSEGV during init on SUSE11 when LANG is unset

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 3.1.1
    • Fix Version/s: None
    • Component/s: Miscellaneous
    • Labels:
      None
    • Environment:
      SUSE11

      Description

      1. Unset LANG variable
      2. Run executable using Xerces.
      3. Crash with the following stack:

      #36 0x00000000010422f8 in __gconv ()
      #37 0x000000000104199b in iconv ()
      #38 0x0000000000f25bef in xercesc_3_1::IconvGNULCPTranscoder::calcRequiredSize (this=0x4c4cab0, srcText=Variable "srcText" is not available.
      ) at xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp:401
      #39 0x0000000000f23dcb in xercesc_3_1::IconvGNULCPTranscoder::transcode (this=0x4c4cab0, toTranscode=0x4c8a7d8, manager=0x4c38e98) at xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp:747
      #40 0x0000000000e6b98f in xercesc_3_1::XMLString::parseInt (toConvert=Variable "toConvert" is not available.
      ) at xercesc/util/XMLString.cpp:1457
      #41 0x0000000000f8066d in xercesc_3_1::AbstractStringValidator::assignFacet (this=0x4c8a700, manager=0x4c38e98) at xercesc/validators/datatype/AbstractStringValidator.cpp:152
      #42 0x0000000000f80a52 in xercesc_3_1::AbstractStringValidator::init (this=0x4c8a700, enums=Variable "enums" is not available.
      ) at xercesc/validators/datatype/AbstractStringValidator.cpp:100
      #43 0x0000000000edcd07 in ListDatatypeValidator (this=0x4c8a700, baseValidator=0x4c8a070, facets=Variable "facets" is not available.
      ) at xercesc/validators/datatype/ListDatatypeValidator.cpp:61
      #44 0x0000000000ed019b in xercesc_3_1::DatatypeValidatorFactory::createDatatypeValidator (this=Variable "this" is not available.
      ) at xercesc/validators/datatype/DatatypeValidatorFactory.cpp:643
      #45 0x0000000000ed3b26 in xercesc_3_1::DatatypeValidatorFactory::expandRegistryToFullSchemaSet (this=0x4c87af0) at xercesc/validators/datatype/DatatypeValidatorFactory.cpp:312
      #46 0x0000000000ed5ac0 in xercesc_3_1::XMLInitializer::initializeDatatypeValidatorFactory () at xercesc/validators/datatype/DatatypeValidatorFactory.cpp:135
      #47 0x0000000000e69415 in xercesc_3_1::XMLInitializer::initializeStaticData () at xercesc/util/XMLInitializer.cpp:61
      #48 0x000000000068571b in main (argc=23, argv=0x7fff3a9175e8, env=0x7fff3a9176a8) at Main.cc:100

      This is from the first line of the program, which calls XMLPlatformUtils::Initialize() so simply try this program:

      int main(int argc, char* argv[], char* env[]) {
      XMLPlatformUtils::Initialize();
      }

      Note that the crash doesn't occur on SUSE10 or any of the Redhat platforms.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              balor123 Uri Moszkowicz
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: