ID: 24634
User updated by: cw at centerwave dot de
Reported By: cw at centerwave dot de
Status: Open
Bug Type: XSLT related
Operating System: Windows 2000, WindowsXP
PHP Version: 5CVS-2003-07-13 (dev)
New Comment:

Please note that the 2nd example still includes the old functionnames
(which worked with beta1). I certainly changed them to work with
snapsshots.


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

[2003-07-13 10:48:50] cw at centerwave dot de

Description:
------------
PHP (and Apache) crashes after running the importstylesheet()-function
on an domdoent serveral times (means serveral reloads of the same
script, not use of this function serveral times in the same script).

If the XSL-input is large (> 50kb) PHP crashes after 3-5 site reloads.
If the XSL-input is small it seems that PHP crashes after 10-20 site
reloads. The very strange thing is that it renders the page with the
*same* XSL/XML-input serveral times without problems before crashing
after a certain amount of realods. It seems not to be important what
XSL-ruleset is used. I tested serveral xsl-inputs and it always died.

It crashes just on Windows (Apache and Apache 2). I used the libxml
that came with PHP as well as the latest from xmlsoft.org.

There are no problems under Linux.


Reproduce code:
---------------
Example 1:
$output is the XML-string (sorry this is very long so I can't post it,
but the xml-string is not import to reproduce to error, as well as the
XSL-string isn't)

$processor = new xsltprocessor();
$xml = new domdoent();
$xsl = new domdoent();
$xsl_filecontent = file_get_contents($_SERVER["DOENT_ROOT"] .
"/evolution/gui/" . $passport->get_design("current") . "/html.xsl");
$xsl->loadxml($xsl_filecontent);
$xml->loadxml($output);
$processor->importstylesheet($xsl);
print ($processor->transformtoxml($xml));

Example 2:
It also crashes when using the example at
[url]http://news.php.net/article.php?group=php.xml.dev&article=148[/url]



Expected result:
----------------
transformed xml output

Actual result:
--------------
Sorry I can't give you a backtrace with my windows-system. I can just
tell you that the last call goes to libxml2.dll.


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


--
Edit this bug report at [url]http://bugs.php.net/?id=24634&edit=1[/url]