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 "Kevin.zhai (Jira)" <xe...@xml.apache.org> on 2021/08/03 08:14:00 UTC

[jira] [Resolved] (XERCESC-2216) Building using NDK for arm64 occurs error while runing

     [ https://issues.apache.org/jira/browse/XERCESC-2216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin.zhai resolved XERCESC-2216.
---------------------------------
    Resolution: Fixed

> 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
>            Priority: Critical
>
> 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-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org