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 "Rinil Baxi (JIRA)" <xe...@xml.apache.org> on 2006/05/31 15:07:30 UTC
[jira] Commented: (XERCESC-1260) Memory not released with
DOMBuilder::parse() method
[ http://issues.apache.org/jira/browse/XERCESC-1260?page=comments#action_12414053 ]
Rinil Baxi commented on XERCESC-1260:
-------------------------------------
Hi,
I am using Xercesc Parser 2.4.0.
The problem (XERCESC-1260 : Memory not released with DOMBuilder::parse() method) persists with the version I am using.
Please guide me, How I can resolve this problem in 2.4.0.
I am not able to use the latest versions due to some production problems.
Kindly reply as soon as possible.
Thanks and Best Regards,
Rinil
> Memory not released with DOMBuilder::parse() method
> ---------------------------------------------------
>
> Key: XERCESC-1260
> URL: http://issues.apache.org/jira/browse/XERCESC-1260
> Project: Xerces-C++
> Type: Bug
> Components: DOM
> Versions: 2.3.0
> Environment: Window 2000
> Reporter: Rev Glen Saldanha
>
> Hi All,
> I have a problem with DOMBuilder::parse() as when this method is called it consume a lot of memory. When the DOMBuilder::resetDocumentPool() is called all the memory taken up by the parse() method is not getting released. The code is given below. Any suggestions are always welcomed.
> The pseudo-code:
> XMLCh tempStr[100];
> XMLString::transcode("LS", tempStr, 99);
> XMLPlatformUtils::Initialize();
> DOMBuilder *m_pParser = 0;
> DOMImplementation *m_DOMImplementation = DOMImplementationRegistry::getDOMImplementation(tempStr);
>
> if (m_pParser == 0) {
> m_pParser = (
> (DOMImplementationLS*)m_DOMImplementation)->createDOMBuilder(
> DOMImplementationLS::MODE_SYNCHRONOUS, 0);
> }
> if (m_pParser != 0) {
> m_pParser->setFeature(XMLUni::fgDOMNamespaces, doNamespaces);
> m_pParser->setFeature(XMLUni::fgXercesSchema, doSchema);
> m_pParser->setFeature(XMLUni::fgXercesSchemaFullChecking, schemaFullChecking);
> m_pParser->setFeature(XMLUni::fgDOMValidateIfSchema, true);
> m_pParser->setFeature(XMLUni::fgDOMDatatypeNormalization, false);
> m_pParser->resetDocumentPool();
> m_pParser->setFeature(XMLUni::fgXercesLoadExternalDTD, true);
> }
> const XMLByte *pXmlByte = (XMLByte *) strSource.data() ; //Some Data
> {
> MemBufInputSource *pInputSource = new MemBufInputSource(pXmlByte, strSource.size(),(char*)0);
> Wrapper4InputSource InputSourceWrapper(pInputSource);
> m_pDOMDocument = m_pParser->parse(InputSourceWrapper); //This is leaking a lot
> }
> if(m_pParser != 0)
> {
> m_pParser->resetDocumentPool();
> m_pParser->release();
> }
> XMLPlatformUtils::Terminate();
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org