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


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

        

Reply via email to