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=3938>. 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=3938 Memory leak when using the DOMParser Summary: Memory leak when using the DOMParser Product: Xerces-C++ Version: 1.5.1 Platform: Alpha OS/Version: Other Status: NEW Severity: Major Priority: Other Component: Validating Parser (DTD) AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Hello, We found a memory leak in Xerces 1.5.1 (and also in Xerces v1.4) C++ when using the DOMParser. The leak occurs both when we specify an input file or when we use a membug as input source to the parsing method. The XML file passed as parameter to the method "parse" contains a DOCTYPE instruction refering to a valid DTD. The DTD itself includes another valid DTD. All XML files and DTD files are located in the working directory. We tried to use both Xerces v1.4.0 and xerces v1.5.1 and both versions have the problem. However, Xerces v1.5.1 does not leak if the argument setDoValidation is set to 0. Looking at the bug report archive, it seems that this problem has already been reported to you. Is it fixed now, and, if yes, when do you plan to release a version of Xerces with the fix in? Thanks in advance for your help. Best regards Pierre Oberson Project Manager Nagravision S.A. Kudelski Group P.S.: below is a sample program that reproduces the leak. ============================================= Sample program ============================================= #include <iostream.h> #include <framework/MemBufInputSource.hpp> #include <util/PlatformUtils.hpp> #include <parsers/DOMParser.hpp> main( ) { int step=0; const char* fileName = "test.xml"; cout << "Initialize platform" << endl; XMLPlatformUtils::Initialize(); while( 1 ) { DOMParser parser; parser.setDoValidation( 1 ); parser.parse( fileName ); if( step++ %100 == 0 ) { cout << step << endl; } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
