You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Roger Leigh (JIRA)" <xe...@xml.apache.org> on 2018/01/30 21:25:02 UTC
[jira] [Closed] (XERCESC-1976) SIGSEGV during init on SUSE11 when
LANG is unset
[ 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-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org