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