ICEfaces
  1. ICEfaces
  2. ICE-11278

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

    Details

    • Type: Bug Bug
    • Status: Closed
    • 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

        Krishna Kumar created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Assignee Mircea Toma [ mircea.toma ]
        Fix Version/s EE-3.3.0.GA_P05 [ 13082 ]
        Assignee Priority P2 [ 10011 ]
        Component/s Framework [ 10013 ]
        Judy Guglielmin made changes -
        Support Case References Support Case 14073:- https://icesoft.my.salesforce.com/5007000001izwx6?srPos=0&srKp=500
        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.
        Ken Fyten made changes -
        Assignee Priority P2 [ 10011 ] P1 [ 10010 ]
        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.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Mircea Toma made changes -
        Fix Version/s EE-4.2.0.GA [ 13071 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #51426 Mon Apr 17 16:24:16 MDT 2017 mircea.toma ICE-11278 Modify REGEX to avoid catastrophic backtracking.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/util/FocusController.java
        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.
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: