ICEfaces
  1. ICEfaces
  2. ICE-6239

weld BusyConversationException: WELD-000302 Interrupted while trying to acquire lock

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta2
    • Fix Version/s: 2.0.0
    • Component/s: Bridge
    • Labels:
      None
    • Environment:
      ICEfaces 2.0, CDI/Weld

      Description


      When a conversation is started and a page redirect is invoked, the following Exception is observed:


      org.jboss.weld.context.BusyConversationException: WELD-000302 Interrupted while trying to acquire lock
      at org.jboss.weld.conversation.AbstractConversationManager.beginOrRestoreConversation(AbstractConversationManager.java:116)
      at sun.reflect.GeneratedMethodAccessor147.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:304)
      at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
      at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
      at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:298)
      at org.jboss.weld.bean.proxy.ClientProxyMethodHandler.invoke(ClientProxyMethodHandler.java:113)
      at org.jboss.weld.util.CleanableMethodHandler.invoke(CleanableMethodHandler.java:43)
      at org.jboss.weld.conversation.ServletConversationManager_$$_javassist_280.beginOrRestoreConversation(ServletConversationManager_$$_javassist_280.java)
      at org.jboss.weld.jsf.WeldPhaseListener.initiateSessionAndConversation(WeldPhaseListener.java:171)
      at org.jboss.weld.jsf.WeldPhaseListener.beforeRestoreView(WeldPhaseListener.java:118)
      at org.jboss.weld.jsf.WeldPhaseListener.beforePhase(WeldPhaseListener.java:87)
      at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
      at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
      at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
      at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
      at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
      at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
      at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
      at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
      at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
      at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
      at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
      at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
      at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
      at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
      at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
      at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
      at java.lang.Thread.run(Thread.java:680)

        Activity

        Hide
        Ted Goddard added a comment -

        This appears to be due to the interaction of CDI with the ice.dispose.window message:

        POST /jsf/faces/page.xhtml?cid=2 HTTP/1.1
        Host: localhost:8080
        Connection: keep-alive
        Referer: http://localhost:8080/jsf/
        Content-Length: 120
        Origin: http://localhost:8080
        Content-Type: application/x-www-form-urlencoded; charset=UTF-8
        Accept: /
        User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-US) AppleWebKit/534.12 (KHTML, like Gecko) Chrome/9.0.572.1 Safari/534.12
        Accept-Encoding: gzip,deflate,sdch
        Accept-Language: en-US,en;q=0.8
        Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
        Cookie: JSESSIONID=d140a806a5d04b0f772a1cca62b9

        ice.submit.type=ice.dispose.window&ice.window=kygge7vudi&javax.faces.ViewState=8425038399561906550%3A4345610066299694664

        Show
        Ted Goddard added a comment - This appears to be due to the interaction of CDI with the ice.dispose.window message: POST /jsf/faces/page.xhtml?cid=2 HTTP/1.1 Host: localhost:8080 Connection: keep-alive Referer: http://localhost:8080/jsf/ Content-Length: 120 Origin: http://localhost:8080 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Accept: / User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-US) AppleWebKit/534.12 (KHTML, like Gecko) Chrome/9.0.572.1 Safari/534.12 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Cookie: JSESSIONID=d140a806a5d04b0f772a1cca62b9 ice.submit.type=ice.dispose.window&ice.window=kygge7vudi&javax.faces.ViewState=8425038399561906550%3A4345610066299694664
        Hide
        Ted Goddard added a comment -

        Root cause with CDI interaction was not determined; however, there is no need for CDI to participate in window disposal. Removing the "cid" parameter from the URL was sufficient for this.

        CDI may not interact well with push for similar reasons.

        Lazy window scope would reduce the impact of this to scenarios where window scope beans are present, but would still leave an incompatibility between window scope and CDI.

        Show
        Ted Goddard added a comment - Root cause with CDI interaction was not determined; however, there is no need for CDI to participate in window disposal. Removing the "cid" parameter from the URL was sufficient for this. CDI may not interact well with push for similar reasons. Lazy window scope would reduce the impact of this to scenarios where window scope beans are present, but would still leave an incompatibility between window scope and CDI.

          People

          • Assignee:
            Ted Goddard
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: