5.4. What’s Fixed in 7.0.0
[Critical]: System-stopping issue, such as a crash or data loss.
[Major]: Significant issue with no easy workaround.
[Minor]: Issue that usually has a workaround.
[Trivial]: Small issue, such as a typo in a log.
5.4.1. [Critical] Memory leak when ZRTPS or LBRTPS sub-transport library was set
When using the ZRTPS and LBRTPS transport plugins, and a sub-transport
was set using the dds.transport.<lbrtps|zrtps>.subtransport
properties, the library defined in these properties was opened and never
closed, causing a memory leak.
This behavior has been fixed. Now the sub-transport library is correctly closed when the ZRTPS or LBRTPS transport is destroyed.
[RTI Issue ID COREPLG-602]
5.4.2. [Critical] Crash when installing some DataReader listeners in DomainParticipant that used LBPD
The Limited Bandwidth Participant Discovery (LBPD) Plugin internally creates a DataWriter and a DataReader for exchanging the static discovery information. These endpoints are created using the user DomainParticipant (the one in which you enabled the plugin).
If you installed a DataReader listener in your DomainParticipant with LBPD, that listener was also installed for LBPD’s internal DataReader. When the listener’s associated event was triggered for the internal DataReader, a crash occurred because the internal endpoints did not have all the information required for exercising the user listeners.
The issue did not occur for DataWriter listeners because none of the currently available events can be triggered for the internal LBPD DataWriter. Not all DataReader listeners caused a crash. The internal DataReader has some listeners already installed which override the user’s listeners. The latter are as follows:
on_data_available()on_sample_lost()on_sample_rejected()on_requested_incompatible_qos()
The issue has been fixed. Now, users’ listeners installed at the DomainParticipant level are not invoked for the internal LBPD endpoints.
[RTI Issue ID COREPLG-604]
5.4.3. [Critical] Segmentation fault if participant with ZRTPS or LBRTPS transports enabled also used TCP sub-transport
Participants with the ZRTPS or LBRTPS transport plugins enabled, used in
combination with TCP as a sub-transport (achieved by loading the
property dds.transport.<lbrtps|zrtps>.subtransport) would fail with
a segmentation fault on the receiving thread after processing the
received message. This problem has been fixed.
[RTI Issue ID COREPLG-620]
5.4.4. [Major] Memory leak when external compression library set and used for ZRTPS transport
When using the ZRTPS transport plugin and an external compression
library (the property dds.transport.zrtps.compression_library was
set to EXTERNAL_COMPRESSION), the library set in the property
dds.transport.zrtps.external_library was opened and never closed,
causing a memory leak.
This problem has been resolved. Now the external library is correctly closed when the ZRTPS transport is destroyed.
[RTI Issue ID COREPLG-629]