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

HTTP request fails when sessionId url parameter is set

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Blocker
    • None
    • 7.3.5.CR1
    • Undertow
    • None
    • False
    • False
    • Undefined
    • Hide
      git clone git@gitlab.mw.lab.eng.bos.redhat.com:jbossqe-eap/tests-management.git
      cd integration-tests
      mvn clean verify -Dtestplan -DnoTestNG -Dit.test=org/jboss/qa/management/web/SslHeaderHandlerIT.java -Djboss.home=<PATH_TO_EAP>
      
      Show
      git clone git@gitlab.mw.lab.eng.bos.redhat.com:jbossqe-eap/tests-management.git cd integration-tests mvn clean verify -Dtestplan -DnoTestNG -Dit.test=org/jboss/qa/management/web/SslHeaderHandlerIT.java -Djboss.home=<PATH_TO_EAP>

    Description

      When HTTP GET contains query parameter &sessionId as a part of the URL this request fails with a response code 500.

      NullPointerException is present in the log:

      ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /read-ssl-connection-handler/: java.lang.NullPointerException
      	at io.undertow.util.FlexBase64.encodeString(FlexBase64.java:149)
      	at org.jboss.qa.management.web.resources.ReadSslConnectionInfoHandler.handleRequest(ReadSslConnectionInfoHandler.java:56)
      	at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:93)
      	at org.wildfly.extension.undertow.deployment.RewriteCorrectingHandlerWrappers$PreWrapper$1.handleRequest(RewriteCorrectingHandlerWrappers.java:52)
      	at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
      	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
      	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
      	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
      	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
      	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
      	at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
      	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
      	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
      	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
      	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
      	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:370)
      	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348)
      	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
      	at java.lang.Thread.run(Thread.java:748)
      

      This issue can locally reproduced by the SslHeaderHandlerIT integration test which was ran here: https://eap-cp-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/eap-73x-undertow-integration-tests-rhel/104/#showFailuresLink

      We also observed similar behavior in the upstream test io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase (gitlab.cee.redhat.com:undertow-io/undertow.git) which sends HTTP GET requests. The server responds with error code 500. It seems this test fails on IBM java 1.8 only, as seen on https://eap-cp-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/eap-73x-undertow-upstream-testsuite-productized-rhel/47/#showFailuresLink.

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-lgao Lin Gao
              dcihak@redhat.com Daniel Cihak
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: