ID: 27878 Updated by: [EMAIL PROTECTED] Reported By: fjortiz at comunet dot es -Status: Open +Status: Bogus Bug Type: XSLT related Operating System: Win32 PHP Version: 5.0.0RC1 New Comment:
Not a PHP issue. Its a libxml bug which was fixed in 2.6.8. You need to upgrade your libxml libraries. Previous Comments: ------------------------------------------------------------------------ [2004-04-07 02:39:31] fjortiz at comunet dot es These are the settings: cscript /nologo configure.js --enable-debug --enable-apache --with-apache-includes="C:\Program Files\Apache Group\Apache\include" --with-apache-libs="C:\Program Files\Apache Group\Apache\lib" --disable-cli --enable-soap=shared --with-mssql=shared --disable-odbc --without-sqlite --without-wddx --with-xsl=../libxslt-1.1.4.win32 --with-dom Libs versions: libxslt-1.1.4.win32 --> static libxml2-2.6.7.win32 --> static By the call stack, the crash is at _xmlDictFree in libxml2, so maybe I'm bugging the wrong person... Let me know if you need any other info. ------------------------------------------------------------------------ [2004-04-06 13:38:59] [EMAIL PROTECTED] I cant reproduce this. What libxml and libxslt versions are you using, where did you get them, how did you build the xsl extension (shared or static) and how did you compile in the libxslt support (static or shared)? ------------------------------------------------------------------------ [2004-04-06 02:48:10] fjortiz at comunet dot es Description: ------------ I guess some extra checks should be added to the (great!) new DOM/XSLT processor. Or maybe it's a libxml crash... Only happens when the error is in the included file. Sample XSL below: file.xsl: see the "' '" at the param "strDelimiter". No crash if select="' '" <?xml version='1.0' encoding='utf-8' ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template name="Split"> <xsl:param name="strInput" select="''"/> <xsl:param name="strDelimiter" select="' '"/> <!-- stripped, enough to see the crash --> </xsl:template> </xsl:stylesheet> And then drill6.xsl includes file.xsl: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:include href="file.xsl"/> <xsl:template match="/"> <datos> <xsl:call-template name="Split"> <xsl:with-param name="strInput" select="."/> <xsl:with-param name="strDelimiter" select="' '"/> </xsl:call-template> </datos> </xsl:template> </xsl:stylesheet> Reproduce code: --------------- <? header("Content-type: text/xml; charset=ISO-8859-1;") ; $xml =& new DomDocument() ; $xml->load("datos.xml"); $xsl =& new DomDocument(); $xsl->load("drill6.xsl"); $proc = new xsltprocessor; $proc->importStylesheet($xsl); $string = $proc->transformToXml($xml); print "$string"; ?> Actual result: -------------- Unhandled exception at 0x009bb86d (php5ts_debug.dll) in Apache.exe: 0xC0000005: Access violation reading location 0xdddddddd. xsltprocessor.c line 326 sheetp = xsltParseStylesheetDoc(newdoc); Call Stack: php5ts_debug.dll!_xmlDictFree() + 0xd C php5ts_debug.dll!_xmlDictFree() + 0x29 C php5ts_debug.dll!_xsltFreeStylesheet() + 0x1a2 C php5ts_debug.dll!_xsltParseStylesheetImportedDoc() + 0x8f C php5ts_debug.dll!_xsltParseStylesheetDoc() + 0xd C > php5ts_debug.dll!zif_xsl_xsltprocessor_import_stylesheet(int ht=1, _zval_struct * return_value=0x02786518, _zval_struct * this_ptr=0x02796030, int return_value_used=0, void * * * tsrm_ls=0x02777440) Line 326 + 0x9 C php5ts_debug.dll!zend_do_fcall_common_helper(_zend_execute_data * execute_data=0x018ff558, _zend_op * opline=0x02799e98, _zend_op_array * op_array=0x02797bb0, void * * * tsrm_ls=0x02777440) Line 2665 + 0x32 C php5ts_debug.dll!zend_do_fcall_by_name_handler(_zend_execute_data * execute_data=0x018ff558, _zend_op * opline=0x02799e98, _zend_op_array * op_array=0x02797bb0, void * * * tsrm_ls=0x02777440) Line 2776 + 0x15 C php5ts_debug.dll!execute(_zend_op_array * op_array=0x02797bb0, void * * * tsrm_ls=0x02777440) Line 1339 + 0x17 C php5ts_debug.dll!zend_execute_scripts(int type=8, void * * * tsrm_ls=0x02777440, _zval_struct * * retval=0x00000000, int file_count=3, ...) Line 1046 + 0x21 C php5ts_debug.dll!php_execute_script(_zend_file_handle * primary_file=0x018ffbb0, void * * * tsrm_ls=0x02777440) Line 1628 + 0x1b C php5apache.dll!apache_php_module_main(request_rec * r=0x01054068, int display_source_mode=0, void * * * tsrm_ls=0x02777440) Line 54 + 0x10 C php5apache.dll!send_php(request_rec * r=0x01054068, int display_source_mode=0, char * filename=0x01054bd0) Line 621 + 0x11 C php5apache.dll!send_parsed_php(request_rec * r=0x01054068) Line 636 + 0xd C ApacheCore.dll!6ff64ae7() ApacheCore.dll!6ff73f94() ApacheCore.dll!6ff73d06() ApacheCore.dll!6ff6b8ff() msvcrt.dll!780085bc() KERNEL32.DLL!7c4e987c() ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27878&edit=1
