You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@beehive.apache.org by Carlin Rogers <ca...@gmail.com> on 2006/08/03 18:10:16 UTC

Re: Deadlocks in HttpSessionMutexListener

Hi Srinivas,

Yes, that's what I was asking. Are you seeing the deadlock and stack trace
under a simulated load using some load testing software? I was just curious
how likely it was for you to see the concurrent requests. The locks or
synchronization in the NetUI code are only on objects from the user's
session... a mutex object and the current page flow. Any thoughts about what
conditions were when the deadlock occurred. Were you seeing the deadlock
under simulated load using the load testing software? Just curious.

>From your other questions on a previous email...
1) Yes, I think you need to have the INCLUDE in the filter-mapping for
PageFlowJspFilter in web.xml.

2) Correct, using a jsp tag files instead of jsp:includes will not have this
problem. This would be a good work around until you pick up the fix.

I have submitted a change into the Apache svn repository for beehive for
BEEHIVE-1135.

If you are able to build the NetUI jars from svn and test, please let me
know if the fix works for you.

Kind regards,
Carlin

On 7/21/06, Srinivas Surapaneni <sr...@comcast.net> wrote:
>
> Hi Carlin
>
> Can you clarify on your question below
>
> is it likely you will get these concurrent
> requests to this page flow controller from the user?
>
> It is not likely concurrent requests will come to the same pageflow
> controller from the same user session. This will happen only if the user
> do
> a double submit or refresh the browser without completing the first
> request.
>
> Is that you are asking?
>
> Thank You
> Srinivas Surapaneni
>
>
>
> -----Original Message-----
> From: Carlin Rogers [mailto:carlin.rogers@gmail.com]
> Sent: Friday, July 21, 2006 4:13 PM
> To: Beehive Users
> Subject: Re: Deadlocks in HttpSessionMutexListener
>
> Sorry, missed your earlier post and question...
>
> > If we run into these issues more, can we safely remove the entry in
> web.xml for > HttpSessionMutexListener?
> >
> > Do we see any problems with that?
>
> I don't think removing the entry for the HttpSessionMutexListener will
> help
> because the code path in your scenario will still have concurrent threads
> trying to get locks in a different order. If the HttpSessionMutexListener
> is
> not registered the DeferredSessionStorageHandler will try to lock on the
> session object itself rather than the mutex object in the session. Sorry.
>
> Carlin
>
> On 7/21/06, Carlin Rogers <ca...@gmail.com> wrote:
> >
> > Hi Srinivas,
> >
> > Seems like this is a bug. I've opened an issue in JIRA,
> > http://issues.apache.org/jira/browse/BEEHIVE-1135 .
> >
> > From your stack trace, Thread '2' has processed a request for an action
> in
> > the FinanceCompanyController. In your environment, using a portal, the
> > requests going to the PageFlowUtils.strutsLookup() which calls
> > DeferredSessionStorageHandler.applyChanges() and first gets a lock mutex
> > object for the user session. The method then tries to get a lock for the
> > current page flow object (FinanceCompanyController).
> >
> > However the lock order is reversed for Thread '0'. This thread is in the
> > PageFlowPageFilter and has got a lock on the current page flow object
> > (FinanceCompanyController). The processing of
> addeditfinancecompany.jspdoes an include. The include() for the other JSP
> goes through the
> > PageFlowPageFilter again and after processing the included JSP it tries
> to
> > save some page flow session-scoped state. That's the call to
> > DeferredSessionStorageHandler.applyChanges () which waits for the mutex
> > object  of the user session.
> >
> > Any chance you can avoid the JSP include as a temporary workaround until
> > the bug is fixed? Or is it likely you will get these concurrent requests
> to
> > this page flow controller from the user?
> >
> > Hope the explanation helps. Kind regards,
> > Carlin
> >
> >
> > On 7/20/06, Carlin Rogers <carlin.rogers@gmail.com > wrote:
> > >
> > > Hi Srinivas,
> > >
> > > Thanks for the reply and for sending along the stack trace. I can take
> a
> > > look at this and the locking code tomorrow to see if there's an
> ordering
> > > problem causing the deadlock.
> > >
> > > Kind regards,
> > > Carlin
> > >
> > >
> > > On 7/20/06, Srinivas Surapaneni < srinivas-s@comcast.net> wrote:
> > > >
> > > > Hi Carlin,
> > > >
> > > > The included jsp is part of the same pageflow
> > > >
> > > > I saw this only on a WLP 9.2 running on Redhat Linux 4.0
> > > >
> > > > I did not see this on XP development machines.
> > > >
> > > > Other threads are also waiting on
> > > > DeferredSessionStorageHandler.applyChanges
> > > >
> > > > Thank You
> > > > Srinivas Surapaneni
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Carlin Rogers [mailto: carlin.rogers@gmail.com ]
> > > > Sent: Thursday, July 20, 2006 4:07 PM
> > > > To: Beehive Users
> > > > Subject: Re: Deadlocks in HttpSessionMutexListener
> > > >
> > > > Hi Srinivas,
> > > >
> > > > I've not seen this deadlock before. Can you provide some detail
> about
> > > > what
> > > > the cocurrent threads are doing. From the stack trace, there is a
> JSP
> > > > which
> > > > is doing an include of another JSP, correct, and waiting for the
> lock?
> > > > Are
> > > > the JSP associated with the saem page flows, different page flows,
> or
> > > > is one
> > > > not associated with a page flow. Do you have information about the
> > > > other
> > > > thread with the lock?
> > > >
> > > > Thanks,
> > > > Carlin
> > > >
> > > > On 7/20/06, srinivas-s@comcast.net < srinivas-s@comcast.net> wrote:
> > > > >
> > > > > We are seeing deadlocks around HttpSessionMutexListener
> > > > >
> > > > > Has anyone sees this behavior?
> > > > >
> > > > > [deadlocked thread] [ACTIVE] ExecuteThread: '0' for queue: '
> > > > > weblogic.kernel.Default (self-tuning)':
> > > > >
> > > > >
> > > >
> > > >
>
> ----------------------------------------------------------------------------
> > > > ----------------------
> > > > > Thread '[ACTIVE] ExecuteThread: '0' for queue:
> > > > 'weblogic.kernel.Default(self-tuning)'' is waiting to acquire lock '
> > > > >
> > > >
> org.apache.beehive.netui.pageflow.HttpSessionMutexListener$Mutex@ef04160
> > > > '
> > > > > that is held by thread '[ACTIVE] ExecuteThread: '2' for queue: '
> > > > > weblogic.kernel.Default (self-tuning)''
> > > > > Stack trace:
> > > > > ------------
> > > > > jrockit.vm.Threads.shortNap(Native Method)
> > > > > jrockit.vm.Locks.waitForThinRelease(Unknown Source)
> > > > > jrockit.vm.Locks.monitorEnterSecondStage (Unknown Source)
> > > > > jrockit.vm.Locks.monitorEnter(Unknown Source)
> > > > >
> > > > >
> > > >
> > > >
>
> org.apache.beehive.netui.pageflow.internal.DeferredSessionStorageHandler.app
> > > > lyChanges
> > > > > (DeferredSessionStorageHandler.java :203)
> > > > > org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(
> > > > > PageFlowPageFilter.java:281)
> > > > > weblogic.servlet.internal.FilterChainImpl.doFilter(
> > > > FilterChainImpl.java
> > > > > :42)
> > > > > weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet (
> > > > > RequestDispatcherImpl.java:497)
> > > > > weblogic.servlet.internal.RequestDispatcherImpl.include(
> > > > > RequestDispatcherImpl.java:427)
> > > > >
> weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:152)
> > > > >
> > > > >
> > > >
> > > >
>
> jsp_servlet._pageflows._partyconfiguration._financecompany.__addeditfinancec
> > > > ompany._jspService(__addeditfinancecompany.java:292)
> > > > > weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
> > > > >
> > > >
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(
> > > > > StubSecurityHelper.java:225)
> > > > > weblogic.servlet.internal.StubSecurityHelper.invokeServlet(
> > > > > StubSecurityHelper.java:127)
> > > > > weblogic.servlet.internal.ServletStubImpl.execute(
> > > > ServletStubImpl.java
> > > > > :283)
> > > > > weblogic.servlet.internal.ServletStubImpl.onAddToMapException(
> > > > > ServletStubImpl.java:391)
> > > > > weblogic.servlet.internal.ServletStubImpl.execute (
> > > > ServletStubImpl.java
> > > > > :309)
> > > > > weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
> > > > > weblogic.servlet.internal.FilterChainImpl.doFilter(
> > > > FilterChainImpl.java
> > > > > :42)
> > > > > org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage (
> > > > > PageFlowPageFilter.java:347)
> > > > > org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(
> > > > > PageFlowPageFilter.java:251)
> > > > > weblogic.servlet.internal.FilterChainImpl.doFilter(
> > > > FilterChainImpl.java
> > > > > :42)
> > > > > weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(
> > > > > RequestDispatcherImpl.java:497)
> > > > > weblogic.servlet.internal.RequestDispatcherImpl.include(
> > > > > RequestDispatcherImpl.java :427)
> > > > >
> > > >
> > > > --
> > > > No virus found in this incoming message.
> > > > Checked by AVG Free Edition.
> > > > Version: 7.1.394 / Virus Database: 268.10.3/394 - Release Date:
> > > > 7/20/2006
> > > >
> > > >
> > > > --
> > > > No virus found in this outgoing message.
> > > > Checked by AVG Free Edition.
> > > > Version: 7.1.394 / Virus Database: 268.10.3/394 - Release Date:
> > > > 7/20/2006
> > > >
> > > >
> > > >
> > >
> >
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.394 / Virus Database: 268.10.3/394 - Release Date: 7/20/2006
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.394 / Virus Database: 268.10.3/394 - Release Date: 7/20/2006
>
>
>

