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

Invalid required_jvm_heap passed in ClientJVMSelectionParameters causes silent applet start failure.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 7
    • 7
    • deploy
    • None
    • b133
    • generic
    • generic
    • Verified

      Invalid parameters passed in ClientJVMSelectionParameters.extract(Map) causes silent applet start failure.

      Say we have the following unittest:
      ====================================
          public void testExtractWithMalformedHeapsizeValues() {
               Map<String,String> parameters = new HashMap<String,String>();
               final ClientJVMSelectionParameters defaultInstance =
                       ClientJVMSelectionParameters.getDefault();

               parameters.put(ParameterNames.SEPARATE_JVM, "true");
               parameters.put(ParameterNames.REQUIRED_JVM_HEAP, "k1000");
               parameters.put(ParameterNames.FX_VERSION, "2.2+");
               ClientJVMSelectionParameters extractedInstance =
                       ClientJVMSelectionParameters.extract(parameters);
               assertTrue("SEPARATE_JVM should have been set",
                       extractedInstance.isSeparateJVM());
               assertEquals("availableHeapSize should have default value",
                       defaultInstance.getAvailableHeapSize(), extractedInstance.getAvailableHeapSize());
               assertEquals("jfx requirement should have been set",
                       new VersionID("2.2+"), extractedInstance.getJfxRequirement());
          }
      ====================================
      The tset result will be:
      ====================================
      Testcase: testExtractWithMalformedHeapsizeValues(sun.plugin2.main.server.ClientJVMSelectionParametersTest): Caused an ERROR
      Too many characters after heap size specifier
      java.lang.IllegalArgumentException: Too many characters after heap size specifier
              at com.sun.deploy.util.JVMParameters.parseMemorySpec(Unknown Source)
              at sun.plugin2.main.server.ClientJVMSelectionParameters.extract(Unknown Source)
              at sun.plugin2.main.server.ClientJVMSelectionParametersTest.testExtractWithMalformedHeapsizeValues(ClientJVMSelectionParametersTest.java:128)
              at sun.tests.junit.DeployTestCase.runBare(Unknown Source)
      ====================================

      which means that this causes error in server JVM and the client has no knowledge with it. Hence the silent applet start failure.

            nam Nam Nguyen (Inactive)
            stephenh Stephen Hu (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: