Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6361860

Xalan : Exception in thread "Thread-320" java.lang.OutOfMemoryError: Java heap space

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P3
    • 5.0u12
    • 5.0u6
    • xml

    Description

      This sample piece of code will trigger OOM on jdk1.5.0_06.

      [Full GC 13695K->13669K(14784K), 0.1407826 secs]
      ERROR: 'Java heap space'
      FATAL ERROR: 'Could not compile stylesheet'
      [Full GC 13694K->13694K(14784K), 0.1335922 secs]
      [Full GC 13694K->13598K(14784K), 0.1605842 secs]
      javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
              at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:824)
              at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:619)
              at test$1.run(test.java:33)


      Same issue with 1.5.0_07
      bash-2.05# /net/koori.sfbay/onestop/jdk/1.5.0_07/promoted/latest/binaries/solaris-sparc/bin/java -verbose:gc -Xmx16m test


      ERROR: 'Java heap space'
      FATAL ERROR: 'Could not compile stylesheet'
      [Full GC 12784K->12637K(14592K), 0.1542826 secs]
      javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
              at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:824)
              at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:619)
              at test$1.run(test.java:33)



      It is working fine on jdk 1.4.2_10 and jdk 1.6_b63
      ----------------------------------------------------------------------------------------
      import java.io.StringReader;
      import java.io.StringWriter;
      import javax.xml.transform.*;
      import javax.xml.transform.stream.StreamResult;
      import javax.xml.transform.stream.StreamSource;

      public class test {

       public static void main (String[] args) throws Exception, TransformerFactoryConfigurationError
          {
              final TransformerFactory newInstance = TransformerFactory.newInstance();
      // final ChannelCache cache;
              final Object monitor = new Object ();
       // cache = ChannelCache.instance();

              for (;;)
              {
                  synchronized (monitor)
                  {

      new Thread ()
      {
      public void run ()
      {

      try
      {
      synchronized (monitor)
      {
      Source xsl = new StreamSource ("test.xsl");
      Transformer transformer = newInstance.newTransformer(xsl);
      Source xml = new StreamSource ("test.xml");
      transformer.transform(xml, new StreamResult ("ouput.xml"));
      //cache.addCachedContent("123");
      monitor.notify();
      }
      }
      catch (Exception e)
      {
      e.printStackTrace();

      }
      }
      }.start();
      monitor.wait();

      Thread.yield();
                  }

              }
       }
      --------------------------------------------------------------------------------


      ------------------------test.xsl

      <?xml version="1.0"?>
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
       <xsl:template match="foo">
         <out><xsl:value-of select="."/></out>
       </xsl:template>
      </xsl:stylesheet>

      ------------------------ test.xml

      <?xml version="1.0"?>
      <foo>Hello XSL 348298409328409328409328409328409328409328409328409328403298409328409328409328403298403298403298403298403298403928403
      284032840329840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000</foo>

      ----------------------------------------

      Attachments

        Issue Links

          Activity

            People

              spericas Santiago Pericasgeertsen
              cphua Choon-Hong Phua (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: