]
Bela Ban commented on JGRP-1871:
--------------------------------
I'm skeptical that this should be caused by non-volatile fields. What's the time
between creating the channel and calling {{connect()}} on it ? (BTW: what's the reason
for using separate threads ?)
Can this be reproduced with JGroups only code ?
NPEs due to non-volatile Protocol variables
-------------------------------------------
Key: JGRP-1871
URL:
https://issues.jboss.org/browse/JGRP-1871
Project: JGroups
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 3.4.5, 3.5
Reporter: Paul Ferraro
Assignee: Paul Ferraro
In WildFly a given channel is created in one thread, but is potentially started in a
different thread. Unfortunately, many of the protocol variables that are set during
Protocol.init() are non-volatile. This can cause unexpected behavior as seen in
WFLY-3727.
To ensure clean initialization for multi-threaded environments like WF, all non-final
variables within every JGroups' Protocol should be volatile.