Re: Deadlocks in HttpSessionMutexListener

Posted by JLiew <jo...@citi.com>.
Carlin,

Thanks for the quick response. This occured once a month and I still can
seem to find a way to reproduce it. It only happens on the production
environment. I will try to reproduce this scenario and let you know how this
is occuring.

I think it has something to do with multiple iframe accessing the same page.
Will update you when I find more information.

Thanks.
John Liew


Carlin Rogers-2 wrote:
> 
> John,
> 
> I,m not sure I see why you're experiencing this behavior. In this case
> it is not obvious and without any knowledge about what your app is
> doing it is difficult to say. It may be a bug in the Faces / NetUI
> Page Flow integration though I honestly can't tell.
> 
> Both threads seem to show that the locking order is reversed from what
> is expected (lock on Session Mutex then lock on Page Flow Controller)
> and in addition thread 277 is trying to lock a second and different
> instance of the UserProfileController than the one it already has a
> lock on. Seems odd.
> 
> From the stack trace, this is what appears to be going on... I think...
> 
> Thread 280 looks like it is handling a request for a faces page. It
> locks on the associated Controller (a
> portlets.admin.userlifecycle.UserProfileController - 0xbf42f380). Then
> the Faces /NetUI integration raises a Page Flow action for the JSF
> page (via a request dispatcher forward). After the action has been
> executed, the PageFlowRequestProcessor tries to update the session so
> it tries to get the Session Mutex lock... but waits in a deadlock
> because...
> 
> Thread 277 is also handing a request for a faces page (same page?). It
> locks on the associated Controller (a
> portlets.admin.userlifecycle.UserProfileController - 0xbf950570)... a
> different instance than the one from thread 280 (this seems odd for
> two concurrent thread requests from the same user session). So it does
> not wait for the other thread. It gets a lock on this instance and the
> Faces /NetUI integration raises a Page Flow action for the JSF page,
> like thread 280. After the action has been executed, the
> PageFlowRequestProcessor tries to update the session. It is the first
> to get the Session Mutex. It then tries to get a lock on the current
> Controller. At this point this request tries to get a lock on the
> instance of UserProfileController that thread 280 has a lock on -
> 0xbf42f380 - and not the instance this thread already got a lock on.
> Deadlock.
> 
> Any details about the application or use scenario that might help?
> 
> Kind regards,
> Carlin
> 
> On 10/30/07, JLiew <jo...@citi.com> wrote:
>>
>> Carlin,
>>
>> I'm seeing another instance of deadlock in HttpSessionMutexListener.
>> I'm using release 1.0.2. Any idea what's going on?
>>
>> Below are the details and stack trace:
>>
>> "ExecuteThread: '280' for queue: 'default'" daemon prio=1 tid=0x08636268
>> nid=0xd71 waiting for monitor entry [0x6e873000..0x6e874470]
>>         at
>> org.apache.beehive.netui.pageflow.internal.DeferredSessionStorageHandler.applyChanges(DeferredSessionStorageHandler.java:2
>> 04)
>>         - waiting to lock <0xb4642f50> (a
>> org.apache.beehive.netui.pageflow.HttpSessionMutexListener$Mutex)
>>         at
>> com.bea.portlet.adapter.scopedcontent.ScopedContentStorageHandler.applyChanges(ScopedContentStorageHandler.java:73)
>>         at
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:863)
>>         at
>> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
>>         at
>> org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
>>         at
>> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>>         at
>> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>>         at
>> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>>         at
>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>>         at
>> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:501)
>>         at
>> weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
>>         at
>> org.apache.beehive.netui.pageflow.faces.internal.PageFlowNavigationHandler.handleNavigation(PageFlowNavigationHandler.java
>> :110)
>>         at
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:89)
>>         at
>> org.apache.beehive.netui.pageflow.faces.internal.PageFlowActionListener.processAction(PageFlowActionListener.java:60)
>>         at javax.faces.component.UICommand.broadcast(UICommand.java:312)
>>         at
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
>>         at
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
>>         at
>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
>>         at
>> com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
>>         at
>> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
>>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>         at
>> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>>         at
>> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>>         at
>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>>         at
>> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:385)
>>         - locked <0xbf42f380> (a
>> portlets.admin.userlifecycle.UserProfileController)
>>         at
>> org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> com.citi.gpb.portal.admin.filter.AdminAuthenticationFilter.doFilter(AdminAuthenticationFilter.java:167)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:183)
>>         at
>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
>>         at
>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>>         at
>> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>>         at
>> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
>>         at
>> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
>>         at
>> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
>>         at
>> weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
>>         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
>>         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
>>
>> "ExecuteThread: '277' for queue: 'default'" daemon prio=1 tid=0x08633598
>> nid=0xd6e waiting for monitor entry [0x6e9f6000..0x6e9f76f0]
>>         at
>> org.apache.beehive.netui.pageflow.internal.DeferredSessionStorageHandler.applyChanges(DeferredSessionStorageHandler.java:233)
>>         - waiting to lock <0xbf42f380> (a
>> portlets.admin.userlifecycle.UserProfileController)
>>         - locked <0xb4642f50> (a
>> org.apache.beehive.netui.pageflow.HttpSessionMutexListener$Mutex)
>>         at
>> com.bea.portlet.adapter.scopedcontent.ScopedContentStorageHandler.applyChanges(ScopedContentStorageHandler.java:73)
>>         at
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:863)
>>         at
>> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
>>         at
>> org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
>>         at
>> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>>         at
>> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>>         at
>> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>>         at
>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>>         at
>> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:501)
>>         at
>> weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
>>         at
>> org.apache.beehive.netui.pageflow.faces.internal.PageFlowNavigationHandler.handleNavigation(PageFlowNavigationHandler.java:110
>> )
>>         at
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:89)
>>         at
>> org.apache.beehive.netui.pageflow.faces.internal.PageFlowActionListener.processAction(PageFlowActionListener.java:60)
>>         at javax.faces.component.UICommand.broadcast(UICommand.java:312)
>>         at
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
>>         at
>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
>>         at
>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
>>         at
>> com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
>>         at
>> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
>>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>         at
>> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>>         at
>> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>>         at
>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>>         at
>> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:385)
>>         - locked <0xbf950570> (a
>> portlets.admin.userlifecycle.UserProfileController)
>>         at
>> org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> com.citi.gpb.portal.admin.filter.AdminAuthenticationFilter.doFilter(AdminAuthenticationFilter.java:167)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:183)
>>         at
>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
>>         at
>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>         at
>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
>>         at
>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>>         at
>> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>>         at
>> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
>>         at
>> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
>>         at
>> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
>>         at
>> weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
>>         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
>>         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Deadlocks-in-HttpSessionMutexListener-tf1976622.html#a13494691
>> Sent from the Beehive - User mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Deadlocks-in-HttpSessionMutexListener-tf1976622.html#a13510113
Sent from the Beehive - User mailing list archive at Nabble.com.


