Kevin.zhai created XERCESC-2216:
-----------------------------------

             Summary: Building using NDK for arm64 occurs error while runing
                 Key: XERCESC-2216
                 URL: https://issues.apache.org/jira/browse/XERCESC-2216
             Project: Xerces-C++
          Issue Type: Bug
          Components: Validating Parser (XML Schema)
    Affects Versions: 3.2.3
            Reporter: Kevin.zhai


Dear friend,

    I found a issue using NDK building on arm64, when prase a xml file , this 
issue occurs at  following code:

    source file: SMLString.cpp

code Snippet:

char* XMLString::transcode(const XMLCh* const toTranscode,
 MemoryManager* const manager)
{

printf("@@@@@ char* XMLString::transcode:%p pid:%d tid:%d\r\n", gTranscoder, 
getpid(), gettid());
    return gTranscoder->transcode(toTranscode, manager);
}

when invoke this code from the same thread, sometimes the gTranscoder is NULL,

gTranscoder is initialized in function:

void XMLString::initString(XMLLCPTranscoder* const defToUse,
 MemoryManager* const manager)
{
 // Store away the default transcoder that we are to use
 gTranscoder = defToUse;

// Store memory manager
 fgMemoryManager = manager;
}

and this function is ivoked by void XMLPlatformUtils::Initialize

{

......

XMLLCPTranscoder* defXCode = 
XMLPlatformUtils::fgTransService->makeNewLCPTranscoder(fgMemoryManager);
 printf("@@@@@ defXcode:%p pid:%d tid:%d\r\n", defXCode, getpid(), gettid());
 if (!defXCode)
 panic(PanicHandler::Panic_NoDefTranscoder);
 XMLString::initString(defXCode, fgMemoryManager);

.......

}

, the log is as following:

@@@@@ defXcode:0xb400007dd6a56cf8 pid:9915 tid:9922
@@@@@ AbstractStringValidator::assignFacet 666
@@@@@ AbstractStringValidator::assignFacet 777
@@@@@ AbstractStringValidator::assignFacet 666
@@@@@ AbstractStringValidator::assignFacet 777
@@@@@ AbstractStringValidator::assignFacet 666
@@@@@ AbstractStringValidator::assignFacet 777
@@@@@ AbstractStringValidator::assignFacet 222
@@@@@ parseInt 000.111
@@@@@ char* XMLString::transcode:0xb400007dd6a56cf8 pid:9915 tid:9922
@@@@@ parseInt nptr:1
@@@@@ AbstractStringValidator::assignFacet 333
@@@@@ DecimalDatatypeValidator::assignAdditionalFacet 222
@@@@@ parseInt 000.111
@@@@@ char* XMLString::transcode:0x0 pid:9915 tid:9922

 

please help me check the reason, thanks a lot.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
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