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

api/java_awt/geom/GeneralPath/indexTGF.html#FillHugePolyTests needs lot of mem with ConcMarkSweepGC

XMLWordPrintable

    • gc
    • generic
    • generic

      New JCK7 api/java_awt/geom/GeneralPath/indexTGF.html#FillHugePolyTests needs a lot of memory when run with -XX:+UseConcMarkSweepGC (Without -XX:+UseConcMarkSweepGC it passes with default heap size)

      It fails with the message:

      java version "1.7.0-ea"
      Java(TM) SE Runtime Environment (build 1.7.0-ea-b69)
      Java HotSpot(TM) Server VM (build 16.0-b07, mixed mode)
      =================================
      Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
              at java.awt.image.DataBufferFloat.<init>(DataBufferFloat.java:87)
              at java.awt.image.ComponentSampleModel.createDataBuffer(ComponentSampleModel.java:427)
              at java.awt.image.ComponentColorModel.createCompatibleWritableRaster(ComponentColorModel.java:2831)
              at javasoft.sqe.tests.api.java.awt.geom.GeneralPath.FillHugePolyTests.createCustomImage(FillHugePolyTests.java:130)
              at javasoft.sqe.tests.api.java.awt.geom.GeneralPath.FillHugePolyTests.access$100(FillHugePolyTests.java:30)
              at javasoft.sqe.tests.api.java.awt.geom.GeneralPath.FillHugePolyTests$1$2.create(FillHugePolyTests.java:55)
              at javasoft.sqe.tests.api.java.awt.geom.GeneralPath.FillHugePolyTests$1$2.create(FillHugePolyTests.java:53)
              at com.sun.tck.lib.tgf.AbstractValue.doCreate(AbstractValue.java:53)
              at com.sun.tck.lib.tgf.Runner.performRunWithData(Runner.java:219)
              at com.sun.tck.lib.tgf.Runner.getDataAndRun(Runner.java:179)
              at com.sun.tck.lib.tgf.Runner.executeTestMethods(Runner.java:130)
              at com.sun.tck.lib.tgf.Runner.run(Runner.java:117)
              at com.sun.tck.lib.tgf.Runner.execute(Runner.java:109)
              at com.sun.tck.lib.tgf.TGFTest.run(TGFTest.java:48)
              at com.sun.tck.lib.tgf.TGFTest.run(TGFTest.java:54)
              at javasoft.sqe.tests.api.java.awt.geom.GeneralPath.FillHugePolyTests.main(FillHugePolyTests.java:33)

      The only possible way to run test is increasing heap at least with -Xms96m -Xmx192m. The same behaviour is traced at least back to b42 of jdk7 (hotspot build 14.0-b09)

      Please evaluate this CR. Is the test too strict in its assumptions? Does this failure indicate some bugs in hotspot? If the test is correct and there are no bugs in product, is it possible to rewrite the test so that it will consume less memory (because this could lead to possible problems with running jck on low memory systems (like embedded))?

      Steps to reproduce:
      1. Install jdk (for ex. to /export/jdk/jdk1.7.0)
      2. Install JCK7 (for ex. to /export/JCK/JCK-runtime-7)
      3. Prepare a simple script like below to run a tests.
      #!/bin/bash

      JAVA=/export/jdk/jdk1.7.0/bin/java
      #JOPTS="-Xms96m -Xmx192m -XX:+UseConcMarkSweepGC"
      JOPTS="-XX:+UseConcMarkSweepGC"
      CP=/export/JCK/JCK-runtime-7/classes:/export/jdk/jdk1.7.0/lib/tools.jar

      TEST=javasoft.sqe.tests.api.java.awt.geom.GeneralPath.FillHugePolyTests

      $JAVA -version
      echo "================================="
      $JAVA $JOPTS -classpath $CP $TEST

            jmasa Jon Masamitsu (Inactive)
            ephilipp Evgeny Philippov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: