#19081 [Fbk]: crashes when doing lots of get_elements_by_tagname
| From: | chregu@php.net | Date: | Tue, 27 Aug 2002 05:36:40 +0000 |
| Subject: | #19081 [Fbk]: crashes when doing lots of get_elements_by_tagname | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-17911@lists.php.net to get a copy of this message | ||
ID: 19081
Updated by: chregu@php.net
Reported By: KingGeoffrey@yahoo.com
Status: Feedback
Bug Type: DOM XML related
Operating System: WinNT
PHP Version: 4.2.2
New Comment:
The correct link is:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2002-08-27 01:35:57] chregu@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-latest.zip
Aditionally you can try a stable-snapshot, which should solve this
problem, too.
http://snaps.php.net/win32/php4-win32-stable.zip
chregu
------------------------------------------------------------------------
[2002-08-24 04:38:35] KingGeoffrey@yahoo.com
The exact cause of the bug is not clear to me, i have pruned my code
down to something that reliably causes it both in cli and web server
version.
To reproduce (i hope) put .php and .xml files in same and execute in
cli mode, it should crash as it completes.
Dr watson writes a dump file i can retrieve that if requested.
I am running unmodified win binaries 4.2.2 as distributed.
The two files are...
--- crash.php ---
<?php
function findNode($Doc, $TagName, $AttrName, $AttrValue) {
$nodes = $Doc->get_elements_by_tagname($TagName);
reset($nodes);
while (list($key, $value) = each($nodes)) {
if ($AttrValue == $value->get_attribute($AttrName))
return $value;
}
return null;
}
function save($XmlFile, $Username, $GameId) {
!$doc = domxml_open_file($XmlFile);
$user = findNode($doc, 'user', 'username', $Username);
echo ">";
if ($user)
$games = $user->child_nodes();
echo "<";
}
echo "php:" . phpversion() . " domxml:" . domxml_version() . "<br
/>\n";
for($i=0; $i < 40; $i++) {
save("crash.xml", "abc", "x");
}
?>
--- crash.xml ---
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user username="abc">
<game id="game0"/>
<game id="game1"/>
<game id="game2"/>
<game id="game3"/>
<game id="game4"/>
<game id="game5"/>
<game id="game6"/>
<game id="game7"/>
<game id="game8"/>
<game id="game9"/>
<game id="game10"/>
<game id="game11"/>
<game id="game12"/>
<game id="game13"/>
<game id="game14"/>
<game id="game15"/>
<game id="game16"/>
<game id="game17"/>
<game id="game18"/>
<game id="game19"/>
<game id="game20"/>
<game id="game21"/>
<game id="game22"/>
<game id="game23"/>
<game id="game24"/>
<game id="game25"/>
<game id="game26"/>
<game id="game27"/>
<game id="game28"/>
<game id="game29"/>
<game id="game30"/>
<game id="game31"/>
<game id="game32"/>
<game id="game33"/>
<game id="game34"/>
<game id="game35"/>
<game id="game36"/>
<game id="game37"/>
<game id="game38"/>
<game id="game39"/>
</user>
</users>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=19081&edit=1