You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Alec Swan <al...@gmail.com> on 2010/10/26 02:52:14 UTC

Error "After 1 minute the Pagemap null is still locked"

Hello,

Our production server stopped processing AJAX requests today. I looked
in the log files and noticed a "After 1 minute the Pagemap null is
still locked".
The exception stack trace is shown below followed by a dump of the
thread that was blocking the page.

We are using Wicket 1.4.2, Tomcat 6.0 and Java 6.

Could anybody help troubleshoot this problem?

Thanks,

Alec

EXCEPTION

2010-10-25 21:55:32,501 GMT ERROR [TP-Processor12]
org.apache.wicket.RequestCycle -
org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
null is still locked by: Thread[TP-Processor1,5,main], giving up
trying to get the page for path: 4:offersForm:offers:1:editOfferLink
	Begin of stack trace of Thread[TP-Processor1,5,main]
	java.net.SocketInputStream.socketRead0(Native Method)
	java.net.SocketInputStream.read(SocketInputStream.java:129)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
	java.io.BufferedInputStream.read(BufferedInputStream.java:317)
	org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
	org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
	org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
	org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	java.lang.Thread.run(Thread.java:619)
	End of stack trace of Thread[TP-Processor1,5,main]
org.apache.wicket.protocol.http.request.InvalidUrlException:
org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
null is still locked by: Thread[TP-Processor1,5,main], giving up
trying to get the page for path: 4:offersForm:offers:1:editOfferLink
	Begin of stack trace of Thread[TP-Processor1,5,main]
	java.net.SocketInputStream.socketRead0(Native Method)
	java.net.SocketInputStream.read(SocketInputStream.java:129)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
	java.io.BufferedInputStream.read(BufferedInputStream.java:317)
	org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
	org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
	org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
	org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	java.lang.Thread.run(Thread.java:619)
	End of stack trace of Thread[TP-Processor1,5,main]
	at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262)
	at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
	at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
	at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
	at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
	at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.wicket.WicketRuntimeException: After 1 minute
the Pagemap null is still locked by: Thread[TP-Processor1,5,main],
giving up trying to get the page for path:
4:offersForm:offers:1:editOfferLink
	Begin of stack trace of Thread[TP-Processor1,5,main]
	java.net.SocketInputStream.socketRead0(Native Method)
	java.net.SocketInputStream.read(SocketInputStream.java:129)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
	java.io.BufferedInputStream.read(BufferedInputStream.java:317)
	org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
	org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
	org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
	org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	java.lang.Thread.run(Thread.java:619)
	End of stack trace of Thread[TP-Processor1,5,main]
	at org.apache.wicket.Session.getPage(Session.java:769)
	at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:458)
	at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:144)
	... 24 more


THREAD DUMP

INFO   | jvm 1    | 2010/10/25 18:00:52 | "TP-Processor1" daemon
prio=10 tid=0x0a615c00 nid=0x47ed runnable [0x8b45c000]
INFO   | jvm 1    | 2010/10/25 18:00:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
java.net.SocketInputStream.socketRead0(Native Method)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
java.net.SocketInputStream.read(SocketInputStream.java:129)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
java.io.BufferedInputStream.read(BufferedInputStream.java:317)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	- locked <0x995c0d18> (a
java.io.BufferedInputStream)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
INFO   | jvm 1    | 2010/10/25 18:00:52 | 	at
java.lang.Thread.run(Thread.java:619)

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Error "After 1 minute the Pagemap null is still locked"

Posted by Martijn Dashorst <ma...@gmail.com>.
I saw that you are running wicket 1.4.2, I'd upgrade to 1.4.12. Thread
detach logic in Wicket has been improved in the releases between iirc.

This is not common enough for us to guess what is wrong. You should go
back in your logs and see what happened in the thread that keeps the
page map locked. If your logging doesn't show anything wrong, at least
try to see what type of request (and to which page/component it was
targeted). This might leed to more information.

Page map locked issues are normally an anxious user double clicking
actions while a server is already processing a request. Often a long
running request will be the cause, and dispatching the logic into a
separate thread helps. But in your situation the thread keeping the
lock is already waiting for a new request, so something went wrong in
that instance.

