]
Bela Ban updated JGRP-2271:
---------------------------
Fix Version/s: 4.0.12
3.6.16
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
Fix For: 4.0.12, 3.6.16
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)