You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Chris Dolan (Created) (JIRA)" <ji...@apache.org> on 2012/03/19 21:51:38 UTC

[jira] [Created] (AMQ-3776) synchronization error in MessageListenerServlet.getAjaxWebClient

synchronization error in MessageListenerServlet.getAjaxWebClient
----------------------------------------------------------------

                 Key: AMQ-3776
                 URL: https://issues.apache.org/jira/browse/AMQ-3776
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.5.0
            Reporter: Chris Dolan
            Priority: Minor


Note: I found this problem by reading code, not by an actual behavior problem!

In the latest revision of MessageListenerServlet.getAjaxWebClient() you can see that the ajaxWebClients map is read outside of a synchronized block and then edited inside the block. This looks like a simple mistake, and the get() should be moved down one line.

http://svn.apache.org/viewvc/activemq/trunk/activemq-web/src/main/java/org/apache/activemq/web/MessageListenerServlet.java?revision=1177026&view=markup#l438

Theoretically, the downside of this bug will be that new clients will be unnecessarily created if a single web session connects to the servlet from two or more concurrent connections. In practice, this almost never happens because most ajax users of ActiveMQ should have only one connection in flight at a time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (AMQ-3776) synchronization error in MessageListenerServlet.getAjaxWebClient

Posted by "Timothy Bish (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3776?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish resolved AMQ-3776.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 5.6.0
         Assignee: Timothy Bish

Fix applied in trunk.
                
> synchronization error in MessageListenerServlet.getAjaxWebClient
> ----------------------------------------------------------------
>
>                 Key: AMQ-3776
>                 URL: https://issues.apache.org/jira/browse/AMQ-3776
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.5.0
>            Reporter: Chris Dolan
>            Assignee: Timothy Bish
>            Priority: Minor
>             Fix For: 5.6.0
>
>
> Note: I found this problem by reading code, not by an actual behavior problem!
> In the latest revision of MessageListenerServlet.getAjaxWebClient() you can see that the ajaxWebClients map is read outside of a synchronized block and then edited inside the block. This looks like a simple mistake, and the get() should be moved down one line.
> http://svn.apache.org/viewvc/activemq/trunk/activemq-web/src/main/java/org/apache/activemq/web/MessageListenerServlet.java?revision=1177026&view=markup#l438
> Theoretically, the downside of this bug will be that new clients will be unnecessarily created if a single web session connects to the servlet from two or more concurrent connections. In practice, this almost never happens because most ajax users of ActiveMQ should have only one connection in flight at a time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira