ID: 27236
Updated by: [EMAIL PROTECTED]
Reported By: bo at theaddedones dot com
-Status: Open
+Status: Feedback
Bug Type: XSLT related
Operating System: solaris 8, OSX 10.3, Redhat
PHP Version: 4.3.4
New Comment:
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc.
If possible, make the script source available online and provide
an URL to it here. Try avoid embedding huge scripts into the report.
Previous Comments:
------------------------------------------------------------------------
[2004-02-12 19:59:20] bo at theaddedones dot com
sorry,
in the 'reporduce code' the proper xsl would be (just mistyped it)
<xsl:key name="state_key" match="data" use="state"/>
<xsl:for-each
select="//data[generate-id()=generate-id(key('state_key',state)[1])]"><xsl:value-of
select="state"/>,
</xsl:for-each>
------------------------------------------------------------------------
[2004-02-12 19:55:30] bo at theaddedones dot com
Description:
------------
i have a slew of xml data that i need to select unique values from ...
the easiest method is via the xsl:key ...
when i ever i use xsl:key to make a key (regardless of if i use or not)
the xslt processor (libxml2 '20507', libxslt 1.0.30 -> 1.0.36 (the
versions i have tried)) i get an 'xmlFree' error IF i compiled the
libxml with the debug-mem option...if not i crashes the Apache (1.3.29)
child via a bus error...
the error....
Warning: Unknown(): Memory tag error occurs :0x6637671 bye in Unknown
on line 0
Warning: Unknown(): xmlMemFree(6637691) error in Unknown on line 0
Warning: Unknown(): xmlMallocBreakpoint reached on block 0 in Unknown
on line 0
interestingly, the entire XSL process works fine, and returns a
properly converted document (even the keys work properly), it jsut dies
with the memory error..i'm guessing something funny with garbage
colleciton
Reproduce code:
---------------
the below should dump all the unique states in my data as a comma
separated list
<xsl:key name="state_key" match="images" use="state"/>
<xsl:for-each
select="//data[generate-id()=generate-id(key('state_key',state)[1])]"><xsl:value-of
select="state"/>,
</xsl:for-each>
save as a normal xslt file
try to compile using dom ala
domxml_xslt_stylesheet_file({your file})...
create some XML, and process the beast via 'process' you shall see the
error
Expected result:
----------------
no silly memmory failures
Actual result:
--------------
Warning: Unknown(): Memory tag error occurs :0x6637671 bye in Unknown
on line 0
Warning: Unknown(): xmlMemFree(6637691) error in Unknown on line 0
Warning: Unknown(): xmlMallocBreakpoint reached on block 0 in Unknown
on line 0
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27236&edit=1