During the check for
LOCAL:MEMORY:ILLEGAL_MODIFICATIONof a send buffer Intel® Trace Collector will read each byte in the buffer once. This works for contiguous as well as non-contiguous data types. If any byte cannot be read because the memory is inaccessible, a
LOCAL:MEMORY:INACCESSIBLEis reported. This is an error because it is only possible to proceed by skipping the entire operation.
LOCAL:MEMORY:ILLEGAL_MODIFICATIONcheck also disables the accessibility check and send operations are then treated like receive operations: for receive operations no similar check is performed because the MPI standard does not say explicitly that the whole receive buffer has to be accessible - only the part into which an incoming message actually gets copied must be writable. Violations of that rule are caught and reported as fatal