[Building Sakai] A wicket state of affairs
Steve Swinsburg
steve.swinsburg at gmail.com
Mon Dec 13 17:49:10 PST 2010
This pagemap locking issue happens when a request takes longer than a minute (default timeout) to execute. You can sometimes see this when an AJAX request is fired, it takes a while to run, then the user goes and does something else, so that request is still trying to complete in the background but times out.
Would need a thread dump to see whats happening with Thread[TP-Processor29,5,main]
Heres a post about it:
http://apache-wicket.1842946.n4.nabble.com/After-1-minute-the-Pagemap-null-is-still-locked-td1890832.html
And one with a few solutions:
http://apache-wicket.1842946.n4.nabble.com/After-1-minute-the-Pagemap-null-is-still-locked-by-Thread-ACTIVE-td3047890.html
cheers,
Steve
On 14/12/2010, at 4:55 AM, Stephen Marquard wrote:
> Hi all,
>
> SiteStats (the version in 2.7) is prone to throwing errors like this,
> particularly on larger sites.
>
> Could anyone familiar with the internals of Wicket explain what this
> means? Is there some sort of internal Wicket tool state? I thought tool
> state was no longer cool?
>
> Cheers
> Stephen
>
> stack trace:
>
> org.sakaiproject.portal.api.PortalHandlerException:
> org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
> null is still locked by: Thread[TP-Processor29,5,main], giving up trying
> to get the page for path:
> 2:activityWidget:widget:middle:widgetTabs:tabs:0:link
> at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:835)
> caused by: org.apache.wicket.WicketRuntimeException: After 1 minute the
> Pagemap null is still locked by: Thread[TP-Processor29,5,main], giving
> up trying to get the page for path:
> 2:activityWidget:widget:middle:widgetTabs:tabs:0:link
> at org.apache.wicket.Session.getPage(Session.java:739)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:448)
> at
> org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1418)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:532)
> at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
> at
> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
> at
> org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:512)
> at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1299)
> at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
> at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
> at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:835)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:646)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
> at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Thread.java:662)
>
>
> Tool Placement:
> No Placement
>
>
> Request:
> : AuthType:null
> : CharEncoding:UTF-8
> : ContentLength:0
> : ContentType:null
> : ContextPath:/portal
> : LocalAddress:null
> : LocalName:vula.uct.ac.za
> : LocalPort:443
> : Method:GET
> : PathInfo:/tool/1c55e791-22b6-47ec-a958-36bfa07d9540/
> : Protocol:HTTP/1.1
> :
> QueryString:wicket:interface=:2:activityWidget:widget:middle:widgetTabs:tabs:0:link::IBehaviorListener:0:3&random=0.015436431160196662
> : RemoteAddress:41.185.111.55
> : RemoteHost:41.185.111.55
> : RemotePort:-1
> : Requested
> URL:https://vula.uct.ac.za/portal/tool/1c55e791-22b6-47ec-a958-36bfa07d9540/
> : Scheme:https
> : ServerName:vula.uct.ac.za
> : Headers:
> : Header:host:vula.uct.ac.za
> : Header:connection:keep-alive
> :
> Header:referer:https://vula.uct.ac.za/portal/tool/1c55e791-22b6-47ec-a958-36bfa07d9540/home/panel/Main/
> : Header:Wicket-Ajax:true
> : Header:accept:text/xml
> : Header:user-agent:Mozilla/5.0 (Windows; U; Windows NT 6.1;
> en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.215
> Safari/534.10
> : Header:Accept-Encoding:gzip,deflate,sdch
> : Header:Accept-Language:en-US,en;q=0.8
> : Header:Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
> : Header:cookie:---censored---
> : Header:content-length:0
> : Parameters:
> :
> Parameter:wicket:interface:0::2:activityWidget:widget:middle:widgetTabs:tabs:0:link::IBehaviorListener:0:3
> : Parameter:random:0:0.015436431160196662
> : Attributes:
> : Attribute:sakai.html.head.css.skin:<link
> href="/library/skin/default/tool.css" type="text/css" rel="stylesheet"
> media="all" />
>
> : Attribute:sakai.html.head.js:<script type="text/javascript"
> language="JavaScript" src="/library/js/headscripts.js"></script>
>
> :
> Attribute:sakai.character.encoding.done:sakai.character.encoding.done
> :
> Attribute:tool.url.manager:org.sakaiproject.portal.util.ToolURLManagerImpl at 2ccf5a93
> :
> Attribute:sakai.html.body.onload:setMainFrameHeight('Main1c55e791x22b6x47ecxa958x36bfa07d9540');setFocus(focus_path);
> : Attribute:sakai.html.head:<link
> href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
> media="all" />
> <link href="/library/skin/default/tool.css" type="text/css"
> rel="stylesheet" media="all" />
> <script type="text/javascript" language="JavaScript"
> src="/library/js/headscripts.js"></script>
>
> : Attribute:sakai.filtered:sakai.filtered
> : Attribute:sakai.html.head.css.base:<link
> href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
> media="all" />
>
> : Attribute:sakai.html.head.css:<link
> href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
> media="all" />
> <link href="/library/skin/default/tool.css" type="text/css"
> rel="stylesheet" media="all" />
>
> :
> Attribute:sakai.session:org.sakaiproject.tool.impl.MySession at ca8b09e3
> Session:
> : Created:1292248050843
> : LastAccess:1292248462468
> : MaxInactive:3600
> : Attributes:
> : Attribute:portalskin:defaultskin
>
>
>
>
>
> --
> Stephen Marquard, Learning Technologies Co-ordinator
> Centre for Educational Technology, University of Cape Town
> http://www.cet.uct.ac.za
> Email / IM (Jabber/XMPP): stephen.marquard at uct.ac.za
> Phone: +27-21-650-5037 Cell: +27-83-500-5290
>
>
>
>
>
> ###
> UNIVERSITY OF CAPE TOWN
>
> This e-mail is subject to the UCT ICT policies and e-mail disclaimer
> published on our website at
> http://www.uct.ac.za/about/policies/emaildisclaimer/ or obtainable from
> +27 21 650 9111. This e-mail is intended only for the person(s) to whom
> it is addressed. If the e-mail has reached you in error, please notify
> the author. If you are not the intended recipient of the e-mail you may
> not use, disclose, copy, redirect or print the content. If this e-mail
> is not related to the business of UCT it is sent by the sender in the
> sender's individual capacity.
>
> ###
>
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
More information about the sakai-dev
mailing list