[Gestalt-users] Gexslt crash
Status: Alpha
Brought to you by:
colin-adams
From: Florent G. <dar...@ya...> - 2006-09-21 16:45:53
|
Hi I found an other issue that makes Gexslt crash. Here is the more simple example I written that reproduces the problem (not really minimal, but I can't reduce it more): > cat gexslt-crash.xml <test:report xmlns:test="http://www.fgeorges.org/xslt/unit-test" tested="hello-world.xsl" tested-absolute=".../hello-world.xsl" date="2006-09-21T11:30:55.142+02:00"> <test:tests id="false"> <test:title>False negative</test:title> <test:test id="false.1" successful="false"> <test:expect> <elem2 id="id"/> </test:expect> <test:result> <elem1/> <elem2 id="id"/> </test:result> </test:test> </test:tests> </test:report> > cat gexslt-crash.xsl <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:test="http://www.fgeorges.org/xslt/unit-test" exclude-result-prefixes="test xs" xmlns="http://www.w3.org/1999/xhtml"> <xsl:template match="test:report"> <html> <xsl:apply-templates select=" test:tests/test:test[not(xs:boolean(@successful))]"/> </html> </xsl:template> <xsl:template match="test:test"> <xsl:apply-templates select="test:expect"> <xsl:with-param name="comparison" select="test:result"/> </xsl:apply-templates> </xsl:template> <xsl:template match="test:expect"> <xsl:param name="comparison" as="element()?" select="()"/> <xsl:variable name="compare" as="node()*" select=" $comparison/(node() except text()[not(normalize-space())])"/> <xsl:for-each select="node() except text()[not(normalize-space())]"> <xsl:variable name="pos" as="xs:integer" select="position()"/> <xsl:apply-templates select="." mode="mode"> <xsl:with-param name="comparison" select="$compare[$pos]"/> </xsl:apply-templates> </xsl:for-each> </xsl:template> <xsl:template match="*" mode="mode"> <xsl:param name="comparison" as="node()?"/> </xsl:template> </xsl:stylesheet> > gexslt gexslt-crash.xsl gexslt-crash.xml gexslt: system execution failed. Following is the set of recorded exceptions: ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- GEXSLT root's creation Segmentation violation: <000000000169003C> Operating system signal. Exit ------------------------------------------------------------------------------- GEXSLT root's creation <000000000169003C> Routine failure. Exit ------------------------------------------------------------------------------- Interestingly, if you replace "$compare[$pos]" by the equivalent "$compare[current()/position()]", the transformation doesn't crash anymore. Here is a full stack trace: gexslt: system execution failed. Following is the set of recorded exceptions: ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- XM_XPATH_SINGLETON_ITERATOR as_node_iterator @44 node_iterator: <0000000003842B3C> (From XM_XPATH_SEQUENCE_ITERATOR) Precondition violated. Fail ------------------------------------------------------------------------------- XM_XPATH_MEMO_CLOSURE create_iterator @22 <000000000382C49C> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_SUPPLIED_PARAMETER_REFERENCE create_iterator @6 <0000000003772944> Routine failure. Fail ------------------------------------------------------------------------------- XM_XPATH_ITEM_CHECKER create_iterator @4 <0000000003773C24> Routine failure. Fail ------------------------------------------------------------------------------- XM_XPATH_CARDINALITY_CHECKER evaluate_item @5 <00000000037753F4> Routine failure. Fail ------------------------------------------------------------------------------- XM_XPATH_CARDINALITY_CHECKER eagerly_evaluate @49 <00000000037753F4> (From XM_XPATH_EXPRESSION) Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_LOCAL_PARAM process_leaving_tail @8 <000000000377666C> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_TEMPLATE expand @4 <0000000003FA8154> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_TEMPLATE process_leaving_tail @5 <0000000003FA8154> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_APPLY_TEMPLATES apply_templates @22 <0000000003F9D71C> (From XM_XSLT_TEMPLATE_ROUTINES) Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_APPLY_TEMPLATES apply @22 <0000000003F9D71C> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_APPLY_TEMPLATES process @5 <0000000003F9D71C> Routine failure. Fail ------------------------------------------------------------------------------- XM_XPATH_LET_EXPRESSION process @17 <0000000003F9B32C> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_FOR_EACH process_leaving_tail @18 <0000000003F9B4A4> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_FOR_EACH process @7 <0000000003F9B4A4> (From XM_XSLT_INSTRUCTION) Routine failure. Fail ------------------------------------------------------------------------------- XM_XPATH_LET_EXPRESSION process @17 <0000000003F9B5DC> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_BLOCK process_leaving_tail @13 <0000000003F9B754> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_TEMPLATE expand @4 <0000000003FA7004> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_TEMPLATE process_leaving_tail @5 <0000000003FA7004> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_APPLY_TEMPLATES_PACKAGE apply_templates @22 <000000000381F2AC> (From XM_XSLT_TEMPLATE_ROUTINES) Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_APPLY_TEMPLATES_PACKAGE process_leaving_tail @7 <000000000381F2AC> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_APPLY_TEMPLATES apply_templates @33 <0000000003F9AEF4> (From XM_XSLT_TEMPLATE_ROUTINES) Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_APPLY_TEMPLATES apply @22 <0000000003F9AEF4> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_APPLY_TEMPLATES process @5 <0000000003F9AEF4> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_FIXED_ELEMENT process_leaving_tail @22 <0000000003F9B02C> (From XM_XSLT_ELEMENT_CONSTRUCTOR) Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_TEMPLATE expand @4 <0000000003FA083C> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_COMPILED_TEMPLATE process_leaving_tail @5 <0000000003FA083C> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_TRANSFORMER apply_templates @28 <0000000003791D74> (From XM_XSLT_TEMPLATE_ROUTINES) Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_TRANSFORMER perform_default_action @9 <0000000003791D74> (From XM_XSLT_TEMPLATE_ROUTINES) Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_TRANSFORMER apply_templates @15 <0000000003791D74> (From XM_XSLT_TEMPLATE_ROUTINES) Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_TRANSFORMER perform_transformation @7 <0000000003791D74> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_TRANSFORMER transform_document @21 <0000000003791D74> Routine failure. Fail ------------------------------------------------------------------------------- XM_XSLT_TRANSFORMER transform @66 <0000000003791D74> Routine failure. Fail ------------------------------------------------------------------------------- GEXSLT perform_transformation @33 <0000000003F97C8C> Routine failure. Fail ------------------------------------------------------------------------------- GEXSLT execute @44 <0000000003F97C8C> Routine failure. Fail ------------------------------------------------------------------------------- GEXSLT root's creation <0000000003F97C8C> Routine failure. Exit ------------------------------------------------------------------------------- Regards, --drkm ___________________________________________________________________________ Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. http://fr.answers.yahoo.com |