You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org> on 2007/06/24 03:44:25 UTC

[jira] Closed: (TAPESTRY-1571) CheckForUpdatesFilter can cause deadlock

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

Howard M. Lewis Ship closed TAPESTRY-1571.
------------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0.5
         Assignee: Howard M. Lewis Ship

Nice patch, and I think a reasonable timeout on getting the write lock is appropriate for an under-load server even outside the context of deadlock's.  

We may find that we need to escalate the timeout over a series of events, or we may get to a point where we are unable (under load) to check for updates at all.

> CheckForUpdatesFilter can cause deadlock
> ----------------------------------------
>
>                 Key: TAPESTRY-1571
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1571
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.5
>            Reporter: Ben Sommerville
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.5
>
>         Attachments: TAP-1571.patch
>
>
> CheckForUpdatesFilter will cause a deadlock in the following circumstances.
> 1) Initial request is received and processing starts  (CheckForUpdatesFilter read lock obtained)
> 2) Request processing triggers another http request to the same application
> 3) Nested request is received
> 4) CheckForUpdatesFilter determines it is time to check for file updates
> 5) CheckForUpdatesFilter tries to obtain write lock
> 6) Deadlock: Nested request is blocked waiting for read lock held by parent request to be released.
> This is an unusual situation, generally I wouldn't try to to access a page via http whilst trying to process another request.  However I ran across this problem whilst using a third party library (JasperReports) that referenced resources via http links.  
> Although uncommon, I believe Tapestry should be able to handle this without deadlocking

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org