Re: Memory leak.

2005-12-28 Thread Richard van der Laan
EMAIL PROTECTED]> Subject: Re: Memory leak. Hi Richard, I fixed this by modifying MoMLParser, the CVS log comment is: parse(URL, Reader): If we get an exception, remove _toplevel from the workspace, clear the parameters to parse, reset the MoMLParser, and, if necessary, purge the mode

Re: Memory leak.

2005-12-23 Thread Christopher Brooks
topher Hi, I have embedded the Ptolemy kernel in an OSGi service. This service acts as an container for deployed model graphs and can dynamically asso ciat e actor behavior with service behavior. In our situation, multiple parsed

Re: Memory leak.

2005-12-22 Thread Christopher Brooks
tor behavior with service behavior. In our situation, multiple parsed models (around 30) can coexist. Before a new model is parsed, I call reset() on MoMLParser. This avoids incremental model parsing, that would otherwise create dependencies across seperate deployed models.

Re: Memory leak.

2005-12-22 Thread Richard van der Laan
() on MoMLParser. This avoids incremental model parsing, that would otherwise create dependencies across seperate deployed models. Maybe this is related to the memory leak mentioned by Kevin. A few weeks ago I spent some time profiling our system. Regarding the current subject, I discovered a memory

Re: Memory leak.

2005-12-21 Thread Edward A. Lee
Kevin: You are right... When a parser is used to open a model, the model itself acquires an instance of ParserAttribute, which contains a reference to the parser. Thus, as long as there is an active reference to the model, there will be a reference to the parser. We could perhaps change Parser

Re: Memory leak.

2005-12-21 Thread Kevin Ruland
Edward, I don't fully understand the situation and defer to you or Christopher for greater details. Perhaps there is something in the Kepler code which is holding onto a MoMLParser too long. In kepler there is this code in ActorMetadata.ActorMetadata( InputStream moml): { MoMLParser pa

Re: Memory leak.

2005-12-21 Thread Edward A. Lee
At 12:29 AM 12/21/2005 -0800, Christopher Brooks wrote: Yep, this looks like a leak of some sort. In MoMLParser, _parser is declared as: private XmlParser _parser = new XmlParser(); I'm confused... Wouldn't the leak then actually be in the creation of multiple instances of MoMLParser with

Re: Memory leak.

2005-12-21 Thread Kevin Ruland
Christopher, Christopher Brooks wrote: Hi Kevin, Yep, this looks like a leak of some sort. In MoMLParser, _parser is declared as: private XmlParser _parser = new XmlParser(); I'm not sure if setting _parser to null in 1326 of MoMLParser.parse(URL, Reader) is safe or not. What happens the

Re: Memory leak.

2005-12-21 Thread Christopher Brooks
Hi Kevin, Yep, this looks like a leak of some sort. In MoMLParser, _parser is declared as: private XmlParser _parser = new XmlParser(); I'm not sure if setting _parser to null in 1326 of MoMLParser.parse(URL, Reader) is safe or not. What happens the next time this method is called with the

Memory leak.

2005-12-20 Thread Kevin Ruland
Hi guys, As everybody else, I was concerned that Kepler's memory consumption, so I ran just kepler startup through -Xrunhprof and looked at the 250M memory report. I terminated the application "normally" by closing the main window as soon as it appeared. The answer is... Kepler is leaking.