6.4.1. Fixes Related to Discovery
6.4.1.1. [Critical] Unbounded memory growth when using domain tags or DomainParticipant partitions
Whenever a DomainParticipant discovered another DomainParticipant that it did not match with, either due to a mismatched domain tag or participant partition, some state was kept that was never removed if the DomainParticipant never received an announcement from that same mismatched participant indicating that it had been shut down. This led to unbounded memory growth, which could become an issue in systems where DomainParticipants with various different domain tags or partitions were coming and going.
[RTI Issue ID CORE-12973]
6.4.1.2. [Critical] Most up-to-date participant configuration may not have been received by other participants and may have led to discovery not completing
It was possible that a configuration change in DomainParticipant ‘A’ may not have been received by DomainParticipant ‘B’ if the change occurred while the two participants were discovering each other. Examples of configuration changes are a change in the PROPERTY QoS policy or an IP mobility event in which DomainParticipant ‘A’ changes one of its IP addresses.
Not having the most recent configuration may have led to discovery not happening if the change was due to an IP mobility event.
The problem only occurred when discovery used multiple transports (e.g, SHMEM and UDPv4). This problem has been fixed.
[RTI Issue ID CORE-13359]
6.4.1.3. [Major] Error deleting remote endpoints with specific GUID prefixes using debug libraries
An error occurred when using debug libraries in the unlikely case that a DomainParticipant had a zero value as the hostId, appId, or instanceId. This problem has been fixed.
[RTI Issue ID CORE-13261]
6.4.1.4. [Major] Participant failed to assert remote participant if usability of shared memory transport changed *
In 7.0.0, a DomainParticipant failed to assert a remote DomainParticipant if the usability of the shared memory transport changed, resulting in the following log message:
ERROR [0x010114FE,0x12488672,0x8EE3B6BC:0x000100C7{Entity=DR,MessageKind=DATA}|RECEIVE FROM 0x00000000,0x00000000,0x00000000:0x000100C2|:0x000001C1{Domain=0}|ASSERT REMOTE DP|LC:DISC]PRESParticipant_assertConfiguredRemoteParticipant:ASSERT FAILURE | compare immutable remote participant 0x01017851,0x3B428DDD,0x514330AA config RW
ERROR [0x010114FE,0x12488672,0x8EE3B6BC:0x000100C7{Entity=DR,MessageKind=DATA}|RECEIVE FROM 0x00000000,0x00000000,0x00000000:0x000100C2|LC:DISC]DISCParticipantDiscoveryPlugin_assertRemoteParticipantConfig:!assert remote participant: 0x01017851,0x3B428DDD,0x514330AA,0x000001C1
ERROR [0x010114FE,0x12488672,0x8EE3B6BC:0x000100C7{Entity=DR,MessageKind=DATA}|RECEIVE FROM 0x00000000,0x00000000,0x00000000:0x000100C2|LC:DISC]DISCParticipantDiscoveryPlugin_assertRemoteParticipantFull:ASSERT FAILURE | remote participant 0x01017851,0x3B428DDD,0x514330AA config information
ERROR [0x010114FE,0x12488672,0x8EE3B6BC:0x000100C7{Entity=DR,MessageKind=DATA}|RECEIVE FROM 0x00000000,0x00000000,0x00000000:0x000100C2|LC:DISC]PRESParticipantAnnouncementChannelReaderListenerSpdp_onDataAvailable:!assert remote participant
You may have run into this issue if a shared memory segment was deleted during runtime and a DomainParticipant updated its configuration information. A change in the shared memory usability will no longer cause this failure.
[RTI Issue ID CORE-13360]
6.4.1.5. [Major] Unexpected warning during discovery when multicast disabled
Connext logged a warning during the discovery process when multicast was disabled. The message warned about unreachable multicast locators. The message was unexpected and has been removed.
[RTI Issue ID CORE-13403]
6.4.1.6. [Minor] Potential memory leak when creation of any of the built-in discovery plugins failed
The first time a DomainParticipant is created in an application, some memory is allocated globally for each of the built-in discovery plugins (SPDP and SEDP) enabled for that DomainParticipant. This global memory is released when finalizing the DomainParticipantFactory instance.
However, if there was a failure in the creation of any of the builtin discovery plugins during the DomainParticipant creation, the DomainParticipantFactory was not notified properly that this global memory was allocated. Therefore, finalizing the DomainParticipantFactory instance did not release the memory, causing a leak.
This problem is fixed. Finalizing the DomainParticipantFactory instance always releases the memory if it was previously allocated, regardless of whether or not a failure occurred.
[RTI Issue ID CORE-12882]
6.4.1.7. [Minor] Unexpected, invalid locator propagated within builtin topics
A DataReader could unexpectedly propagate an invalid locator to a DataWriter for certain builtin topics. The issue did not affect functionality, since the locator was discarded on the DataWriter side. The bug that sent the invalid locator has been fixed.
[RTI Issue ID CORE-13416]
* This bug does not affect you if you are upgrading from 6.1.x or earlier.