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 bu...@apache.org on 2002/05/10 21:46:16 UTC

DO NOT REPLY [Bug 8984] New: - Memory leak in ReaderMgr::createReader

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=8984>.
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=8984

Memory leak in ReaderMgr::createReader

           Summary: Memory leak in ReaderMgr::createReader
           Product: Xerces-C++
           Version: 1.7.0
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: SAX/SAX2
        AssignedTo: xerces-c-dev@xml.apache.org
        ReportedBy: kutiev@slb.com


Still getting some significant leaks (even though much less than in 1.5.1).

Running xerces 1.7.0 on irix 6 (also happens on solaris 8). I noticed bug 7278
sounds similar, but the locations seem to differ.

Thanks in advance for any suggestions.


         MLK: 98392 bytes leaked at 0x11dd18b0
         This memory was allocated from:
               _malloc        [malloc.c:966]
               __nw__HUi      [new.cxx:85]
               __nw__HUi      [memtypes.c:60]
               ReaderMgr::createReader(const
InputSource&,bool,XMLReader::RefFrom,XMLReader::Types,XMLReader::Sources)
[ReaderMgr.cpp:452]
                          }
                          else
                          {
               =>             retVal = new XMLReader
                                  (
                                  src.getPublicId()
                                  , src.getSystemId()
               XMLScanner::scanReset(const InputSource&) [XMLScanner2.cpp:1045]
                      //  Handle the creation of the XML reader object for this
input source.
                      //  This will provide us with transcoding and basic lexing
services.
                      //
               =>     XMLReader* newReader = fReaderMgr.createReader
                      (
                          src
                          , true
               XMLScanner::scanFirst(const InputSource&,XMLPScanToken&,bool)
[XMLScanner.cpp:601]
                  bool XMLScanner::scanFirst( const   InputSource&    src
                                              ,       XMLPScanToken&  toFill
                                              , const bool           
reuseGrammar)
               => {
                      // Store the reuse validator flag
                      fReuseGrammar = reuseGrammar;
                  
               SAXParser::parseFirst(const InputSource&,XMLPScanToken&,bool)
[SAXParser.cpp:587]
                      if (fParseInProgress)
                          ThrowXML(IOException,
XMLExcepts::Gen_ParseInProgress);
                  
               =>     return fScanner->scanFirst(source, toFill, reuseGrammar);
                  }
                  
                  bool SAXParser::parseNext(XMLPScanToken& token)
               WLEngine::Run(char*) [wl_engine.cc:277]
                                   "WitsML document reader", 
                                   false);
                  
               =>             if (!parser.parseFirst(*WITSMLDocumentMemBuf,
token))
                              {
                                  cerr << "scanFirst() failed\n" << endl;
                                  break;
               wl_MainPanel::DoRun(void) [wl_mainpanel.cc:237]
               Ovm_RunButton(void) [wl_mainpanel.cc:210]
               ovm_StackRoot(ovm_Process*) [ovm_process.cc:1473]
               _SGIPT_pt_start [pt.c:793]

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