james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yin,Shiwu (JIRA)" <server-...@james.apache.org>
Subject [jira] [Commented] (IMAP-372) Deadlock in AbstractDelegatingMailboxListener under load
Date Mon, 03 Jun 2013 09:20:21 GMT

    [ https://issues.apache.org/jira/browse/IMAP-372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13672942#comment-13672942

Yin,Shiwu commented on IMAP-372:

Thank you very much for Andrzej, I met the same problem.
> Deadlock in AbstractDelegatingMailboxListener under load
> --------------------------------------------------------
>                 Key: IMAP-372
>                 URL: https://issues.apache.org/jira/browse/IMAP-372
>             Project: James Imap
>          Issue Type: Bug
>          Components: Mailbox
>            Reporter: Andrzej Rusin
>            Assignee: Eric Charles
>             Fix For: 0.3
>         Attachments: james-listener-deadlock-2.txt, James Listener Deadlock.txt
> In AbstractDelegatingMailboxListener::event, firing the events inside the synchronized
blocks causes a deadlock involving:
> lock on HashMapDelegatingMailboxListener::listeners
> (synchronized methods) lock on SelectedMailboxImpl
> In my example, these 3 methods got interlocked:
> AbstractDelegatingMailboxListener.addListener
> SelectedMailboxImpl.msn
> AbstractDelegatingMailboxListener.removeListener
> My idea to fix it is basically to take the for loop on mListeners outside the synchronized
block in org.apache.james.mailbox.store.AbstractDelegatingMailboxListener.event(Event). That
will not make the propagated event processing in SelectedMailboxImpl hit the synchronized
lock on listeners.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

View raw message