"Paul Warren" <[EMAIL PROTECTED]> writes: > This leaks. However, if I comment out the setErrorHandler line it > does not. Is there a circular link between the parser and error > handler that does not get deleted?
Hey Paul, I'm really grateful that someone is memory testing XML::Xerces, I found and eliminated a whole bunch of issues, but you just discovered a big one. The problem, as you pointed out, is in the ErrorHandler code (actually, you'd find it in any of the other *Handler's as well). Because XML::Xerces uses Xerces-C under the hood, whenever a handler is set, I need to allocate a C++ object to proxy for the actual Perl handler. After poking around for a bit, I've discovered that I'm not proplerly storing and releasing references to either the C++ proxy object (class XML::Xerces::PerlErrorCallbackHandler) or the handler object (class XML::Xerces::PerlErrorHandler). I tried some quick fixes, but no luck I'm going to have to spend some time looking at this. Thanks for the info, jas. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
