ID:               16888
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Analyzed
+Status:           Closed
 Bug Type:         DOM XML related
 Operating System: Windows XP
 PHP Version:      4.2.0
 New Comment:

There is a stable snapshot available with (hopefully) the
memleak-fixes. You can get it at
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

Please report, if it works on Windows now.






Previous Comments:
------------------------------------------------------------------------

[2002-05-17 13:10:50] [EMAIL PROTECTED]

My patch is available at
http://trash.chregu.tv/domxml-memleak.diff
(for CVS-HEAD, but should be applyable to PHP_4_2_0 branch as well)

The big memory hole is certainly fixed with that, don't know about
windows and the little memleaks...

Would be great, if someone could test it. 

------------------------------------------------------------------------

[2002-05-17 11:44:09] [EMAIL PROTECTED]

Other people sit at the lake and enjoy the stupid hot weather here, i
hunt memory leaks... what a pleasure... But i found it. Nodes which had
no parents were not freed. i have a fix, but it's not perfect yet.
expect a patch soon.

------------------------------------------------------------------------

[2002-05-17 07:44:01] [EMAIL PROTECTED]

Ok, i did some tests on linux and indeed

There is a big f**king memory hole in domxml with
append_child/append_sibling :( even with Josephs patch.

I will investigate further today...



------------------------------------------------------------------------

[2002-05-16 19:17:32] [EMAIL PROTECTED]

Oh, and I've tested it to work with 70,000 elements...

------------------------------------------------------------------------

[2002-05-16 19:04:25] [EMAIL PROTECTED]

I seem to have found the problem.  Nodes are being freed twice: once in
a call to php_free_xml_node, and once in a call to node_wrapper_dtor. 
I've made two changes, one i've replaced the "free" code in
php_free_xml_node with a call to the static inline function
node_wrapper_dtor, and then call dom_object_set_data to clear the data
(a check should be put here to make sure that the refcount is 0 before
doing this, but I don't have time right now).  I'll post the patch to
the php-dev list so that people can look it over, and make sure that it
doesn't introduce any memory leaks.  I'll mark the bug fixed when I
commit my change.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/16888

-- 
Edit this bug report at http://bugs.php.net/?id=16888&edit=1

Reply via email to