Ok, attached are sample files that generates the java.util.EmptyStackException.

I am using Saxon-7.3.1 with everything working, except that if bad data is sent
to the "fo2pdf" serializer causing a fatal exception, then something happens that
destabilizes cocoon, causing some subsequent requests for other files to fail.
The problem does not occur if the default transformer in the attached sitemap.xmap
and empty.xmap is changed to Xalan.

Steps to demonstrate the exception:
  Copy the attached files into a fresh directory
  Add a <mount/> tag to one of your sitemaps pointing at sitemap.xmap
  Copy the jar file for Saxon-7.3.1 into WEB-INF/lib
  Edit your cocoon.xconf and root sitemap.xmap to let Cocoon know about Saxon
    (See the excerpts from each file below)
  Restart Cocoon so it will see the new jar file
  In a browser (the sequence is very important):
    Request the url "where-you-mounted-the-files/empty.pdf"
    Request the url "where-you-mounted-the-files/good.html"
    Request the url "where-you-mounted-the-files/empty.pdf"
    Hit reload
    Request the url "where-you-mounted-the-files/good.html"
  You should now see the java.util.EmptyStackException error page.

Excerpt from cocoon.xconf:
=====
  <component
    role="org.apache.cocoon.components.xslt.XSLTProcessor/Saxon"
    class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"
    logger="core.xslt-processor-Saxon">
    <parameter name="use-store" value="true"/>
    <parameter name="incremental-processing" value="false"/>
    <parameter name="transformer-factory" value="net.sf.saxon.TransformerFactoryImpl"/>
  </component>

  <component
    role="org.apache.cocoon.components.xslt.XSLTProcessor/Xalan"
    class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"
    logger="core.xslt-processor-Xalan">
    <parameter name="use-store" value="true"/>
    <parameter name="incremental-processing" value="false"/>
    <parameter name="transformer-factory" 
value="org.apache.xalan.processor.TransformerFactoryImpl"/>
  </component>
=====

Excerpt from root sitemap.xmap:
=====
    <map:transformers default="xslt-Saxon">

      <map:transformer name="xslt-Saxon"
        src="org.apache.cocoon.transformation.TraxTransformer"
        logger="sitemap.transformer.xslt-processor-Saxon"
        pool-max="32" pool-min="8" pool-grow="2">
        <use-request-parameters>false</use-request-parameters>
        <use-browser-capabilities-db>false</use-browser-capabilities-db>
        <use-deli>false</use-deli>
        
<xslt-processor-role>org.apache.cocoon.components.xslt.XSLTProcessor/Saxon</xslt-processor-role>
      </map:transformer>

      <map:transformer name="xslt-Xalan"
        src="org.apache.cocoon.transformation.TraxTransformer"
        logger="sitemap.transformer.xslt-processor-Xalan"
        pool-grow="2" pool-max="32" pool-min="8">
        <use-request-parameters>false</use-request-parameters>
        <use-browser-capabilities-db>false</use-browser-capabilities-db>
        <use-deli>false</use-deli>
        
<xslt-processor-role>org.apache.cocoon.components.xslt.XSLTProcessor/Xalan</xslt-processor-role>
      </map:transformer>
=====

Tim

>>> [EMAIL PROTECTED] 01/31/03 09:23AM >>>

Timothy Larson wrote:
> 
> My current setup is not simple.
> I will try to make a simple test and get back to you...
> 
Great! (Because, I never got this exception).

Thanks!
Carsten


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] 
For additional commands, email: [EMAIL PROTECTED] 


<?xml version="1.0"?>
<html>
  <head>
    <title>Simple HTML Page</title>
  </head>
  <body>
    Sample Text
  </body>
</html>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform";
  xmlns:fo  ="http://www.w3.org/1999/XSL/Format";>

  <xsl:import href="cocoon:/included.xsl"/>

  <xsl:template match="/">
    <invalid-fo/>
  </xsl:template>

</xsl:stylesheet>
<?xml version="1.0"?>
<map:sitemap
  xmlns:map="http://apache.org/cocoon/sitemap/1.0";>

  <map:components>
    <map:generators default="file"/>
    <map:transformers default="xslt-Saxon"/>
    <map:readers default="resource"/>
    <map:serializers default="html"/>
    <map:selectors default="browser"/>
    <map:matchers default="wildcard"/>
  </map:components>

  <map:pipelines>

    <map:pipeline>
      <map:match pattern="empty.pdf">
        <map:generate src="cocoon:/empty.fo"/>
        <map:serialize type="fo2pdf"/>
      </map:match>
    </map:pipeline>

    <map:pipeline>

      <map:match pattern="included.xsl">
        <map:generate  src="included.xsl"/>
        <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="*.fo">
        <map:generate  src="bad.xml"/>
        <map:transform src="bad.xsl"/>
        <map:serialize type="xml"/>
      </map:match>

    </map:pipeline>

  </map:pipelines>

</map:sitemap>
<?xml version="1.0"?>
<xml/>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

</xsl:stylesheet>
<?xml version="1.0"?>
<map:sitemap
  xmlns:map="http://apache.org/cocoon/sitemap/1.0";>

  <!-- ======= Components ======= -->
  <map:components>
    <map:generators default="file"/>
    <map:transformers default="xslt-Saxon"/>
    <map:readers default="resource"/>
    <map:serializers default="html"/>
    <map:selectors default="browser"/>
    <map:matchers default="wildcard"/>
  </map:components>

  <map:resources/>

  <map:pipelines>

    <map:pipeline>

      <map:match pattern="good.html">
        <map:generate  src="good.xml"/>
        <map:serialize type="html"/>
      </map:match>

      <map:match pattern="bad.pdf">
        <map:generate src="cocoon:/bad.fo"/>
        <map:serialize type="fo2pdf"/>
      </map:match>

      <map:match pattern="included.xsl">
        <map:generate  src="included.xsl"/>
        <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="bad.fo">
        <map:generate  src="bad.xml"/>
        <map:transform src="bad.xsl"/>
        <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="empty.*">
        <map:mount src="empty.xmap" uri-prefix="" check-reload="yes" 
reload-method="synchron"/>
      </map:match>

    </map:pipeline>

  </map:pipelines>

</map:sitemap>




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to