|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
[jira] Created: (XERCESC-1486) Memory leak in error casesMemory leak in error cases
-------------------------- Key: XERCESC-1486 URL: http://issues.apache.org/jira/browse/XERCESC-1486 Project: Xerces-C++ Type: Bug Components: SAX/SAX2 Versions: 2.6.0 Environment: HP-UX B.11.11 U 9000/800 aCC: HP ANSI C++ B3910B A.03.57 Reporter: Stephan Irrgang Hi, I found a memory leak using the SAX Parser in error cases like file not found or unexcepted end of file. I first detected it with Xerces C++ release 2.3, and then verified that it's still in contained in the latest release (2.6). Here's the source code I used to test this issue; in this example the XML file to parse is not existing. #include <xercesc/sax/HandlerBase.hpp> #include <xercesc/sax/AttributeList.hpp> #include <xercesc/parsers/SAXParser.hpp> #include <iostream.h> using namespace XERCES_CPP_NAMESPACE; class myCallbackHandler_c : public HandlerBase { public: void fatalError (const SAXParseException& exception) { char chBuffer[256]; XMLString::transcode(exception.getMessage(), chBuffer, 255); throw chBuffer; } }; int main() { int returnValue = 0; XMLPlatformUtils::Initialize(); SAXParser *saxParserPtr = new SAXParser; myCallbackHandler_c *callbackHandlerPtr = new myCallbackHandler_c; saxParserPtr->setErrorHandler(callbackHandlerPtr); try { saxParserPtr->parse("FileNotFound.xml"); } catch (const char* s) { cerr << s << endl; returnValue = 1; } catch (...) { cerr << "Unknown exception!" << endl; returnValue = 1; } delete callbackHandlerPtr; delete saxParserPtr; XMLPlatformUtils::Terminate(); cout << "Returning: " << returnValue << endl; return returnValue; } When running it with Rational Purify it shows following memory leaks (BTW, the same leaks are shown when using HP WDB's memory check functionality). MLK: 186 bytes leaked at 0x400bbd08 This memory was allocated from: malloc [rtlib.o] __nW__fUl [libCsup.2] operator new(unsigned long) [rtlib.o] xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] main [xerces_mlk.cc:29] _start [libc.2] $START$ [crt0.o] $START$ [crt0.o] MLK: 18 bytes leaked at 0x400a7b18 This memory was allocated from: malloc [rtlib.o] __nW__fUl [libCsup.2] operator new(unsigned long) [rtlib.o] xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] static xercesc_2_6::XMLString::replicate(const char *,xercesc_2_6::MemoryManager *) [libxerces-c.sl.26.0] xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] main [xerces_mlk.cc:29] _start [libc.2] $START$ [crt0.o] $START$ [crt0.o] To me it seems the XMLException object is not released in case an exception is thrown in an error handler's fatalError method. Any ideas? Thanks in advance! Regards, Stephan -- 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@... For additional commands, e-mail: c-dev-help@... |
|
|
[jira] Commented: (XERCESC-1486) Memory leak in error cases [ http://issues.apache.org/jira/browse/XERCESC-1486?page=comments#action_12320464 ]
David Bertoni commented on XERCESC-1486: ---------------------------------------- I cannot reproduce this on Windows, so it looks like a problem that's specific to the HP compiler. It's the compiler/run-time library that's responsible for calling the destructor for the XMLException instance that's created in IGXMLScanner::scanReset(), so it it's not getting destroyed, it's not a Xerces-C bug. Note this could also be a bug with Purify. I would suggest you add an infinite loop around the try/catch block and run the executable for a while to see if the process memory continues to grow. If it does, there's a leak, and you should pursue a fix with HP. > Memory leak in error cases > -------------------------- > > Key: XERCESC-1486 > URL: http://issues.apache.org/jira/browse/XERCESC-1486 > Project: Xerces-C++ > Type: Bug > Components: SAX/SAX2 > Versions: 2.6.0 > Environment: HP-UX B.11.11 U 9000/800 > aCC: HP ANSI C++ B3910B A.03.57 > Reporter: Stephan Irrgang > > Hi, > I found a memory leak using the SAX Parser in error cases like file not found or unexcepted end of file. I first detected it with Xerces C++ release 2.3, and then verified that it's still in contained in the latest release (2.6). Here's the source code I used to test this issue; in this example the XML file to parse is not existing. > #include <xercesc/sax/HandlerBase.hpp> > #include <xercesc/sax/AttributeList.hpp> > #include <xercesc/parsers/SAXParser.hpp> > #include <iostream.h> > using namespace XERCES_CPP_NAMESPACE; > class myCallbackHandler_c : public HandlerBase > { > public: > void fatalError (const SAXParseException& exception) > { > char chBuffer[256]; > XMLString::transcode(exception.getMessage(), chBuffer, 255); > throw chBuffer; > } > }; > int main() > { > int returnValue = 0; > XMLPlatformUtils::Initialize(); > SAXParser *saxParserPtr = new SAXParser; > myCallbackHandler_c *callbackHandlerPtr = new myCallbackHandler_c; > saxParserPtr->setErrorHandler(callbackHandlerPtr); > > try > { > saxParserPtr->parse("FileNotFound.xml"); > } > catch (const char* s) > { > cerr << s << endl; > returnValue = 1; > } > catch (...) > { > cerr << "Unknown exception!" << endl; > returnValue = 1; > } > > delete callbackHandlerPtr; > delete saxParserPtr; > XMLPlatformUtils::Terminate(); > cout << "Returning: " << returnValue << endl; > return returnValue; > } > When running it with Rational Purify it shows following memory leaks (BTW, the same leaks are shown when using HP WDB's memory check functionality). > MLK: 186 bytes leaked at 0x400bbd08 > This memory was allocated from: > malloc [rtlib.o] > __nW__fUl [libCsup.2] > operator new(unsigned long) [rtlib.o] > xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] > xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] > xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] > main [xerces_mlk.cc:29] > _start [libc.2] > $START$ [crt0.o] > $START$ [crt0.o] > MLK: 18 bytes leaked at 0x400a7b18 > This memory was allocated from: > malloc [rtlib.o] > __nW__fUl [libCsup.2] > operator new(unsigned long) [rtlib.o] > xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] > static xercesc_2_6::XMLString::replicate(const char *,xercesc_2_6::MemoryManager *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] > xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] > main [xerces_mlk.cc:29] > _start [libc.2] > $START$ [crt0.o] > $START$ [crt0.o] > To me it seems the XMLException object is not released in case an exception is thrown in an error handler's fatalError method. Any ideas? Thanks in advance! > Regards, > Stephan -- 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@... For additional commands, e-mail: c-dev-help@... |
|
|
[jira] Commented: (XERCESC-1486) Memory leak in error cases [ http://issues.apache.org/jira/browse/XERCESC-1486?page=comments#action_12320586 ]
Stephan Irrgang commented on XERCESC-1486: ------------------------------------------ Bad luck that this error only seems to exist on HP-UX. I forwarded this issue to HP; and guess what they answered: "This sounds like a bug caused by the way Xerxes accesses HP". I strongly believe (and many times verified) that there is no general HP-UX problem in destroying exception objects. There must be some reason why this memory leak error appears only when using Xerces-C. Question is now, who is responsible for fixing this issue? As a user of both HP-UX and Xerces-C I'd assume that you guys should have a closer look... > Memory leak in error cases > -------------------------- > > Key: XERCESC-1486 > URL: http://issues.apache.org/jira/browse/XERCESC-1486 > Project: Xerces-C++ > Type: Bug > Components: SAX/SAX2 > Versions: 2.6.0 > Environment: HP-UX B.11.11 U 9000/800 > aCC: HP ANSI C++ B3910B A.03.57 > Reporter: Stephan Irrgang > > Hi, > I found a memory leak using the SAX Parser in error cases like file not found or unexcepted end of file. I first detected it with Xerces C++ release 2.3, and then verified that it's still in contained in the latest release (2.6). Here's the source code I used to test this issue; in this example the XML file to parse is not existing. > #include <xercesc/sax/HandlerBase.hpp> > #include <xercesc/sax/AttributeList.hpp> > #include <xercesc/parsers/SAXParser.hpp> > #include <iostream.h> > using namespace XERCES_CPP_NAMESPACE; > class myCallbackHandler_c : public HandlerBase > { > public: > void fatalError (const SAXParseException& exception) > { > char chBuffer[256]; > XMLString::transcode(exception.getMessage(), chBuffer, 255); > throw chBuffer; > } > }; > int main() > { > int returnValue = 0; > XMLPlatformUtils::Initialize(); > SAXParser *saxParserPtr = new SAXParser; > myCallbackHandler_c *callbackHandlerPtr = new myCallbackHandler_c; > saxParserPtr->setErrorHandler(callbackHandlerPtr); > > try > { > saxParserPtr->parse("FileNotFound.xml"); > } > catch (const char* s) > { > cerr << s << endl; > returnValue = 1; > } > catch (...) > { > cerr << "Unknown exception!" << endl; > returnValue = 1; > } > > delete callbackHandlerPtr; > delete saxParserPtr; > XMLPlatformUtils::Terminate(); > cout << "Returning: " << returnValue << endl; > return returnValue; > } > When running it with Rational Purify it shows following memory leaks (BTW, the same leaks are shown when using HP WDB's memory check functionality). > MLK: 186 bytes leaked at 0x400bbd08 > This memory was allocated from: > malloc [rtlib.o] > __nW__fUl [libCsup.2] > operator new(unsigned long) [rtlib.o] > xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] > xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] > xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] > main [xerces_mlk.cc:29] > _start [libc.2] > $START$ [crt0.o] > $START$ [crt0.o] > MLK: 18 bytes leaked at 0x400a7b18 > This memory was allocated from: > malloc [rtlib.o] > __nW__fUl [libCsup.2] > operator new(unsigned long) [rtlib.o] > xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] > static xercesc_2_6::XMLString::replicate(const char *,xercesc_2_6::MemoryManager *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] > xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] > main [xerces_mlk.cc:29] > _start [libc.2] > $START$ [crt0.o] > $START$ [crt0.o] > To me it seems the XMLException object is not released in case an exception is thrown in an error handler's fatalError method. Any ideas? Thanks in advance! > Regards, > Stephan -- 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@... For additional commands, e-mail: c-dev-help@... |
|
|
[jira] Commented: (XERCESC-1486) Memory leak in error cases [ http://issues.apache.org/jira/browse/XERCESC-1486?page=comments#action_12320601 ]
David Bertoni commented on XERCESC-1486: ---------------------------------------- I suggest you build a version of Xerces-C with some logging the XMLException constructor and destructor to ensure that it is called and that the pointer is freed. If it is, you will know that it's a problem with the memory leak detection tools. If it's not, you'll know it a problem with the compiler, and you can report it to HP. It's often difficult for the Xerces-C committers to diagnose platform-specific problems, because none of us has access to every possible platform. > Memory leak in error cases > -------------------------- > > Key: XERCESC-1486 > URL: http://issues.apache.org/jira/browse/XERCESC-1486 > Project: Xerces-C++ > Type: Bug > Components: SAX/SAX2 > Versions: 2.6.0 > Environment: HP-UX B.11.11 U 9000/800 > aCC: HP ANSI C++ B3910B A.03.57 > Reporter: Stephan Irrgang > > Hi, > I found a memory leak using the SAX Parser in error cases like file not found or unexcepted end of file. I first detected it with Xerces C++ release 2.3, and then verified that it's still in contained in the latest release (2.6). Here's the source code I used to test this issue; in this example the XML file to parse is not existing. > #include <xercesc/sax/HandlerBase.hpp> > #include <xercesc/sax/AttributeList.hpp> > #include <xercesc/parsers/SAXParser.hpp> > #include <iostream.h> > using namespace XERCES_CPP_NAMESPACE; > class myCallbackHandler_c : public HandlerBase > { > public: > void fatalError (const SAXParseException& exception) > { > char chBuffer[256]; > XMLString::transcode(exception.getMessage(), chBuffer, 255); > throw chBuffer; > } > }; > int main() > { > int returnValue = 0; > XMLPlatformUtils::Initialize(); > SAXParser *saxParserPtr = new SAXParser; > myCallbackHandler_c *callbackHandlerPtr = new myCallbackHandler_c; > saxParserPtr->setErrorHandler(callbackHandlerPtr); > > try > { > saxParserPtr->parse("FileNotFound.xml"); > } > catch (const char* s) > { > cerr << s << endl; > returnValue = 1; > } > catch (...) > { > cerr << "Unknown exception!" << endl; > returnValue = 1; > } > > delete callbackHandlerPtr; > delete saxParserPtr; > XMLPlatformUtils::Terminate(); > cout << "Returning: " << returnValue << endl; > return returnValue; > } > When running it with Rational Purify it shows following memory leaks (BTW, the same leaks are shown when using HP WDB's memory check functionality). > MLK: 186 bytes leaked at 0x400bbd08 > This memory was allocated from: > malloc [rtlib.o] > __nW__fUl [libCsup.2] > operator new(unsigned long) [rtlib.o] > xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] > xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] > xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] > main [xerces_mlk.cc:29] > _start [libc.2] > $START$ [crt0.o] > $START$ [crt0.o] > MLK: 18 bytes leaked at 0x400a7b18 > This memory was allocated from: > malloc [rtlib.o] > __nW__fUl [libCsup.2] > operator new(unsigned long) [rtlib.o] > xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] > static xercesc_2_6::XMLString::replicate(const char *,xercesc_2_6::MemoryManager *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] > xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] > main [xerces_mlk.cc:29] > _start [libc.2] > $START$ [crt0.o] > $START$ [crt0.o] > To me it seems the XMLException object is not released in case an exception is thrown in an error handler's fatalError method. Any ideas? Thanks in advance! > Regards, > Stephan -- 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@... For additional commands, e-mail: c-dev-help@... |
|
|
[jira] Closed: (XERCESC-1486) Memory leak in error cases[ https://issues.apache.org/jira/browse/XERCESC-1486?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Boris Kolpackov closed XERCESC-1486. ------------------------------------ Resolution: Fixed Fix Version/s: 3.0.1 Assuming fixed in 3.0.1. Can you please try with 3.0.1 and reopen if the issue if the problem is still present. > Memory leak in error cases > -------------------------- > > Key: XERCESC-1486 > URL: https://issues.apache.org/jira/browse/XERCESC-1486 > Project: Xerces-C++ > Issue Type: Bug > Components: SAX/SAX2 > Affects Versions: 2.6.0 > Environment: HP-UX B.11.11 U 9000/800 > aCC: HP ANSI C++ B3910B A.03.57 > Reporter: Stephan Irrgang > Fix For: 3.0.1 > > > Hi, > I found a memory leak using the SAX Parser in error cases like file not found or unexcepted end of file. I first detected it with Xerces C++ release 2.3, and then verified that it's still in contained in the latest release (2.6). Here's the source code I used to test this issue; in this example the XML file to parse is not existing. > #include <xercesc/sax/HandlerBase.hpp> > #include <xercesc/sax/AttributeList.hpp> > #include <xercesc/parsers/SAXParser.hpp> > #include <iostream.h> > using namespace XERCES_CPP_NAMESPACE; > class myCallbackHandler_c : public HandlerBase > { > public: > void fatalError (const SAXParseException& exception) > { > char chBuffer[256]; > XMLString::transcode(exception.getMessage(), chBuffer, 255); > throw chBuffer; > } > }; > int main() > { > int returnValue = 0; > XMLPlatformUtils::Initialize(); > SAXParser *saxParserPtr = new SAXParser; > myCallbackHandler_c *callbackHandlerPtr = new myCallbackHandler_c; > saxParserPtr->setErrorHandler(callbackHandlerPtr); > > try > { > saxParserPtr->parse("FileNotFound.xml"); > } > catch (const char* s) > { > cerr << s << endl; > returnValue = 1; > } > catch (...) > { > cerr << "Unknown exception!" << endl; > returnValue = 1; > } > > delete callbackHandlerPtr; > delete saxParserPtr; > XMLPlatformUtils::Terminate(); > cout << "Returning: " << returnValue << endl; > return returnValue; > } > When running it with Rational Purify it shows following memory leaks (BTW, the same leaks are shown when using HP WDB's memory check functionality). > MLK: 186 bytes leaked at 0x400bbd08 > This memory was allocated from: > malloc [rtlib.o] > __nW__fUl [libCsup.2] > operator new(unsigned long) [rtlib.o] > xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] > xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] > xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] > main [xerces_mlk.cc:29] > _start [libc.2] > $START$ [crt0.o] > $START$ [crt0.o] > MLK: 18 bytes leaked at 0x400a7b18 > This memory was allocated from: > malloc [rtlib.o] > __nW__fUl [libCsup.2] > operator new(unsigned long) [rtlib.o] > xercesc_2_6::MemoryManagerImpl::allocate(unsigned long) [libxerces-c.sl.26.0] > static xercesc_2_6::XMLString::replicate(const char *,xercesc_2_6::MemoryManager *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLException::XMLException(const xercesc_2_6::XMLException &)%2 [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanReset(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::IGXMLScanner::scanDocument(const xercesc_2_6::InputSource &) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const unsigned short *) [libxerces-c.sl.26.0] > xercesc_2_6::XMLScanner::scanDocument(const char *) [libxerces-c.sl.26.0] > xercesc_2_6::SAXParser::parse(const char *) [libxerces-c.sl.26.0] > main [xerces_mlk.cc:29] > _start [libc.2] > $START$ [crt0.o] > $START$ [crt0.o] > To me it seems the XMLException object is not released in case an exception is thrown in an error handler's fatalError method. Any ideas? Thanks in advance! > Regards, > Stephan -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: c-dev-unsubscribe@... For additional commands, e-mail: c-dev-help@... |
| Free embeddable forum powered by Nabble | Forum Help |