I've noticed that when an item is bound to a DataflowBroadcast queue *before* read channels are created, any following read operation hung.
import groovyx.gpars.dataflow.*
DataflowWriteChannel broadcastStream = new DataflowBroadcast()
DataflowReadChannel stream1 = broadcastStream.createReadChannel()
DataflowReadChannel stream2 = broadcastStream.createReadChannel()
broadcastStream << 'Message1'
broadcastStream << 'Message2'
broadcastStream << 'Message3'
// it hung here
assert stream1.val == stream2.val
assert stream1.val == stream2.val
assert stream1.val == stream2.val