You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by bu...@apache.org on 2004/02/26 16:52:23 UTC

DO NOT REPLY [Bug 27260] New: - Stackoverflow using xslt from subsitemap with cocoon://-protocol

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27260>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27260

Stackoverflow using xslt from subsitemap with cocoon://-protocol

           Summary: Stackoverflow using xslt from subsitemap with cocoon://-
                    protocol
           Product: Cocoon 2
           Version: 2.1.4
          Platform: PC
               URL: http://localhost:8888/anything.except.test
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: core
        AssignedTo: dev@cocoon.apache.org
        ReportedBy: askild@xangeli.com


When upgrading from 2.1.3 to 2.1.4 I got an infinite loop in my application 
that resulted in out-of-memory.

I have narrowed it down to the following simple test-case. This simple test 
eventually results in a stackoverflow at my system, running WinXP with suns 
j2sdk1.4.2_02.

The testcase works in 2.1.3, so to me this seems to have been introduced in 
2.1.4.

If I change "cocoon://test/test.xslt" to "http://localhost/test/test.xslt" in 
the parent sitemap the problem vanishes.

Accessing "http://localhost:8888/anything.except.test" results in an 
stackoverflow

Snippet of main sitemap:
-------------------------
<map:match pattern="test/**">
	<map:mount check-reload="no" src="test/" uri-prefix="test"/> 
</map:match>
<map:match pattern="**">
	<map:generate type="file" src="test/test.xml"/>
	<map:transform type="xslt" src="cocoon://test/test.xslt"/>
	<map:serialize type="xml"/>
</map:match>

Snippet of sub-sitemap in test/:
----------
<map:pipelines>
	<map:pipeline>
		<map:match pattern="test.xslt">
			<map:generate type="file" src="test.xslt"/>
			<map:serialize type="xml"/>
		</map:match>
	</map:pipeline>
</map:pipelines>


test.xml in test/
-----------------
<?xml version="1.0" encoding="UTF-8"?>
<test>Hello world??</test>

test.xslt in test/
------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<xsl:template match="test">
		<modified.test.result>
			<xsl:value-of select="."/>
		</modified.test.result>
	</xsl:template>
</xsl:stylesheet>