From: x-penguin at tut dot by Operating system: Linux PHP version: 5CVS-2004-08-08 (dev) PHP Bug Type: XSLT related Bug description: Segmentation fault when php function(called from XSLT templat) throw exception
Description: ------------ Child httpd process segfault, when php function(called from XSLT template) throw exception, and when exception was throwed from steream wrapper, used in XSLT template. PHP Version 5.1.0-dev, configure with: './configure' '--prefix=/usr/' '--with-apxs2' '--with-gettext' '--with-iconv' '--with-mysql' '--enable-mbstring=ru' '--enable-mbregex' '--enable-mbstr-enc-trans' '--disable-short-tags' '--with-xsl' '--with-libxml' '--without-sqlite' '--enable-soap' libxslt Version 1.1.8 libxml Version 2.6.11 libexslt Version 1.1.8 apache 2.0.48 Reproduce code: --------------- <?php try { function throwFunction() { throw new Exception('exception messaage'); } $xsl = new DomDocument(); $xsl->loadXML( '<?xml version="1.0" encoding="iso-8859-1" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"> <xsl:template match="/"> <xsl:value-of select="php:function(\'throwFunction\')" /> </xsl:template> </xsl:stylesheet>' ); $xml = new DomDocument; $xml->loadXML( '<?xml version="1.0" encoding="iso-8859-1" ?> <null></null>' ); $proc = new XSLTProcessor(); $proc->registerPhpFunctions(); $proc->importStylesheet($xsl); $dom = $proc->transformToDoc($xml); } catch(Exception $exception) { echo $exception; } ?> Expected result: ---------------- exception 'Exception' with message 'exception messaage' in /mnt/data/www/html/web/test.php:4 Stack trace: #0 /mnt/data/www/html/web/test.php(27): XSLTProcessor->throwFunction() #1 /mnt/data/www/html/web/test.php(27): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} Actual result: -------------- from apache error log: [Sun Aug 08 18:55:33 2004] [notice] child pid 1337 exit signal Segmentation fault (11) -- Edit bug report at http://bugs.php.net/?id=29573&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=29573&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=29573&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=29573&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=29573&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=29573&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=29573&r=needscript Try newer version: http://bugs.php.net/fix.php?id=29573&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=29573&r=support Expected behavior: http://bugs.php.net/fix.php?id=29573&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=29573&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=29573&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=29573&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=29573&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=29573&r=dst IIS Stability: http://bugs.php.net/fix.php?id=29573&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=29573&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=29573&r=float