Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-475

localhost:8080 in an <a> tag causes a string index out of range exception

    XMLWordPrintable

Details

    Description

      when using h:outputlink with a value of "http://localhost:8080/xxx/yyy.xhtml" Wildfly will generate the following:

      java.lang.StringIndexOutOfBoundsException: String index out of range: -14 at java.lang.String.substring(String.java:1918) at io.undertow.server.session.PathParameterSessionConfig.rewriteUrl(PathParameterSessionConfig.java:96) at io.undertow.servlet.spec.SessionCookieConfigImpl.rewriteUrl(SessionCookieConfigImpl.java:44) at org.wildfly.extension.undertow.session.CodecSessionConfig.rewriteUrl(CodecSessionConfig.java:74) at io.undertow.servlet.spec.ServletContextImpl$IgnoreInvalidatedSessionConfig.rewriteUrl(ServletContextImpl.java:1001) at io.undertow.servlet.spec.HttpServletResponseImpl.encodeURL(HttpServletResponseImpl.java:580) at org.apache.myfaces.context.servlet.ServletExternalContextImpl.encodeResourceURL(ServletExternalContextImpl.java:365) at org.apache.myfaces.shared.renderkit.html.HtmlLinkRendererBase.renderOutputLinkStart(HtmlLinkRendererBase.java:889) at org.apache.myfaces.shared.renderkit.html.HtmlLinkRendererBase.encodeBegin(HtmlLinkRendererBase.java:149) at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:596) at javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:526) at javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:550) at javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:550) at javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:550) at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1891) at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:313) at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:58) at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:169) at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:58) at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:58) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:267) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:200) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51) 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:56) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72) at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) 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 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:274) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:253) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

      if I change the port to anything else, it generates the page correctly.

      Attachments

        Activity

          People

            sdouglas1@redhat.com Stuart Douglas
            danpoleary_jira Daniel O'Leary (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: