[ 
https://issues.apache.org/jira/browse/WICKET-311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

János Cserép updated WICKET-311:
--------------------------------

    Summary: race condition between 
wicket.session.pagemap.LeastRecentlyAccessedEvictionStrategy and 
Session.getPage()   (was: race condition between 
wicket.session.pagemap.LeastRecentlyAccessedEvictionStrategy and 
Session.getPage())

According to jconsole:



Name: httpWorkerThread-8080-0
State: BLOCKED on [EMAIL PROTECTED] owned by: httpWorkerThread-8080-1
Total blocked: 3  Total waited: 72

Stack trace: 
wicket.protocol.http.portlet.PortletRequestTargetResolverStrategy.resolve(PortletRequestTargetResolverStrategy.java:87)
wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve(AbstractCompoundRequestCycleProcessor.java:48)
wicket.RequestCycle.step(RequestCycle.java:992)
wicket.RequestCycle.steps(RequestCycle.java:1084)
wicket.RequestCycle.request(RequestCycle.java:454)
wicket.protocol.http.portlet.WicketPortlet.processAction(WicketPortlet.java:198)
com.sun.portal.portletcontainer.portletappengine.PortletAppEngineServlet.service(PortletAppEngineServlet.java:278)
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)


Name: httpWorkerThread-8080-1
State: TIMED_WAITING on [EMAIL PROTECTED]
Total blocked: 8  Total waited: 337

Stack trace: 
java.lang.Object.wait(Native Method)
wicket.Session.getPage(Session.java:427)
wicket.protocol.http.portlet.PortletRequestTargetResolverStrategy.resolveRenderedPage(PortletRequestTargetResolverStrategy.java:214)
wicket.protocol.http.portlet.PortletRequestTargetResolverStrategy.resolve(PortletRequestTargetResolverStrategy.java:135)
   - locked [EMAIL PROTECTED]
wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve(AbstractCompoundRequestCycleProcessor.java:48)
wicket.RequestCycle.step(RequestCycle.java:992)
wicket.RequestCycle.steps(RequestCycle.java:1084)
wicket.RequestCycle.request(RequestCycle.java:454)
wicket.protocol.http.portlet.WicketPortlet.processAction(WicketPortlet.java:198)
com.sun.portal.portletcontainer.portletappengine.PortletAppEngineServlet.service(PortletAppEngineServlet.java:278)



Name: httpWorkerThread-8080-2
State: BLOCKED on [EMAIL PROTECTED] owned by: httpWorkerThread-8080-1
Total blocked: 3  Total waited: 3

Stack trace: 
wicket.session.pagemap.LeastRecentlyAccessedEvictionStrategy.evict(LeastRecentlyAccessedEvictionStrategy.java:60)
wicket.Page.endVersion(Page.java:1136)
wicket.Page.internalOnDetach(Page.java:811)
wicket.Component.internalDetach(Component.java:2571)
wicket.MarkupContainer.internalDetach(MarkupContainer.java:374)
wicket.Page.internalDetach(Page.java:300)
wicket.request.target.component.PageRequestTarget.detach(PageRequestTarget.java:84)
wicket.RequestCycle.detach(RequestCycle.java:807)
wicket.RequestCycle.steps(RequestCycle.java:1102)
wicket.RequestCycle.request(RequestCycle.java:454)
wicket.protocol.http.portlet.WicketPortlet.processAction(WicketPortlet.java:198)
com.sun.portal.portletcontainer.portletappengine.PortletAppEngineServlet.service(PortletAppEngineServlet.java:278)




> race condition between 
> wicket.session.pagemap.LeastRecentlyAccessedEvictionStrategy and 
> Session.getPage() 
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-311
>                 URL: https://issues.apache.org/jira/browse/WICKET-311
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.2.3
>         Environment: Glassfish, Open Portlet Container 
>            Reporter: János Cserép
>
> I'm seeing a race condition when using PortletApplication (probably because 
> of overlapping (?) RENDER and ACTION phases)
> One thread is stopped here:
> wicket.session.pagemap.LeastRecentlyAccessedEvictionStrategy.evict(LeastRecentlyAccessedEvictionStrategy.java:60)
> wicket.Page.endVersion(Page.java:1136)
> wicket.Page.internalOnDetach(Page.java:811)
> wicket.Component.internalDetach(Component.java:2571)
> wicket.MarkupContainer.internalDetach(MarkupContainer.java:374)
> wicket.Page.internalDetach(Page.java:300)
> wicket.request.target.component.PageRequestTarget.detach(PageRequestTarget.java:84)
> wicket.RequestCycle.detach(RequestCycle.java:807)
> wicket.RequestCycle.steps(RequestCycle.java:1102)
> wicket.RequestCycle.request(RequestCycle.java:454)
> wicket.protocol.http.portlet.WicketPortlet.render(WicketPortlet.java:250)
> The other throws an exception after 1 minute here:
> wicket.WicketRuntimeException: After 1 minute the Pagemap null is still 
> locked by: Thread[httpWorkerThread-8080-0,10,Grizzly], giving up trying to 
> get the page for path: 
> 0:tabs:panel:tasklist:topToolbars:1:toolbar:span:navigator:navigation:4:pageLink
>      at wicket.Session.getPage(Session.java:440)
>      at 
> wicket.protocol.http.portlet.PortletRequestTargetResolverStrategy.resolveRenderedPage(PortletRequestTargetResolverStrategy.java:214)
>      at 
> wicket.protocol.http.portlet.PortletRequestTargetResolverStrategy.resolve(PortletRequestTargetResolverStrategy.java:135)
>      at 
> wicket.request.compound.AbstractCompoundRequestCycleProcessor.resolve(AbstractCompoundRequestCycleProcessor.java:48)
>      at wicket.RequestCycle.step(RequestCycle.java:992)
>      at wicket.RequestCycle.steps(RequestCycle.java:1084)
>      at wicket.RequestCycle.request(RequestCycle.java:454)
>      at 
> wicket.protocol.http.portlet.WicketPortlet.processAction(WicketPortlet.java:198)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to