Re: Deadlocks in HttpSessionMutexListener

Posted by Carlin Rogers <ca...@gmail.com>.
John,

I,m not sure I see why you're experiencing this behavior. In this case
it is not obvious and without any knowledge about what your app is
doing it is difficult to say. It may be a bug in the Faces / NetUI
Page Flow integration though I honestly can't tell.

Both threads seem to show that the locking order is reversed from what
is expected (lock on Session Mutex then lock on Page Flow Controller)
and in addition thread 277 is trying to lock a second and different
instance of the UserProfileController than the one it already has a
lock on. Seems odd.

>From the stack trace, this is what appears to be going on... I think...

Thread 280 looks like it is handling a request for a faces page. It
locks on the associated Controller (a
portlets.admin.userlifecycle.UserProfileController - 0xbf42f380). Then
the Faces /NetUI integration raises a Page Flow action for the JSF
page (via a request dispatcher forward). After the action has been
executed, the PageFlowRequestProcessor tries to update the session so
it tries to get the Session Mutex lock... but waits in a deadlock
because...

Thread 277 is also handing a request for a faces page (same page?). It
locks on the associated Controller (a
portlets.admin.userlifecycle.UserProfileController - 0xbf950570)... a
different instance than the one from thread 280 (this seems odd for
two concurrent thread requests from the same user session). So it does
not wait for the other thread. It gets a lock on this instance and the
Faces /NetUI integration raises a Page Flow action for the JSF page,
like thread 280. After the action has been executed, the
PageFlowRequestProcessor tries to update the session. It is the first
to get the Session Mutex. It then tries to get a lock on the current
Controller. At this point this request tries to get a lock on the
instance of UserProfileController that thread 280 has a lock on -
0xbf42f380 - and not the instance this thread already got a lock on.
Deadlock.

Any details about the application or use scenario that might help?

Kind regards,
Carlin

On 10/30/07, JLiew <jo...@citi.com> wrote:
>
> Carlin,
>
> I'm seeing another instance of deadlock in HttpSessionMutexListener.
> I'm using release 1.0.2. Any idea what's going on?
>
> Below are the details and stack trace:
>
> "ExecuteThread: '280' for queue: 'default'" daemon prio=1 tid=0x08636268
> nid=0xd71 waiting for monitor entry [0x6e873000..0x6e874470]
>         at
> org.apache.beehive.netui.pageflow.internal.DeferredSessionStorageHandler.applyChanges(DeferredSessionStorageHandler.java:2
> 04)
>         - waiting to lock <0xb4642f50> (a
> org.apache.beehive.netui.pageflow.HttpSessionMutexListener$Mutex)
>         at
> com.bea.portlet.adapter.scopedcontent.ScopedContentStorageHandler.applyChanges(ScopedContentStorageHandler.java:73)
>         at
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:863)
>         at
> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
>         at
> org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
>         at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>         at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>         at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>         at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:501)
>         at
> weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
>         at
> org.apache.beehive.netui.pageflow.faces.internal.PageFlowNavigationHandler.handleNavigation(PageFlowNavigationHandler.java
> :110)
>         at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:89)
>         at
> org.apache.beehive.netui.pageflow.faces.internal.PageFlowActionListener.processAction(PageFlowActionListener.java:60)
>         at javax.faces.component.UICommand.broadcast(UICommand.java:312)
>         at
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
>         at
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
>         at
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
>         at
> com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
>         at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>         at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>         at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>         at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:385)
>         - locked <0xbf42f380> (a
> portlets.admin.userlifecycle.UserProfileController)
>         at
> org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> com.citi.gpb.portal.admin.filter.AdminAuthenticationFilter.doFilter(AdminAuthenticationFilter.java:167)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:183)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
>         at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>         at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>         at
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
>         at
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
>         at
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
>         at
> weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
>         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
>         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
>
> "ExecuteThread: '277' for queue: 'default'" daemon prio=1 tid=0x08633598
> nid=0xd6e waiting for monitor entry [0x6e9f6000..0x6e9f76f0]
>         at
> org.apache.beehive.netui.pageflow.internal.DeferredSessionStorageHandler.applyChanges(DeferredSessionStorageHandler.java:233)
>         - waiting to lock <0xbf42f380> (a
> portlets.admin.userlifecycle.UserProfileController)
>         - locked <0xb4642f50> (a
> org.apache.beehive.netui.pageflow.HttpSessionMutexListener$Mutex)
>         at
> com.bea.portlet.adapter.scopedcontent.ScopedContentStorageHandler.applyChanges(ScopedContentStorageHandler.java:73)
>         at
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:863)
>         at
> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
>         at
> org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
>         at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>         at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>         at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>         at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:501)
>         at
> weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
>         at
> org.apache.beehive.netui.pageflow.faces.internal.PageFlowNavigationHandler.handleNavigation(PageFlowNavigationHandler.java:110
> )
>         at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:89)
>         at
> org.apache.beehive.netui.pageflow.faces.internal.PageFlowActionListener.processAction(PageFlowActionListener.java:60)
>         at javax.faces.component.UICommand.broadcast(UICommand.java:312)
>         at
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
>         at
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
>         at
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
>         at
> com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
>         at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>         at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>         at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>         at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:385)
>         - locked <0xbf950570> (a
> portlets.admin.userlifecycle.UserProfileController)
>         at
> org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> com.citi.gpb.portal.admin.filter.AdminAuthenticationFilter.doFilter(AdminAuthenticationFilter.java:167)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:183)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>         at
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
>         at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>         at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>         at
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
>         at
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
>         at
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
>         at
> weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
>         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
>         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
>
>
> --
> View this message in context: http://www.nabble.com/Deadlocks-in-HttpSessionMutexListener-tf1976622.html#a13494691
> Sent from the Beehive - User mailing list archive at Nabble.com.
>
>

Re: Deadlocks in HttpSessionMutexListener

Posted by JLiew <jo...@citi.com>.
Carlin,

I'm seeing another instance of deadlock in HttpSessionMutexListener.
I'm using release 1.0.2. Any idea what's going on?

Below are the details and stack trace:

"ExecuteThread: '280' for queue: 'default'" daemon prio=1 tid=0x08636268
nid=0xd71 waiting for monitor entry [0x6e873000..0x6e874470]
        at
org.apache.beehive.netui.pageflow.internal.DeferredSessionStorageHandler.applyChanges(DeferredSessionStorageHandler.java:2
04)
        - waiting to lock <0xb4642f50> (a
org.apache.beehive.netui.pageflow.HttpSessionMutexListener$Mutex)
        at
com.bea.portlet.adapter.scopedcontent.ScopedContentStorageHandler.applyChanges(ScopedContentStorageHandler.java:73)
        at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:863)
        at
org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
        at
org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
        at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
        at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:501)
        at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
        at
org.apache.beehive.netui.pageflow.faces.internal.PageFlowNavigationHandler.handleNavigation(PageFlowNavigationHandler.java
:110)
        at
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:89)
        at
org.apache.beehive.netui.pageflow.faces.internal.PageFlowActionListener.processAction(PageFlowActionListener.java:60)
        at javax.faces.component.UICommand.broadcast(UICommand.java:312)
        at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
        at
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
        at
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
        at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
        at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
        at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:385)
        - locked <0xbf42f380> (a
portlets.admin.userlifecycle.UserProfileController)
        at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
