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 Eva Ko <ek...@hns.com> on 2002/05/20 16:47:46 UTC

purify result

I run the version xerces C++ version 1.7.0 under purify, and I got this result
when I am parsing one of my xml file( see the below text).
I am using DOMParser.  Does anyone already has a fix for this?  Is this a
known problem??  I am on a unix box, solaris.

Thanks!!!

Eva

         MLK: 1368 bytes leaked in 57 blocks
         This memory was allocated from:
               malloc         [rtlib.o]
               c2n6Fi_Pv___1  [libCrun.so.1]
               void*operator new(unsigned) [rtlib.o]
               NodeImpl*AttrImpl::cloneNode(bool) [AttrImpl.cpp:170]

                  NodeImpl * AttrImpl::cloneNode(bool deep)
                  {
               =>     return new AttrImpl(*this, deep);
                  };


               void NamedNodeMapImpl::cloneContent(NamedNodeMapImpl*)
[NamedNodeMapImpl.cpp:448]
               AttrMapImpl::AttrMapImpl(NodeImpl*,NamedNodeMapImpl*)
[AttrMapImpl.cpp:82]
               void ElementImpl::setupDefaultAttributes()
[ElementImpl.cpp:522]
               ElementImpl::ElementImpl(DocumentImpl*,const DOMString&)
[ElementImpl.cpp:80]
               ElementImpl*DocumentImpl::createElement(const unsigned short*)
[DocumentImpl.cpp:299]
               DOM_Element DOM_Document::createElement(const unsigned short*)
[DOM_Document.cpp:139]
               void DOMParser::endAttList(const DTDElementDecl&)
[DOMParser.cpp:1027]
               void DTDScanner::scanAttListDecl() [DTDScanner.cpp:790]
               void DTDScanner::scanMarkupDecl(const bool)
[DTDScanner.cpp:3293]
               void DTDScanner::scanExtSubsetDecl(const bool)
[DTDScanner.cpp:2746]
               void DTDScanner::scanDocTypeDecl(const bool)
[DTDScanner.cpp:1898]
               void XMLScanner::scanProlog() [XMLScanner.cpp:2260]
               void XMLScanner::scanDocument(const InputSource&,const bool)
[XMLScanner.cpp:416]
               void DOMParser::parse(const InputSource&,const bool)
[DOMParser.cpp:305]
               void XDOMParser::xmlparse(const RWCString,const RWCString,const
bool) [XDOMParser.C:123]
               void DIIProcessor::parseInputXML() [DIIProcessor.C:562]
         Block of 24 bytes (57 times); last block at 0x1358ab0



---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org


RE: purify result

Posted by Dean Roddey <dr...@charmedquark.com>.
That's most likely a bogus error. Tools like Purify cannot figure out
that this is a purposeful return of an allocated object. They cannot see
a delete in the same block so they report it as a leak. Its only a real
leak if the caller of this method doesn't delete it.

-------------------------------------
Dean Roddey
The Charmed Quark Controller
droddey@charmedquark.com
www.charmedquark.com
 

-----Original Message-----
From: eko@hns.com [mailto:eko@hns.com] 
Sent: Monday, May 20, 2002 7:48 AM
To: xerces-c-dev@xml.apache.org
Subject: purify result

I run the version xerces C++ version 1.7.0 under purify, and I got this
result
when I am parsing one of my xml file( see the below text).
I am using DOMParser.  Does anyone already has a fix for this?  Is this
a
known problem??  I am on a unix box, solaris.

Thanks!!!

Eva

         MLK: 1368 bytes leaked in 57 blocks
         This memory was allocated from:
               malloc         [rtlib.o]
               c2n6Fi_Pv___1  [libCrun.so.1]
               void*operator new(unsigned) [rtlib.o]
               NodeImpl*AttrImpl::cloneNode(bool) [AttrImpl.cpp:170]

                  NodeImpl * AttrImpl::cloneNode(bool deep)
                  {
               =>     return new AttrImpl(*this, deep);
                  };


               void NamedNodeMapImpl::cloneContent(NamedNodeMapImpl*)
[NamedNodeMapImpl.cpp:448]
               AttrMapImpl::AttrMapImpl(NodeImpl*,NamedNodeMapImpl*)
[AttrMapImpl.cpp:82]
               void ElementImpl::setupDefaultAttributes()
[ElementImpl.cpp:522]
               ElementImpl::ElementImpl(DocumentImpl*,const DOMString&)
[ElementImpl.cpp:80]
               ElementImpl*DocumentImpl::createElement(const unsigned
short*)
[DocumentImpl.cpp:299]
               DOM_Element DOM_Document::createElement(const unsigned
short*)
[DOM_Document.cpp:139]
               void DOMParser::endAttList(const DTDElementDecl&)
[DOMParser.cpp:1027]
               void DTDScanner::scanAttListDecl() [DTDScanner.cpp:790]
               void DTDScanner::scanMarkupDecl(const bool)
[DTDScanner.cpp:3293]
               void DTDScanner::scanExtSubsetDecl(const bool)
[DTDScanner.cpp:2746]
               void DTDScanner::scanDocTypeDecl(const bool)
[DTDScanner.cpp:1898]
               void XMLScanner::scanProlog() [XMLScanner.cpp:2260]
               void XMLScanner::scanDocument(const InputSource&,const
bool)
[XMLScanner.cpp:416]
               void DOMParser::parse(const InputSource&,const bool)
[DOMParser.cpp:305]
               void XDOMParser::xmlparse(const RWCString,const
RWCString,const
bool) [XDOMParser.C:123]
               void DIIProcessor::parseInputXML() [DIIProcessor.C:562]
         Block of 24 bytes (57 times); last block at 0x1358ab0



---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org