Issue parsec_fatal when the datatype_arenas have not been set in the PTG
Issue parsec_fatal when the datatype_arenas have not been set (rather than crashing in a cryptic way), examplified by icldisco/dplasma#138
We got a datatype with a count non-zero and no datatype, that should not exist
It should not matter until the end of the iterator. We don't have to police every dep type, only that the end we have one.
Is it ever valid to have a non-zero count with an invalid datatype? How? Otherwise this error seems legit.
Define valid in this particular context ? From the communication perspective it is invalid to have a non-zero count with an invalid datatype, but the communication is bound to a flow in the receive case not to any particular deps inside the flow. This PR checks for each dep, even the ones that will not finally be associated with the communication, instead of checking only once at the end to make sure the flow (and therefore the communication to be issued) is correct.