DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22031>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22031

memory leak when terminate Xalan





------- Additional Comments From [EMAIL PROTECTED]  2003-07-31 20:43 -------
I just debug it again, and found that in the terminate function , it call for-
each to delete the static table.


The memory leak is reported on Solaris. you can find it through dbx tool and 
purify.

There are several Xalan memory leak.the following is some of them:
MLK: 248 bytes leaked at 0x10071c2c8                    
  * This memory was allocated from:                     
"       malloc         [rtlib.o]"                       
"       c2n6Fl_Pv___1  [libCrun.so.1]"                  
"       void*operator new(unsigned long) [rtlib.o]"                     
"       XalanEXSLTFunctionObjectType*XalanEXSLTFunctionObjectType::clone()const 
[XalanEXSLTCommonImpl.hpp:160]"                 
"       void XPathEnvSupportDefault::updateFunctionTable
(std::map<XalanDOMString,std::map<XalanDOMString,const 
Function*,std::less<XalanDOMString>,std::allocator<std::pair<const 
XalanDOMString,const Function*> > 
>,std::less<XalanDOMString>,std::allocator<std:... 
[XPathEnvSupportDefault.cpp:182]"                       
"       void XPathEnvSupportDefault::installExternalFunctionGlobal(const 
XalanDOMString&,const XalanDOMString&,const Function&) 
[XPathEnvSupportDefault.cpp:218]"                       
"       void XalanExtensionsInstaller::doInstallGlobal(const unsigned 
short*,const XalanExtensionsInstaller::FunctionTableEntry*) 
[XalanExtensions.cpp:314]"
"       void XalanEXSLTCommonFunctionsInstaller::installGlobal() 
[XalanEXSLTCommon.cpp:296]"
"       void XalanTransformer::initialize() [XalanTransformer.cpp:208]"


MLK: 48 bytes leaked at 0x10067d718
  * This memory was allocated from:
"       malloc         [rtlib.o]"
"       c2n6Fl_Pv___1  [libCrun.so.1]"
"       void*operator new(unsigned long) [rtlib.o]"
"       XalanEXSLTFunctionPadding*XalanEXSLTFunctionPadding::clone()const 
[XalanEXSLTStringImpl.hpp:211]"
"       void XPathEnvSupportDefault::updateFunctionTable
(std::map<XalanDOMString,std::map<XalanDOMString,const 
Function*,std::less<XalanDOMString>,std::allocator<std::pair<const 
XalanDOMString,const Function*> > 
>,std::less<XalanDOMString>,std::allocator<std:... 
[XPathEnvSupportDefault.cpp:182]"
"       void XPathEnvSupportDefault::installExternalFunctionGlobal(const 
XalanDOMString&,const XalanDOMString&,const Function&) 
[XPathEnvSupportDefault.cpp:218]"
"       void XalanExtensionsInstaller::doInstallGlobal(const unsigned 
short*,const XalanExtensionsInstaller::FunctionTableEntry*) 
[XalanExtensions.cpp:314]"
"       void XalanEXSLTStringFunctionsInstaller::installGlobal() 
[XalanEXSLTString.cpp:410]"
"       void XalanTransformer::initialize() [XalanTransformer.cpp:211]"

MLK: 32 bytes leaked in 2 blocks
  * This memory was allocated from:
"       malloc         [rtlib.o]"
"       c2n6Fl_Pv___1  [libCrun.so.1]"
"       void*operator new(unsigned long) [rtlib.o]"
"       FunctionNodeSet*FunctionNodeSet::clone()const [FunctionNodeSet.cpp:191]"
"       void XPathEnvSupportDefault::updateFunctionTable
(std::map<XalanDOMString,std::map<XalanDOMString,const 
Function*,std::less<XalanDOMString>,std::allocator<std::pair<const 
XalanDOMString,const Function*> > 
>,std::less<XalanDOMString>,std::allocator<std:... 
[XPathEnvSupportDefault.cpp:182]"
"       void XPathEnvSupportDefault::installExternalFunctionGlobal(const 
XalanDOMString&,const XalanDOMString&,const Function&) 
[XPathEnvSupportDefault.cpp:218]"
"       void XalanExtensionsInstaller::doInstallGlobal(const unsigned 
short*,const XalanExtensionsInstaller::FunctionTableEntry*) 
[XalanExtensions.cpp:314]"
"       void XalanExtensionsInstaller::installGlobal() 
[XalanExtensions.cpp:254]"
"       void XalanTransformer::initialize() [XalanTransformer.cpp:207]"

MLK: 18 bytes leaked at 0x1006058b8
  * This memory was allocated from:
"       malloc         [rtlib.o]"
"       c2n6Fl_Pv___1  [libCrun.so.1]"
"       void*operator new(unsigned long) [rtlib.o]"
"       void*std::allocator<unsigned short>::allocate(unsigned long,void*) 
[libxalan-c1_4_0.so]"
"       unsigned short*std::allocator_interface<std::allocator<unsigned 
short>,unsigned short>::allocate(unsigned long,unsigned short*) [libxalan-
c1_4_0.so]"
"       void std::vector<unsigned short,std::allocator<unsigned short> 
>::reserve(unsigned long) [libxalan-c1_4_0.so]"
"       XalanDOMString&XalanDOMString::append(const unsigned short*,unsigned 
long) [XalanDOMString.cpp:335]"
"       XalanDOMString&XalanDOMString::append(const XalanDOMString&,unsigned 
long,unsigned long) [libxalan-c1_4_0.so]"
"       XalanDOMString::XalanDOMString(const XalanDOMString&,unsigned 
long,unsigned long) [XalanDOMString.cpp:99]"
"       XalanEXSLTFunctionObjectType::XalanEXSLTFunctionObjectType(const 
XalanEXSLTFunctionObjectType&) [libxalan-c1_4_0.so]"
"       XalanEXSLTFunctionObjectType*XalanEXSLTFunctionObjectType::clone()const 
[XalanEXSLTCommonImpl.hpp:160]"
"       void XPathEnvSupportDefault::updateFunctionTable
(std::map<XalanDOMString,std::map<XalanDOMString,const 
Function*,std::less<XalanDOMString>,std::allocator<std::pair<const 
XalanDOMString,const Function*> > 
>,std::less<XalanDOMString>,std::allocator<std:... 
[XPathEnvSupportDefault.cpp:182]"
"       void XPathEnvSupportDefault::installExternalFunctionGlobal(const 
XalanDOMString&,const XalanDOMString&,const Function&) 
[XPathEnvSupportDefault.cpp:218]"
"       void XalanExtensionsInstaller::doInstallGlobal(const unsigned 
short*,const XalanExtensionsInstaller::FunctionTableEntry*) 
[XalanExtensions.cpp:314]"
"       void XalanEXSLTCommonFunctionsInstaller::installGlobal() 
[XalanEXSLTCommon.cpp:296]"
"       void XalanTransformer::initialize() [XalanTransformer.cpp:208]"

MLK: 18 bytes leaked at 0x100605c38
  * This memory was allocated from:
"       malloc         [rtlib.o]"
"       c2n6Fl_Pv___1  [libCrun.so.1]"
"       void*operator new(unsigned long) [rtlib.o]"
"       void*std::allocator<unsigned short>::allocate(unsigned long,void*) 
[libxalan-c1_4_0.so]"
"       unsigned short*std::allocator_interface<std::allocator<unsigned 
short>,unsigned short>::allocate(unsigned long,unsigned short*) [libxalan-
c1_4_0.so]"
"       void std::vector<unsigned short,std::allocator<unsigned short> 
>::reserve(unsigned long) [libxalan-c1_4_0.so]"
"       XalanDOMString&XalanDOMString::append(const unsigned short*,unsigned 
long) [XalanDOMString.cpp:335]"
"       XalanDOMString&XalanDOMString::append(const XalanDOMString&,unsigned 
long,unsigned long) [libxalan-c1_4_0.so]"
"       XalanDOMString::XalanDOMString(const XalanDOMString&,unsigned 
long,unsigned long) [XalanDOMString.cpp:99]"
"       XalanEXSLTFunctionObjectType::XalanEXSLTFunctionObjectType(const 
XalanEXSLTFunctionObjectType&) [libxalan-c1_4_0.so]"
"       XalanEXSLTFunctionObjectType*XalanEXSLTFunctionObjectType::clone()const 
[XalanEXSLTCommonImpl.hpp:160]"
"       void XPathEnvSupportDefault::updateFunctionTable
(std::map<XalanDOMString,std::map<XalanDOMString,const 
Function*,std::less<XalanDOMString>,std::allocator<std::pair<const 
XalanDOMString,const Function*> > 
>,std::less<XalanDOMString>,std::allocator<std:... 
[XPathEnvSupportDefault.cpp:182]"
"       void XPathEnvSupportDefault::installExternalFunctionGlobal(const 
XalanDOMString&,const XalanDOMString&,const Function&) 
[XPathEnvSupportDefault.cpp:218]"
"       void XalanExtensionsInstaller::doInstallGlobal(const unsigned 
short*,const XalanExtensionsInstaller::FunctionTableEntry*) 
[XalanExtensions.cpp:314]"
"       void XalanEXSLTCommonFunctionsInstaller::installGlobal() 
[XalanEXSLTCommon.cpp:296]"
"       void XalanTransformer::initialize() [XalanTransformer.cpp:208]"

Reply via email to