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

Consider increasing the default maximum output log size for JSSE unit tests

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • None
    • None
    • security-libs
    • None

      JSSE debug output can be lengthy.

      If JSSE debug output (-Djavax.net.debug=all) is added to a JTREG test (e.g. (temporarily during debugging), developers often run into the max file size limitation of JT Harness, which by default is 100000 bytes. When that size it hit, the middle parts of the handshake output are replaced with:
      ...
      Output overflow:
      JT Harness has limited the test output to the text
      at the beginning and the end, so that you can see how the
      test began, and how it completed.

      If you need to see more of the output from the test,
      set the system property javatest.maxOutputSize to a higher
      value. The current value is 100000
      ...

      which make the logs useless for debugging.

      Devs then have to remember the magic incantation, which unfortunately is not as simple as adding -Djavatest.maxOutputSize=xxxxxxx to the test invocation, as that's the wrong VM. See the workaround buried in the JTREG FAQ. https://openjdk.org/jtreg/faq.html#how-to-set-javatest.maxOutputSize

      The easiest way is to add TEST.properties to the directories involved.

      JDK-8339261 did this for a single test, but consider adding this value for all JSSE tests in:

          test/jdk/javax/net/ssl
          test/jdk/sun/security/ssl

      Here's the amount of space currently needed for the JSSE tests (80MB) and how much is needed after the change (136MB):

      test/jdk/javax/net/ssl
          open: 55288 KB -> 108816 KB (96%)
      test/jdk/sun/security/ssl
          open: 844 KB -> 912 KB (8%)

      I noticed that a few tests/directories enable debugging by default, and there are a few primary offenders (javax/net/ssl/{DTLSv10,ServerName,TLS,TLSv1,TLSv11,TLSv12}). Debugging output isn't required for almost all of these tests, so we could shut off debugging by default to save size. (There are some debugging output tests, so can't turn those off.)

      My thoughts:

          . turn off some/most/all of the existing debugging, as it's just noise,
          . add the changes to enable full log capture for test/jdk/javax/net/ssl and test/jdk/sun/security/ssl if someone turns on debugging (temporarily?) while they are developing.

            Unassigned Unassigned
            wetmore Bradford Wetmore
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: