8.6. Regressions in 6.1.1/6.1.2

The following regressions occur in Connext 6.1.1/6.1.2.

8.6.1. Core Libraries

8.6.1.1. Fixed in 7.1.0

8.6.1.1.1. Unexpected precondition error with debug libraries on a reliable DataWriter while sending a GAP

In the 6.1.2 and 5.3.1.41 releases, you may see the following precondition error while using the Connext debug libraries.

DL Debug: :         Backtrace:
141: DL Debug: :    #4      COMMENDSrWriterService_sendGapToRR /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/commend.1.0/srcC/srw/SrWriterService.c:4096 (discriminator 9) [0x5B101E]
141: DL Debug: :    #5      COMMENDSrWriterService_onSendDataEvent /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/commend.1.0/srcC/srw/SrWriterService.c:6570 [0x5BACF6]
141: DL Debug: :    #6      RTIEventActiveGeneratorThread_loop /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/event.1.0/srcC/activeGenerator/ActiveGenerator.c:307 [0x28E2FC]
141: DL Debug: :    #7      RTIOsapiThreadFactory_onSpawned /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/osapi.1.0/srcC/threadFactory/ThreadFactory.c:208 [0x1F3A42]
141: DL Debug: :    #8      RTIOsapiThreadFactory_onSpawned /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/osapi.1.0/srcC/threadFactory/ThreadFactory.c:208 [0x1F3A42]
141: DL Debug: :    #9      RTIOsapiThreadChild_onSpawned /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/osapi.1.0/srcC/thread/Thread.c:1941 [0x1EDB64]
141: DL Debug: :    #10     start_thread /build/glibc-CVJwZb/glibc-2.27/nptl/pthread_create.c:463 [0x76DB]
141: DL Debug: :    #11     clone /build/glibc-CVJwZb/glibc-2.27/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:97 [0x12161F]
141: DL Fatal: : FATAL rCoRTInk####Evt [0x01014F91,0x39810444,0x4EC68AEA:0x000004C2|RECEIVE FROM remote DR (GUID: 0x01015FBD,0x5892DC7E,0x9DB082D4:0x000004C7).
141: ] Mx00:/rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/commend.1.0/srcC/srw/SrWriterService.c:4099:RTI0x200003b:!precondition: "((((gapStartSn)->high) > (((&(gapBitmap)->_lead))->high)) ? 1 : ((((gapStartSn)->high) < (((&(gapBitmap)->_lead))->high)) ? -1 : ((((gapStartSn)->low) > (((&(gapBitmap)->_lead))->low)) ? 1 : ((((gapStartSn)->low) < (((&(gapBitmap)->_lead))->low)) ? -1 : 0)))) >= 0"
141: DL Error: : ERROR [0x01014F91,0x39810444,0x4EC68AEA:0x000004C2|RECEIVE FROM remote DR (GUID: 0x01015FBD,0x5892DC7E,0x9DB082D4:0x000004C7).
141: ] COMMENDSrWriterService_onSendDataEvent:!send GAP

This error is generated by a reliable DataWriter sending a GAP to a reliable DataReader. After the error is printed, the DataReader may stop receiving data from the DataWriter, leading to a non-recoverable situation. This problem does not occur with release libraries. This problem is fixed in 6.1.2.3 and 7.1.0 releases.

[RTI Issue ID CORE-13462]

8.6.1.1.2. Unexpected warning during discovery when multicast disabled

Connext logs a warning during the discovery process when multicast is disabled. The message warns about unreachable multicast locators. The message is unexpected and has been removed in release 7.1.0.

[RTI Issue ID CORE-13403]

8.6.1.2. Fixed in 7.1.0 and 6.1.2

8.6.1.2.1. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery

This regression was introduced in 6.1.0 and has been fixed in 6.1.2 and 7.1.0. See DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery in the 6.1.0 Regressions section.

8.6.1.2.2. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address

This regression was introduced in 6.1.0 and has been fixed in 6.1.2 and 7.1.0. See Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address in the 6.1.0 Regressions section.

8.6.1.2.3. No more than 100 asynchronous publisher threads can be created

This regression was introduced in 6.1.0 and has been fixed in 6.1.2 and 7.1.0. See No more than 100 asynchronous publisher threads can be created in the 6.1.0 Regressions section.

8.6.1.2.4. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault

This regression was introduced in 6.0.0 and has been fixed in 6.0.1.30, 6.1.2, and 7.1.0. See Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault in the 6.0.0 Regressions section.

8.6.1.2.5. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy

This regression was introduced in 6.0.0 and has been fixed in 6.0.1.30, 6.1.2, and 7.1.0. See Section 8.9.1.1.2 in the 6.0.0 Regressions section.

8.6.1.3. Fixed in 7.0.0 and 6.1.2

8.6.1.3.1. Continuous creation of TopicQueries may lead to unnecessary memory fragmentation in OS memory allocator

This regression was introduced in 6.0.0 and has been fixed in releases 7.0.0 and 6.1.2. See Continuous creation of TopicQueries may lead to unnecessary memory fragmentation in OS memory allocator in the 6.0.0 Regressions section.

8.6.2. Code Generator

8.6.2.1. Fixed in 7.1.0

8.6.2.1.1. Compile-time error when using -constructor with types containing sequence of pointers

This regression was introduced in 6.1.0 and has been fixed in release 7.1.0. See Compile-time error when using -constructor with types containing sequence of pointers in the 6.1.0 Regressions section.

8.6.3. Security Plugins

8.6.3.1. Fixed in 7.2.0

8.6.3.1.1. Discovery time scaled poorly

This regression was introduced in 6.0.0 and has been fixed in 7.2.0. See Discovery time scaled poorly in the 6.0.0 Regressions section.

8.6.3.1.2. Lack of origin authentication led to unnecessary allocation and possible discovery failure

When the property cryptography.max_receiver_specific_macs was unset or set to 0, there was an unnecessary memory allocation related to receiver-specific MACs whenever creating or discovering an entity. In some cases, the cryptographic library may have failed to make this allocation, in which case entity creation or discovery would have failed with this error message:

RTI_Security_CryptoLibAdapterEvpNewMacKey (MasterReceiverSpecificKey) failed with error

This problem only affected releases 6.0.1.29 to 6.0.1.33, releases 6.1.1 to 6.1.2.11, and releases 7.0.0 to 7.1.0. This problem has been fixed in release 7.2.0. The Security Plugins no longer attempt to make this allocation if origin authentication is not used.

[RTI Issue ID SEC-2210]

8.6.3.2. Fixed in 7.1.0

8.6.3.2.1. Potential crash while decoding protected submessages

Release 6.1.1 introduced several performance optimizations to Submessage Protection decoding. There is an issue with one of these optimizations, potentially resulting in a rare crash on the receiver (DataWriter or DataReader) while decoding a protected submessage. In particular, this issue is triggerable if any of the following is true for at least one DataWriter/DataReader pair:

  • metadata_protection_kind is set to a value different from NONE

  • discovery_protection_kind is set to a value different from NONE and enable_discovery_protection is set to TRUE

  • liveliness_protection_kind is set to a value different from NONE and enable_liveliness_protection isset to TRUE

This issue, which is more likely to trigger when the sender’s DomainParticipant is deleting all of its endpoints, has been fixed in release 7.1.0. In release 7.1.0, decoding protected submessages no longer results in a crash.

[RTI Issue ID SEC-1960]

8.6.4. Recording Service

8.6.4.1. Fixed in 7.1.0

8.6.4.1.1. Exception reported when recording or replaying type registered as a union

This regression was introduced in 6.1.0 and has been fixed in release 7.1.0. See Exception reported when recording or replaying type registered as a union in the 6.1.0 Regressions section.

8.6.5. Limited Bandwidth Plugins

8.6.5.1. Fixed in 7.3.0

8.6.5.1.1. Limited Bandwidth ZRTPS transport crashes if an external compression library fails to load

The RTI Limited Bandwidth Plugins’ ZRTPS transport can crash when attempting to use an external library. If there is a failure while loading an external compression library (for example, if a function name does not match the expected name), the external library silently closes. The error and the closure are not propagated upstream; therefore, the ZRTPS transport uses an invalid library handler, leading to a crash.

This issue is fixed in release 7.3.0. The transport will be notified if there is a failure to load an external library.

[RTI Issue ID COREPLG-719]