ICEfaces
  1. ICEfaces
  2. ICE-11278

"[STUCK] ExecuteThread: at org.icefaces.util.FocusController.getReceivedFocus(FocusController.java:42)

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA
    • Fix Version/s: EE-4.2.0.GA, EE-3.3.0.GA_P05
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Production

      Description

      "[STUCK] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'" Id=947 RUNNABLE
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
      at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.matchInit(Pattern.java:4804)
      at java.util.regex.Pattern$Prolog.match(Pattern.java:4741)
      at java.util.regex.Pattern$Begin.match(Pattern.java:3525)
      at java.util.regex.Matcher.match(Matcher.java:1270)
      at java.util.regex.Matcher.matches(Matcher.java:604)
      at org.icefaces.util.FocusController.getReceivedFocus(FocusController.java:42)
      at org.icefaces.impl.context.DOMPartialViewContext.manageFocus(DOMPartialViewContext.java:697)
      at org.icefaces.impl.context.DOMPartialViewContext.renderExtensions(DOMPartialViewContext.java:692)
      at com.icesoft.faces.context.CompatDOMPartialViewContext.renderExtensions(CompatDOMPartialViewContext.java:42)
      at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:264)
      at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:973)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
      at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:422)
      at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at com.fedex.security.filters.RemoteHostFilter.doFilter(RemoteHostFilter.java:121)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at com.fedex.pricing.eprs.gui.web.mbp.servlet.filter.EprsGatewayFilter.doFilter(EprsGatewayFilter.java:95)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
      at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
      at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
      at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

        Activity

        Hide
        Mircea Toma added a comment - - edited

        This Stackoverflow thread http://stackoverflow.com/questions/19990609/regex-gone-wild-java-util-regex-pattern-matcher-goes-into-high-cpu-loop found by Judy could be exactly the same problem with what we have in this JIRA case. Option 2) where the '*' quantifier is replaced by '*+' seems to be best suited for us.

        Show
        Mircea Toma added a comment - - edited This Stackoverflow thread http://stackoverflow.com/questions/19990609/regex-gone-wild-java-util-regex-pattern-matcher-goes-into-high-cpu-loop found by Judy could be exactly the same problem with what we have in this JIRA case. Option 2) where the '*' quantifier is replaced by '*+' seems to be best suited for us.
        Hide
        Ken Fyten added a comment -

        What is the scope of work to make the change suggested above Mircea?

        Show
        Ken Fyten added a comment - What is the scope of work to make the change suggested above Mircea?
        Hide
        Mircea Toma added a comment - - edited

        The REGEX that needs to be changed is in FocusController class. I just need to verify that the REGEX still works as intended.

        Show
        Mircea Toma added a comment - - edited The REGEX that needs to be changed is in FocusController class. I just need to verify that the REGEX still works as intended.
        Hide
        Krishna Kumar added a comment -

        Hello Mircea,

        Is it something that do we have to take care from our end to resolve this issue or you are going to fix in FocusController class and provide patch version .

        Thanks,
        Krishna.

        Show
        Krishna Kumar added a comment - Hello Mircea, Is it something that do we have to take care from our end to resolve this issue or you are going to fix in FocusController class and provide patch version . Thanks, Krishna.
        Hide
        Mircea Toma added a comment -

        Confirmed localy that client IDs such as findAHealthProvider:findProfCmd:commandButtonqfk6uqcagd??979zwxaz45 or searchBenefitsFieldSetFormulary:qqk8nq4936m8k6342vt2fj47byhqbe42wpzdo.burpcollaborator.net/?formularySearchCriteriaForm:j_idt229:commandButton will cause the REGEX used by FocusController to run into catastrophic backtracking.

        Tested and applied fix for the REGEX expression.

        Show
        Mircea Toma added a comment - Confirmed localy that client IDs such as findAHealthProvider:findProfCmd:commandButtonqfk6uqcagd??979zwxaz45 or searchBenefitsFieldSetFormulary:qqk8nq4936m8k6342vt2fj47byhqbe42wpzdo.burpcollaborator.net/?formularySearchCriteriaForm:j_idt229:commandButton will cause the REGEX used by FocusController to run into catastrophic backtracking. Tested and applied fix for the REGEX expression.
        Hide
        Krishna Kumar added a comment -

        Thanks a lot for looking into this .

        Show
        Krishna Kumar added a comment - Thanks a lot for looking into this .
        Hide
        Judy Guglielmin added a comment -

        info back from support case client is that this issue can be closed.

        Show
        Judy Guglielmin added a comment - info back from support case client is that this issue can be closed.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Krishna Kumar
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: