[ https://issues.apache.org/jira/browse/XERCESC-1976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roger Leigh closed XERCESC-1976. -------------------------------- Resolution: Cannot Reproduce This seems to be a historical implementation bug in GNU iconv. Current versions of GNU iconv don't exhibit the bug, and as such there's nothing to fix or work around in Xerces-C++ at this time. I've tested with current trunk with GNU libc 2.26 (Ubuntu 17.10) and GNU iconv 2.0 (FreeBSD 11). I've tested with and without LC*/LANG/LANGUAGE set. In all cases this works correctly as as far as I can tell. > SIGSEGV during init on SUSE11 when LANG is unset > ------------------------------------------------ > > Key: XERCESC-1976 > URL: https://issues.apache.org/jira/browse/XERCESC-1976 > Project: Xerces-C++ > Issue Type: Bug > Components: Miscellaneous > Affects Versions: 3.1.1 > Environment: SUSE11 > Reporter: Uri Moszkowicz > Priority: Major > > 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. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org