Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-20014

[GSS](7.3.z) Thread stuck at future.get when using picketlink

    XMLWordPrintable

    Details

    • Target Release:
    • Steps to Reproduce:
      Hide
      • Configure a SP/IdP configuration as in documentation.
      • Compile and execute the attached HttpSocketRequest.java against the SP app:
        javac HttpSocketRequest.java
        java HttpSocketRequest http://localhost:8080/sp-app/sample.jsp
        
      • The java just sends a POST with fake saml response but it closes the socket before sending all the data. Besides the data is sent very slow (1s) to make the server reach the future.get line. At this moment a thread should be hung at the future.get line. You can use a jstack to see it. You can execute the java several times to see several hung threads.
      Show
      Configure a SP/IdP configuration as in documentation . Compile and execute the attached HttpSocketRequest.java against the SP app: javac HttpSocketRequest.java java HttpSocketRequest http://localhost:8080/sp-app/sample.jsp The java just sends a POST with fake saml response but it closes the socket before sending all the data. Besides the data is sent very slow (1s) to make the server reach the future.get line. At this moment a thread should be hung at the future.get line. You can use a jstack to see it. You can execute the java several times to see several hung threads.
    • QE Test Coverage:
      +

      Description

      Customer has threads stuck at future get when using picketlink, for example:

      default task-43344" #1730110 prio=5 os_prio=0 tid=0x0000000015e4e800 nid=0x4e73 waiting on condition [0x00007f942c958000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for [<0x000000060b67cb08>|monitor://<0x000000060b67cb08>] (a java.util.concurrent.CompletableFuture$Signaller) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1693) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323) at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1729) at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895) at org.picketlink.identity.federation.bindings.wildfly.sp.SPFormAuthenticationMechanism.authenticate(SPFormAuthenticationMechanism.java:420) at io.undertow.security.impl.SecurityContextImpl$AuthAttempter.transition(SecurityContextImpl.java:245) at io.undertow.security.impl.SecurityContextImpl$AuthAttempter.transition(SecurityContextImpl.java:268) at io.undertow.security.impl.SecurityContextImpl$AuthAttempter.access$100(SecurityContextImpl.java:231) at io.undertow.security.impl.SecurityContextImpl.attemptAuthentication(SecurityContextImpl.java:125) at io.undertow.security.impl.SecurityContextImpl.authTransition(SecurityContextImpl.java:99) at io.undertow.security.impl.SecurityContextImpl.authenticate(SecurityContextImpl.java:92) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:55) at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              rhn-support-rmartinc Ricardo Martin Camarero
              Reporter:
              bmaxwell Brad Maxwell
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: