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