Martijn

On Tue, Oct 26, 2010 at 5:48 PM, Alec Swan <al...@gmail.com> wrote:
> How do I properly detach pages from request threads? What could have
> caused them not to be properly detached?
>
> I saw this error only once in months, so I don't even know how to
> reproduce it. However, even though it is rare this problem is critical
> because it made the web site unresponsive.
>
> I added an AjaxSelfUpdatingTimerBehavior to one of the pages a while
> ago to make sure that guest sessions do not expire. Could this cause
> the problem?
> this.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(refreshSeconds)));
>
> Thanks,
>
> Alec
>
> On Tue, Oct 26, 2010 at 3:38 AM, Martijn Dashorst
> <ma...@gmail.com> wrote:
>> It appears that your pages have not been properly detached from their
>> request threads. Wicket still thinks that TP-Processor1 has the
>> pagemap locked, whereas that thread is waiting for mod_jk to deliver a
>> new request.
>>
>> I'd look back in the history of what TP-Processor1 has done to get in
>> that state.
>>
>> Martijn
>>
>> On Tue, Oct 26, 2010 at 2:52 AM, Alec Swan <al...@gmail.com> wrote:
>>> Hello,
>>>
>>> Our production server stopped processing AJAX requests today. I looked
>>> in the log files and noticed a "After 1 minute the Pagemap null is
>>> still locked".
>>> The exception stack trace is shown below followed by a dump of the
>>> thread that was blocking the page.
>>>
>>> We are using Wicket 1.4.2, Tomcat 6.0 and Java 6.
>>>
>>> Could anybody help troubleshoot this problem?
>>>
>>> Thanks,
>>>
>>> Alec
>>>
>>> EXCEPTION
>>>
>>> 2010-10-25 21:55:32,501 GMT ERROR [TP-Processor12]
>>> org.apache.wicket.RequestCycle -
>>> org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
>>> null is still locked by: Thread[TP-Processor1,5,main], giving up
>>> trying to get the page for path: 4:offersForm:offers:1:editOfferLink
>>>        Begin of stack trace of Thread[TP-Processor1,5,main]
>>>        java.net.SocketInputStream.socketRead0(Native Method)
>>>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>>>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>>>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>>>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>>>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>>        java.lang.Thread.run(Thread.java:619)
>>>        End of stack trace of Thread[TP-Processor1,5,main]
>>> org.apache.wicket.protocol.http.request.InvalidUrlException:
>>> org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
>>> null is still locked by: Thread[TP-Processor1,5,main], giving up
>>> trying to get the page for path: 4:offersForm:offers:1:editOfferLink
>>>        Begin of stack trace of Thread[TP-Processor1,5,main]
>>>        java.net.SocketInputStream.socketRead0(Native Method)
>>>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>>>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>>>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>>>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>>>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>>        java.lang.Thread.run(Thread.java:619)
>>>        End of stack trace of Thread[TP-Processor1,5,main]
>>>        at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262)
>>>        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
>>>        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
>>>        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>>>        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
>>>        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
>>>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>        at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>>>        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>>>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
>>>        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
>>>        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
>>>        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
>>>        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>>        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>>        at java.lang.Thread.run(Thread.java:619)
>>> Caused by: org.apache.wicket.WicketRuntimeException: After 1 minute
>>> the Pagemap null is still locked by: Thread[TP-Processor1,5,main],
>>> giving up trying to get the page for path:
>>> 4:offersForm:offers:1:editOfferLink
>>>        Begin of stack trace of Thread[TP-Processor1,5,main]
>>>        java.net.SocketInputStream.socketRead0(Native Method)
>>>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>>>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>>>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>>>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>>>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>>        java.lang.Thread.run(Thread.java:619)
>>>        End of stack trace of Thread[TP-Processor1,5,main]
>>>        at org.apache.wicket.Session.getPage(Session.java:769)
>>>        at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:458)
>>>        at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:144)
>>>        ... 24 more
>>>
>>>
>>> THREAD DUMP
>>>
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 | "TP-Processor1" daemon
>>> prio=10 tid=0x0a615c00 nid=0x47ed runnable [0x8b45c000]
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |    java.lang.Thread.State: RUNNABLE
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> java.net.SocketInputStream.socketRead0(Native Method)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> java.net.SocketInputStream.read(SocketInputStream.java:129)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       - locked <0x995c0d18> (a
>>> java.io.BufferedInputStream)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>>> java.lang.Thread.run(Thread.java:619)
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>
>>>
>>
>>
>>
>> --
>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>> Apache Wicket 1.4 increases type safety for web applications
>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.8
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Error "After 1 minute the Pagemap null is still locked"

