Why do I see MIGGeneratorSample_setParameterLength() errors with RTI Data Distribution Service 4.1f?

Note: Applies to RTI Data Distribution Service 4.1f.

MIGGeneratorSample_setParameterLength() error messages are caused by a bug when RTPS GAP messages are NACKed by a reliable reader. This error can result in memory corruption. 

DataWriters issue RTPS GAP messages to indicate that samples are no longer relevant to the readers. A GAP message can occur in several scenarios. For example, it can occur when the History QoS is set to KEEP_LAST and you are writing multiple instances that exceed the configured History depth. It can also occur when History is KEEP_ALL, Durability is TRANSIENT_LOCAL  and you are writing multiple instances that exceed the  max_samples_per_instance limit in the ResourceLimits QosPolicy.

The workaround to this problem is to set  max_nack_response_delay to 0 (DDS_DataWriterQos.protocol.rtps_reliable_writer.max_nack_response_delay). Note that the default for non-discovery data is 0.2 seconds.

Keywords: