You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Alastair Maw (JIRA)" <ji...@apache.org> on 2006/10/18 19:29:40 UTC

[jira] Updated: (WICKET-8) deadlock contention for sessions

     [ http://issues.apache.org/jira/browse/WICKET-8?page=all ]

Alastair Maw updated WICKET-8:
------------------------------

    Attachment: ResourceTestPage.java

Java source for page to demonstrate the problem.

> deadlock contention for sessions
> --------------------------------
>
>                 Key: WICKET-8
>                 URL: http://issues.apache.org/jira/browse/WICKET-8
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.2.3, 1.3
>            Reporter: Alastair Maw
>            Priority: Blocker
>         Attachments: ResourceTestPage.html, ResourceTestPage.java
>
>
> I have a bunch of custom image thumbnails that each take a little while to serve up.
> With lots of them on the page at once I'm seeing what looks like a deadlock going on for the session objects. 1.2.2 didn't do this.
> Here's an edited thread-dump. There are lots of these:
> "http-8080-Processor26" daemon prio=1 tid=0x08875a60 nid=0x5480 waiting for monitor entry [0xa5ef9000..0xa5efee60]
> 	at wicket.request.compound.DefaultRequestTargetResolverStrategy.resolve(DefaultRequestTargetResolverStrategy.java:102)
> 	- waiting to lock <0xab6ee028> (a com.foo.MyWebSession)
> 	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.WicketServlet.doGet(WicketServlet.java:219)
> 	[...]
> One of these:
> "http-8080-Processor23" daemon prio=1 tid=0x082a7988 nid=0x547a waiting for monitor entry [0xa5af8000..0xa5afd0e0]
> 	at wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:929)
> 	- waiting to lock <0xab6ee028> (a com.foo.MyWebSession)
> 	at wicket.RequestCycle.step(RequestCycle.java:1010)
> 	at wicket.RequestCycle.steps(RequestCycle.java:1084)
> 	at wicket.RequestCycle.request(RequestCycle.java:454)
> 	at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:219)
> 	[...]
> And one of these:
> "http-8080-Processor20" daemon prio=1 tid=0x082a6978 nid=0x5116 in Object.wait() [0xa57f2000..0xa57f7160]
> 	at java.lang.Object.wait(Native Method)
> 	- waiting on <0xab7695c8> (a java.util.HashMap)
> 	at wicket.Session.getPage(Session.java:427)
> 	- locked <0xab7695c8> (a java.util.HashMap)
> 	at wicket.request.compound.DefaultRequestTargetResolverStrategy.resolveRenderedPage(DefaultRequestTargetResolverStrategy.java:215)
> 	at wicket.request.compound.DefaultRequestTargetResolverStrategy.resolve(DefaultRequestTargetResolverStrategy.java:152)
> 	- locked <0xab6ee028> (a com.foo.MyWebSession)
> 	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.WicketServlet.doGet(WicketServlet.java:219)
> 	[...]
> Let me know if you need any more info. I can probably make an example webapp if required, but hopefully this will be sufficient.
> As far as I'm concerned it's pretty critical, as the entire session falls over and never recovers, so I'm marking it as a blocker. Hope that's OK.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira