[jboss-jira] [JBoss JIRA] (JGRP-2271) Race condition in BaseServer.getConnection

Dennis Reed (JIRA) issues at jboss.org
Mon Jun 4 16:13:00 EDT 2018


    [ https://issues.jboss.org/browse/JGRP-2271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13586395#comment-13586395 ] 

Dennis Reed commented on JGRP-2271:
-----------------------------------

The BaseServer.getConnection code in the master branch appears to still be the same, so still affected.

> Race condition in BaseServer.getConnection
> ------------------------------------------
>
>                 Key: JGRP-2271
>                 URL: https://issues.jboss.org/browse/JGRP-2271
>             Project: JGroups
>          Issue Type: Bug
>    Affects Versions: 3.6.10
>            Reporter: Dennis Reed
>            Assignee: Bela Ban
>
> BaseServer.getConnection creates a socket and puts it in the shared map under a lock.
> However it does not connect the socket inside the lock, so another thread calling getConnection at the same time can get the unconnected socket, which will throw a NPE when used because it's not connected yet (all the checks before returning and using it only look for isOpen, not isConnected).
> java.lang.NullPointerException
>     at org.jgroups.blocks.cs.TcpConnection.doSend(TcpConnection.java:184)
>     at org.jgroups.blocks.cs.TcpConnection._send(TcpConnection.java:171)
>     at org.jgroups.blocks.cs.TcpConnection.send(TcpConnection.java:141)
>     at org.jgroups.blocks.cs.BaseServer.send(BaseServer.java:185)



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list