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

JCA Signature provider service loading bottlenecks

    XMLWordPrintable

    Details

      Description

      Submitter reporting high contention in security libraries. These are being observed during 100 concurrent threads load test for OAM Authentication. Sample thread dumps below.


      Bottleneck 1 :
      ============

      "Grizzly-worker(61)" daemon prio=10 tid=0x00007f2b4400d000 nid=0x64ef waiting
      for monitor entry [0x00007f2c466e5000]
         java.lang.Thread.State: BLOCKED (on object monitor)
      at java.security.Provider.getService(Provider.java:680)
      - waiting to lock <0x000000074045d918> (a sun.security.provider.Sun)
      at sun.security.jca.ProviderList$ServiceList.tryGet(ProviderList.java:436)
      at sun.security.jca.ProviderList$ServiceList.access$200(ProviderList.java:375)
      at sun.security.jca.ProviderList$ServiceList$1.hasNext(ProviderList.java:485)
      at java.security.Signature.getInstance(Signature.java:223)
      at oracle.idm.gateway.grs.token.impl.TokenUtils.verify(TokenUtils.java:174)
      at oracle.idm.gateway.grs.token.impl.AToken.verify(AToken.java:583)
      at oracle.idm.gateway.grs.token.impl.TokenUtils.verifyAToken(TokenUtils.java:671)


      "Grizzly-worker(62)" daemon prio=10 tid=0x00007f2b5c012800 nid=0x64f0
      runnable [0x00007f2c465e4000]
         java.lang.Thread.State: RUNNABLE
      at java.security.Provider.getService(Provider.java:680)
      - locked <0x000000074045d918> (a sun.security.provider.Sun)
      at sun.security.jca.ProviderList$ServiceList.tryGet(ProviderList.java:436)
      at sun.security.jca.ProviderList$ServiceList.access$200(ProviderList.java:375)
      at sun.security.jca.ProviderList$ServiceList$1.hasNext(ProviderList.java:485)
      at java.security.Signature.getInstance(Signature.java:223)
      at oracle.idm.gateway.grs.token.impl.TokenUtils.sign(TokenUtils.java:152)
      at oracle.idm.gateway.grs.token.impl.AToken.sign(AToken.java:476)
      at oracle.idm.gateway.grs.token.impl.TokenUtils.createAToken(TokenUtils.java:639)

      ==========


      Bottleneck 2 :
      ============

      "Grizzly-worker(92)" daemon prio=10 tid=0x00007f2b1c012000 nid=0x6902 waiting
      for monitor entry [0x00007f2c45cda000]
         java.lang.Thread.State: BLOCKED (on object monitor)
      at sun.security.rsa.RSACore$BlindingParameters.getBlindingRandomPair(RSACore.java :388)
      - waiting to lock <0x0000000742057aa0> (a sun.security.rsa.RSACore$BlindingParameters)
      at sun.security.rsa.RSACore.getBlindingRandomPair(RSACore.java:429)
      at sun.security.rsa.RSACore.crtCrypt(RSACore.java:165)
      at sun.security.rsa.RSACore.rsa(RSACore.java:110)
      at sun.security.rsa.RSASignature.engineSign(RSASignature.java:177)
      at java.security.Signature$Delegate.engineSign(Signature.java:1180)
      at java.security.Signature.sign(Signature.java:553)
      at oracle.idm.gateway.grs.token.impl.TokenUtils.sign(TokenUtils.java:155)
      at oracle.idm.gateway.grs.token.impl.AToken.sign(AToken.java:476)
      at oracle.idm.gateway.grs.token.impl.TokenUtils.createAToken(TokenUtils.java:639)


      "Grizzly-worker(90)" daemon prio=10 tid=0x00007f2b7000c800 nid=0x68ff
      runnable [0x00007f2c461e0000]
         java.lang.Thread.State: RUNNABLE
      at sun.security.rsa.RSACore$BlindingParameters.getBlindingRandomPair(RSACore.java :388)
      - locked <0x0000000742057aa0> (a sun.security.rsa.RSACore$BlindingParameters)
      at sun.security.rsa.RSACore.getBlindingRandomPair(RSACore.java:429)
      at sun.security.rsa.RSACore.crtCrypt(RSACore.java:165)
      at sun.security.rsa.RSACore.rsa(RSACore.java:110)
      at sun.security.rsa.RSASignature.engineSign(RSASignature.java:177)
      at java.security.Signature$Delegate.engineSign(Signature.java:1180)
      at java.security.Signature.sign(Signature.java:553)
      at oracle.idm.gateway.grs.token.impl.TokenUtils.sign(TokenUtils.java:155)
      at oracle.idm.gateway.grs.token.impl.AToken.sign(AToken.java:476)
      at oracle.idm.gateway.grs.token.impl.TokenUtils.createAToken(TokenUtils.java:639)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              shadowbug Shadow Bug
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: