I hope I hurt nobody attaching a 3 Kbyte zip file.
> -----Original Message-----
> From: Karl Anderson [mailto:[EMAIL PROTECTED]]
>
> Dyon Balding <[EMAIL PROTECTED]> writes:
>
> > On Tue, Apr 10, 2001 at 05:27:28PM +0200, Marco Nova wrote:
> > > Hello guys,
> > >
> > > It seems that I've some memory leak problems and I want
> to understand where
> > > I've to look for.
> > >
> > > Scenario:
> > >
> > > I've an IIS web server that generates an XML page (taking
> data from
> > > SqlServer);
> > > The Zope web server must retrieve the XML page, manage
> the data and render
> > > them in HTML (I cant only apply a XSL stylesheet to XML).
> > >
> > > The Facts:
> > >
> > > I've written a external method that - using httplib -
> reads the XML page and
> > > return a string that is the raw XML sources, than I've
> written another
> > > external method that use ExpatBuilder of
> Products.ParsedXML.DOM to parse the
> > > XML an generate a list of [(id - {mapping})] which will
> be accessed with a
> > > dtml-in tag, so in the sequence-key I've access to the ID and with
> > > sequence-item I can access to the mapping object.
>
> Are you parsing the XML and creating this list from the DOM objects,
> and then throwing them away? Or are you parsing the XML and creating
> this list from your pyexpat interface code, and never accessing the
> DOM objects?
I'm not sure, I think that the ExpatBuilder creates the DOM tree which I use
for gather information for my list (look at tarkresults.py in the attacched
zip file).
> In either case, it seems like you shouldn't be using ParsedXML's
> ExpatBuilder, which is an interface to PyExpat which is made to create
> ParsedXML's DOM objects. You should be using your own PyExpat
> interface to parse this information from your XML input, without the
> overhead of generating a DOM tree that you're just going to throw
> away. The interface is documented in the XML-SIG topic area on
> python.org, and our ExpatBuilder should be a good example on how to
> interface with our PyExpat installation - just don't build the DOM if
> you don't use it.
Ok, I will try, thanks.Anyway if my code is correct we have some bugs around
Zope or ParsedXML that could be of help for someother.
> Regardless of what you *should* be doing :), or if I'm misreading you,
> if you aren't keeping references to the DOM objects being created,
> then they should be reclaimed by the GC, and you do seem to have DOM
> objects lying around. I'd like to see your code, is it short enough
> to post? Or you can chuck it into the collector or ParsedXML tracker.
>
> For debugging purporses, I'd suggest simplifying by supplying an XML
> string directly, rather than from an external server.
Attached you will find a zip file containing:
- res.xml, an xml file generated by my web server, you should import it as a
dtml document named res;
- tarkresults.py, an external method (id:process_results,
modulename:tarkresults, functionname:process_results);
- check_qs.dtml, a dtml method (id:check_qs);
- grid_view.dtml, a dtml method (id:grid_view);
- grid_page.dtml, a dtml method (id:grid_page);
then accessing to grid_view, you should be able to reproduce the behaviour.
Best Regards,
- mn
tarkresults.zip