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

pit b83: CertPath: CertPathBuilderTest/BCF/test9 consumes large amount of memory & may overflow heap

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P5 P5
    • 7
    • 5.0u8, 6
    • security-libs
    • None
    • generic, sparc
    • generic, solaris_10

        CertPath/CertPathBuilderTest/BCF/test9 failed on all platform except Solaris S10 64bit.
        It did pass on b81.

        This is a serious problem. It looks like somehow the provider got into an infinite loop.

        Here is the exception from the test:

        Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at sun.security.util.DerInputBuffer.toByteArray(DerInputBuffer.java:51)
        at sun.security.util.DerInputStream.toByteArray(DerInputStream.java:131)
        at sun.security.x509.X500Name.parseDER(X500Name.java:767)
        at sun.security.x509.X500Name.<init>(X500Name.java:290)
        at sun.security.x509.CertificateSubjectName.<init>(CertificateSubjectName.java:65)
        at sun.security.x509.X509CertInfo.parse(X509CertInfo.java:679)
        at sun.security.x509.X509CertInfo.<init>(X509CertInfo.java:152)
        at sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1729)
        at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:179)
        at sun.security.provider.certpath.X509CertificatePair.parse(X509CertificatePair.java:223)
        at sun.security.provider.certpath.X509CertificatePair.<init>(X509CertificatePair.java:102)
        at sun.security.provider.certpath.X509CertificatePair.generateCertificatePair(X509CertificatePair.java:128)
        at sun.security.provider.certpath.LDAPCertStore.getCertPairs(LDAPCertStore.java:469)
        at sun.security.provider.certpath.LDAPCertStore.getMatchingCrossCerts(LDAPCertStore.java:507)
        at sun.security.provider.certpath.LDAPCertStore.engineGetCertificates(LDAPCertStore.java:646)
        at java.security.cert.CertStore.getCertificates(CertStore.java:124)
        at sun.security.provider.certpath.Builder.addMatchingCerts(Builder.java:409)
        at sun.security.provider.certpath.ReverseBuilder.getMatchingCACerts(ReverseBuilder.java:244)
        at sun.security.provider.certpath.ReverseBuilder.getMatchingCerts(ReverseBuilder.java:122)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:653)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)
        at sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchReverse(SunCertPathBuilder.java:738)


        The test at here, you can easily reproduce the problem:


        /net/sqe/global/nfs/sec/users/bsitu/ws_6/security/src/CertPath/CertPathBuilderTest/BCF/test9

        Using the promoted build, the following java program comes back quickly:

        -bash-3.00$ java -cp . BuildCertPath -lhost mojava.sfbay.sun.com -lport 395 -maxlength 12 -buildreverse -trusted leadCA2leadCA -target cn=leadE,cn=mgrE,ou=prjE,ou=divB,ou=Comp,o=sun,c=us
         PATH BUILD SUCCEEDED
        PATH VALIDATION SUCCEEDED
        Here is the detail:
        Due to the HashMap changes, the same test also failed in Tiger PIT 5.0u8 b01.
        This test is PASS in Tiger 5.0u9 b01 PIT testing and Mustang PIT b95 testing.

              mullan Sean Mullan
              lzhanorcl Lichun Zhan (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: