[ 
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

Reply via email to