4.5. Crashes

4.5.1. [Critical] Race condition in Persistence Service when using new synchronization protocol *

When using the new synchronization protocol in Persistence Service, a race condition could occur; as a result, endpoint creation could fail for a certain Topic. A message like the following could occur:

ERROR [0x01018C73,0xA2E9602F,0x98171FDF:0x80000307{Entity=DR,Topic=<topic name>,Type=<your type>,Domain=<your domain>}|GET QOS] PRESPsService_getLocalEndpointProperty:pres psReader already destroyed

[RTI Issue ID PERSISTENCE-517]

4.5.2. [Critical] Segmentation fault when enabling synchronization if filter expression was malformed *

A Persistence Service instance could produce a segmentation fault if the synchronization protocol was enabled (<data_synchronization>/<enable> set to TRUE) and the ContentFilteredTopic exchanged between Persistence Service instances was invalid.

This situation is not expected under normal operation, since the ContentFilteredTopic should always be valid. The only plausible cause is network corruption, which is rare.

To prevent this issue:

  • Enable checksum validation at the transport level for UDP (enabled by default) and TCP transports (disabled by default).

  • Optionally, enable CRC validation across all transports by setting compute_crc and check_crc under participant_qos.wire_protocol.

[RTI Issue ID PERSISTENCE-450]



* This bug does not affect you if you are upgrading from 7.3.x or earlier.