Posted by Alec Swan <al...@gmail.com>.
How do I properly detach pages from request threads? What could have
caused them not to be properly detached?

I saw this error only once in months, so I don't even know how to
reproduce it. However, even though it is rare this problem is critical
because it made the web site unresponsive.

I added an AjaxSelfUpdatingTimerBehavior to one of the pages a while
ago to make sure that guest sessions do not expire. Could this cause
the problem?
this.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(refreshSeconds)));

Thanks,

Alec

On Tue, Oct 26, 2010 at 3:38 AM, Martijn Dashorst
<ma...@gmail.com> wrote:
> It appears that your pages have not been properly detached from their
> request threads. Wicket still thinks that TP-Processor1 has the
> pagemap locked, whereas that thread is waiting for mod_jk to deliver a
> new request.
>
> I'd look back in the history of what TP-Processor1 has done to get in
> that state.
>
> Martijn
>
> On Tue, Oct 26, 2010 at 2:52 AM, Alec Swan <al...@gmail.com> wrote:
>> Hello,
>>
>> Our production server stopped processing AJAX requests today. I looked
>> in the log files and noticed a "After 1 minute the Pagemap null is
>> still locked".
>> The exception stack trace is shown below followed by a dump of the
>> thread that was blocking the page.
>>
>> We are using Wicket 1.4.2, Tomcat 6.0 and Java 6.
>>
>> Could anybody help troubleshoot this problem?
>>
>> Thanks,
>>
>> Alec
>>
>> EXCEPTION
>>
>> 2010-10-25 21:55:32,501 GMT ERROR [TP-Processor12]
>> org.apache.wicket.RequestCycle -
>> org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
>> null is still locked by: Thread[TP-Processor1,5,main], giving up
>> trying to get the page for path: 4:offersForm:offers:1:editOfferLink
>>        Begin of stack trace of Thread[TP-Processor1,5,main]
>>        java.net.SocketInputStream.socketRead0(Native Method)
>>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>        java.lang.Thread.run(Thread.java:619)
>>        End of stack trace of Thread[TP-Processor1,5,main]
>> org.apache.wicket.protocol.http.request.InvalidUrlException:
>> org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
>> null is still locked by: Thread[TP-Processor1,5,main], giving up
>> trying to get the page for path: 4:offersForm:offers:1:editOfferLink
>>        Begin of stack trace of Thread[TP-Processor1,5,main]
>>        java.net.SocketInputStream.socketRead0(Native Method)
>>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>        java.lang.Thread.run(Thread.java:619)
>>        End of stack trace of Thread[TP-Processor1,5,main]
>>        at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262)
>>        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
>>        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
>>        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>>        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
>>        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
>>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>        at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>>        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
>>        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
>>        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
>>        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
>>        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>        at java.lang.Thread.run(Thread.java:619)
>> Caused by: org.apache.wicket.WicketRuntimeException: After 1 minute
>> the Pagemap null is still locked by: Thread[TP-Processor1,5,main],
>> giving up trying to get the page for path:
>> 4:offersForm:offers:1:editOfferLink
>>        Begin of stack trace of Thread[TP-Processor1,5,main]
>>        java.net.SocketInputStream.socketRead0(Native Method)
>>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>        java.lang.Thread.run(Thread.java:619)
>>        End of stack trace of Thread[TP-Processor1,5,main]
>>        at org.apache.wicket.Session.getPage(Session.java:769)
>>        at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:458)
>>        at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:144)
>>        ... 24 more
>>
>>
>> THREAD DUMP
>>
>> INFO   | jvm 1    | 2010/10/25 18:00:52 | "TP-Processor1" daemon
>> prio=10 tid=0x0a615c00 nid=0x47ed runnable [0x8b45c000]
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |    java.lang.Thread.State: RUNNABLE
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> java.net.SocketInputStream.socketRead0(Native Method)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> java.net.SocketInputStream.read(SocketInputStream.java:129)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       - locked <0x995c0d18> (a
>> java.io.BufferedInputStream)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
>> java.lang.Thread.run(Thread.java:619)
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
>
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com
> Apache Wicket 1.4 increases type safety for web applications
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.8
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Error "After 1 minute the Pagemap null is still locked"