com.citi.gpb.portal.admin.filter.AdminAuthenticationFilter.doFilter(AdminAuthenticationFilter.java:167)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:183)
        at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
        at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
        at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
        at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
        at
weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

"ExecuteThread: '277' for queue: 'default'" daemon prio=1 tid=0x08633598
nid=0xd6e waiting for monitor entry [0x6e9f6000..0x6e9f76f0]
        at
org.apache.beehive.netui.pageflow.internal.DeferredSessionStorageHandler.applyChanges(DeferredSessionStorageHandler.java:233)
        - waiting to lock <0xbf42f380> (a
portlets.admin.userlifecycle.UserProfileController)
        - locked <0xb4642f50> (a
org.apache.beehive.netui.pageflow.HttpSessionMutexListener$Mutex)
        at
com.bea.portlet.adapter.scopedcontent.ScopedContentStorageHandler.applyChanges(ScopedContentStorageHandler.java:73)
        at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:863)
        at
org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
        at
org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
        at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
        at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:501)
        at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
        at
org.apache.beehive.netui.pageflow.faces.internal.PageFlowNavigationHandler.handleNavigation(PageFlowNavigationHandler.java:110
)
        at
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:89)
        at
org.apache.beehive.netui.pageflow.faces.internal.PageFlowActionListener.processAction(PageFlowActionListener.java:60)
        at javax.faces.component.UICommand.broadcast(UICommand.java:312)
        at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
        at
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
        at
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
        at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
        at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
        at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:385)
        - locked <0xbf950570> (a
portlets.admin.userlifecycle.UserProfileController)
        at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
com.citi.gpb.portal.admin.filter.AdminAuthenticationFilter.doFilter(AdminAuthenticationFilter.java:167)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:183)
        at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
        at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
        at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
        at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
        at
weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)


-- 
View this message in context: http://www.nabble.com/Deadlocks-in-HttpSessionMutexListener-tf1976622.html#a13494691
Sent from the Beehive - User mailing list archive at Nabble.com.