Send over the diff for this.
- Markus
On Thu, Nov 29, 2001 at 04:29:58PM -0000, [EMAIL PROTECTED] wrote :
> ID: 14037
> User updated by: [EMAIL PROTECTED]
> Reported By: [EMAIL PROTECTED]
> Old Status: Feedback
> Status: Open
> Bug Type: DOM XML related
> Operating System: Linux
> PHP Version: 4.0.6
> New Comment:
>
> Here's the explanation from [EMAIL PROTECTED] (our resident C expert):
> In the ext/domxml/php_domxml.c there is a destructor function named
>php_free_xml_doc(). In the loop code that [EMAIL PROTECTED] has posted this destructor
>function gets invoked after the end of the loop which for some reason won't free up
>memory. We thought maybe the xmldoc memory
> should be released within the loop that is after getting an xmldoc object into $doc
>and before overwriting it through the next iteration of the loop. So we added our own
>xmldocfree( $doc ) function and put it in the loop. We had no memory leak anymore but
>then we encountered segfaults in the apache log file which of course was because of
>the native destructor being invoked on an already released object. So maybe even our
>xmldocfree wasn't working properly and the segfault was somehow cleaning up
>everything behind. But anyway we are happy now because the
> memory leak is gone and the segfault does not effect our functionality.
>
> Previous Comments:
> ------------------------------------------------------------------------
>
> [2001-11-29 09:48:25] [EMAIL PROTECTED]
>
> By patching what? ext/domxml?
>
> FYI, apache doesn't release memory it once grabs. Thats how it works.
>
> Feedback.
>
> ------------------------------------------------------------------------
>
> [2001-11-29 09:42:22] [EMAIL PROTECTED]
>
> As stated, the memory used by Apache sky rockets... On my machine, it goes up to
>about 90% or so.
> We're working on a patch to this bug, we've got the memory leak fixed by closing the
>file using a function we wrote, but unfortunately that ended up causing a segfault in
>Apache.
> When we fix that problem, we'll post the fix here.
>
> ------------------------------------------------------------------------
>
> [2001-11-29 09:38:04] [EMAIL PROTECTED]
>
> What do you define as 'memory leak' ? Error output in apaches log?
>
> Feedback.
>
> ------------------------------------------------------------------------
>
> [2001-11-12 17:01:15] [EMAIL PROTECTED]
>
> <?php
> echo "starting test ...<p>";
> flush();
> for ($i=0; $i<100; $i++)
> {
> $doc = xmldocfile( "SOMEXMLFILE" );
> }
> echo "test finished";
> ?>
>
> When this is done on Apache, the memory used by Apache sky rockets. The larger the
>XML file, the larger the memory leak.
>
>
> ------------------------------------------------------------------------
>
>
>
> Edit this bug report at http://bugs.php.net/?id=14037&edit=1
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
--
Please always Cc to me when replying to me on the lists.
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]