Posted by Martijn Dashorst <ma...@gmail.com>.
It appears that your pages have not been properly detached from their
request threads. Wicket still thinks that TP-Processor1 has the
pagemap locked, whereas that thread is waiting for mod_jk to deliver a
new request.

I'd look back in the history of what TP-Processor1 has done to get in
that state.

Martijn

On Tue, Oct 26, 2010 at 2:52 AM, Alec Swan <al...@gmail.com> wrote:
> Hello,
>
> Our production server stopped processing AJAX requests today. I looked
> in the log files and noticed a "After 1 minute the Pagemap null is
> still locked".
> The exception stack trace is shown below followed by a dump of the
> thread that was blocking the page.
>
> We are using Wicket 1.4.2, Tomcat 6.0 and Java 6.
>
> Could anybody help troubleshoot this problem?
>
> Thanks,
>
> Alec
>
> EXCEPTION
>
> 2010-10-25 21:55:32,501 GMT ERROR [TP-Processor12]
> org.apache.wicket.RequestCycle -
> org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
> null is still locked by: Thread[TP-Processor1,5,main], giving up
> trying to get the page for path: 4:offersForm:offers:1:editOfferLink
>        Begin of stack trace of Thread[TP-Processor1,5,main]
>        java.net.SocketInputStream.socketRead0(Native Method)
>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>        java.lang.Thread.run(Thread.java:619)
>        End of stack trace of Thread[TP-Processor1,5,main]
> org.apache.wicket.protocol.http.request.InvalidUrlException:
> org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap
> null is still locked by: Thread[TP-Processor1,5,main], giving up
> trying to get the page for path: 4:offersForm:offers:1:editOfferLink
>        Begin of stack trace of Thread[TP-Processor1,5,main]
>        java.net.SocketInputStream.socketRead0(Native Method)
>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>        java.lang.Thread.run(Thread.java:619)
>        End of stack trace of Thread[TP-Processor1,5,main]
>        at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262)
>        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
>        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
>        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
>        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
>        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
>        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
>        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
>        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.wicket.WicketRuntimeException: After 1 minute
> the Pagemap null is still locked by: Thread[TP-Processor1,5,main],
> giving up trying to get the page for path:
> 4:offersForm:offers:1:editOfferLink
>        Begin of stack trace of Thread[TP-Processor1,5,main]
>        java.net.SocketInputStream.socketRead0(Native Method)
>        java.net.SocketInputStream.read(SocketInputStream.java:129)
>        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>        java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>        java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>        org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
>        org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
>        org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
>        org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>        java.lang.Thread.run(Thread.java:619)
>        End of stack trace of Thread[TP-Processor1,5,main]
>        at org.apache.wicket.Session.getPage(Session.java:769)
>        at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:458)
>        at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:144)
>        ... 24 more
>
>
> THREAD DUMP
>
> INFO   | jvm 1    | 2010/10/25 18:00:52 | "TP-Processor1" daemon
> prio=10 tid=0x0a615c00 nid=0x47ed runnable [0x8b45c000]
> INFO   | jvm 1    | 2010/10/25 18:00:52 |    java.lang.Thread.State: RUNNABLE
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> java.net.SocketInputStream.socketRead0(Native Method)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> java.net.SocketInputStream.read(SocketInputStream.java:129)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> java.io.BufferedInputStream.read(BufferedInputStream.java:317)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       - locked <0x995c0d18> (a
> java.io.BufferedInputStream)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
> INFO   | jvm 1    | 2010/10/25 18:00:52 |       at
> java.lang.Thread.run(Thread.java:619)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com
Apache Wicket 1.4 increases type safety for web applications
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.8

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org