Home
Release Notes - Community RTI Connext Users
Contents
1. 51 4 12 23 Possible Segmentation Fault during Clean Up of TCP Transport Plugin Allocated RESOUICES c2cy2u 4 het a Goeu Sec 2S ade Begg Ot ne ae eee ee NN 51 4 12 24 Possible Segmentation Fault if TCP Transport Plugin Creation Failed 51 4 12 25 Possible Segmentation Fault on Outgoing Traffic Connection Initialization 51 4 12 26 Possible Segmentation Fault on TCP Transport Plugin Shutdown 2 52 4 12 27 Potential Segmentation Fault when Outstanding Asynchronous Writes Exceeded write_ buffer_allocation Limits 0 000 00000 e cece cece eeeeeeeeeeeeeeeeees 52 4 12 28 Potential Data Corruption when Using TCP Transport Plugin with force _asynchronous_ send Enabled si cic ohh cee A T ELS lies EEE os ie ce tee ET 52 4 12 29 RTPS Auto ID from MAC did not Use MAC Address Darwin and QNX Systems Only 52 4 12 30 Segmentation Fault on TCP Transport if TCP Client Connection Failed to Connect 52 4 12 31 Segmentation Fault when Creating DTLS DomainParticipants in Multiple Threads 53 4 12 32 Sockets not Completely Closed when Using TCP Transport Plugin with TLS Support 53 4 12 33 TCP Connections for Server Outgoing Traffic may not have Reopened After Short TCP Chent Disconnection series e 8d fcc eee ve eld dooce EA E ale ed EN 53 4 12 34 TCP Transport Communication Did not Recover after Client Disconnected 53 4 12 35 TCP Transport s enable _k
2. MONITORFUNC p RTIDefaultMonitor create int retVal putenv varString DomainParticipantFactory must be created after env variable setting RTI Issue ID CORE 5540 81 Chapter 6 Experimental Features Experimental features are used to evaluate potential new features and obtain customer feedback They are not guaranteed to be consistent or supported and they should not be used in production The APIs for experimental features use the suffix _exp to distinguish them from other APIs For example const DDS TypeCode DDS DomainParticipant get_typecode exp COM Sie hictaue EE OC MEM CIN e iy In the API Reference HTML documentation experimental APIs are marked with lt lt exper imental gt gt Experimental features are clearly documented as such in the RTI Connext DDS Core Libraries What s New document or the Release Notes for the component in which they are included as well as in the component s User s Manual Disclaimers e Experimental feature APIs may be only available in a subset of the supported languages and for a subset of the supported platforms e The names of experimental feature APIs will change if they become officially supported At the very least the suffix exp will be removed e Experimental features may or may not appear in future product releases e Experimental features should not be used in production Please submit your comments and suggestions about experimental features to su
3. a call to DDS_DynamicData_copy created a misaligned DynamicData object that could not be used This problem has been resolved RTI Issue ID CORE 6522 4 8 3 DDS DYNAMIC_DATA_PROPERTY_DEFAULT DDS DYNAMIC_ DATA_TYPE_PROPERTY_DEFAULT Missing from C API Previous releases were missing the definitions for DDS DY NAMIC_DATA PROPERTY DEFAULT DDS DYNAMIC_DATA_TYPE PROPERTY DEFAULT constants This issue has been resolved RTI Issue ID CORE 6349 4 8 4 Failure when Printing DynamicData Object with Type that used Inheritance Calling print on a DynamicData object whose underlying type used inheritance caused the print function to print incorrect values for the members of the derived type or to fail with the error code DDS _ RETCODE_ERROR This problem has been resolved RTI Issue ID CORE 6455 4 8 5 Inconsistencies between DynamicData s set_char and get_char Java API Only The value that was set for a char using any of the following APIs in Java was not always the value that was returned when using the DynamicData APIs to retrieve the set values e DynamicData set_char Q e DynamicData set_char_array 39 4 8 6 Incorrect Instance Handles on DynamicData DataReaders Subscribing to Topics with Mutable e DynamicData set_char_seq The problem was due to the fact that a char in Java is a 16 bit unsigned value but the OMG IDL spe cification says that the char data type is 8 bits Therefore only char values between 0 a
4. from_nanos DDS_UnsignedLongLong nanoseconds Old from_seconds DDS_Long seconds New from_seconds DDS_UnsignedLong seconds Java Old from_seconds long seconds New from_seconds int seconds 3 2 3 Release Specific Information for RTI Data Distribution Service 4 x Connext DDS 4 5 and 5 x NET Old from_micros long microseconds New from_micros System UInt64 microseconds Old from_millis System UInt32 milliseconds New from_millis System UInt64 milliseconds Old from_nanos long nanoseconds New from_nanos System UInt64 nanoseconds 3 2 3 Release Specific Information for RTI Data Distribution Service 4 x Connext DDS 4 5 and 5 x 3 2 3 1 Type Support and Generated Code Compatibility long long Native Data Type Support In Connext DDS and RTI Data Distribution Service 4 5c d e we assume all platforms natively support the long long data type This was not the case in older versions of RTI Data Distribution Service There is no longer a need to define RTI CDR_SIZEOF LONG LONG to be 8 on some platforms in order to map the DDS long long data type to a native long long type double long long and unsigned long long Code Generation If your Connext DDS or RTI Data Distribution Service 4 3 4 5e application s data type uses a double long long unsigned long long or long double it will not be backwards compatible with applications built with RTI Data Distrib
5. have experienced a segmentation fault in the function PRESCstReaderCollator_addCol latorEntryToVirtualWriterQueue This problem has been resolved RTI Issue ID CORE 6501 4 13 39 Possible Race Condition during Participant Deletion may have Caused deadlock risk Error In limited scenarios deletion of DomainParticipants may have caused a deadlock risk error message and prevented completion of DDS operations that were being executed in other threads This issue only occurred in applications that had created multiple DomainParticipants The specific error message was sim ilar to REDAWorker enterExclusiveArea worker U70 73ccO deadlock risk Camino emis OxilOlSZals ot level 30 item lewell 50 This problem has been resolved RTI Issue ID CORE 6045 69 4 13 40 Potential Segmentation Fault after Participant Deletion 4 13 40 Potential Segmentation Fault after Participant Deletion Creating multiple DomainParticipants in parallel may have caused a segmentation fault when those DomainParticipants were deleted This problem has been resolved RTI Issue ID CORE 6805 4 13 41 Potential Segmentation Fault in Unkeyed DataReaders when Trying to Remove Expired Samples An unkeyed DataReader may have issued a segmentation fault when trying to remove expired samples from its cache Samples can be expired because the associated remote DataWriter set a lifespan or because of delays set in ReaderDataLifecycleQosPolicy The segme
6. participant_property_ string max 3 2 2 6 New Default Value for DomainParticipant Resource Limit participant_property_ string_max_length Starting with Connext DDS 5 1 0 the default value of participant_property_string_max_length in the DomainParticipantResourceLimitsQosPolicy has been changed from 1024 characters to 2048 to accom modate new system properties see Section 8 7 System Properties in the RTI Connext DDS Core Librar ies User s Manual 3 2 2 7 New Default Value for DomainParticipant s participant_name name Starting with Connext DDS 5 1 0 the default value for participant_qos participant_name name has been changed from the string ENTITY to NULL to provide consistency with the default name of other entities such as DataWriters and DataReaders 3 2 2 8 Constant DDS_ AUTO_NAME_ENTITY no Longer Available Starting with Connext DDS 5 1 0 the constant DDS AUTO NAME ENTITY which was used to assign the name ENTITY to a participant has been removed References to DDS_AUTO NAME_ 3 2 2 9 Changes to Time_t and Duration_t Methods Starting with Connext DDS 5 2 0 the signatures for some of the Time_t and Duration_t methods have changed Traditional C Old from_micros DDS_UnsignedLong microseconds New from_micros DDS_UnsignedLongLong microseconds Old from_millisDDS_UnsignedLong milliseconds New from_millis DDS_UnsignedLongLong milliseconds Old from_nanos DDS_UnsignedLong nanoseconds New
7. 00000 0 cece eee eee eee e eee 25 4 1 1 Invalid Value for valid response _data in AcknowledgmentInfo NET API Only 25 4 1 2 REDAInlineList_addNodeToBackEA precondition Error Message when Using Application Level Acknowledgment gt is 02 8 2 22secacecausdese si a ce danoerdie et aaenah hie whee nee ce 25 4 1 3 Unable to Send Application Level Acknowledgement Messages when Using Delegated Reli ability mo kk fs Re nes Nt ee PN 26 4 1 4 Unexpected Memory Growth on DataWriter when Using Batching and Enabling Applic ation Level Acknowledgement 0 0 00 0 0 ccc cece cece ccc cee cece cece cee eeeteeeeeeeeees 26 4 1 5 Unexpected Memory Growth when using DataReader s acknowledge _sample Operation 26 4 1 6 Unexpected Timeout Error in DataWriter s wait_for_acknowledgments when using Applic ation Level Acknowledgment 2 2 2 2 220 0200 ccc c cece cece ccc ccc cee cece cece ceteeeeeseeeees 26 4 2 Fixes Related to Batching 222522360 288 8 ee a Re EP RO ORO OPEB BESO 8s ot ee 27 4 2 1 Last value Per Instance Not Guaranteed when Using Batching and No Resources to Satisfy History Depth oe AEA EE bot See Ps BES od ha ees Th eos 27 4 2 2 Unexpected Precondition Error when Using Batching on DataWriter 24 27 4 3 Fixes Related to Conditions and Waitsets 002 00 o cece eee cc cece eee ee cece cece cece ee eeeee 27 4 3 1 Calling set_query_parameters with Same Key Only Expression in Quer
8. Connext DDS RTI Issue ID CORE 6119 4 13 35 Possible Failure when Registering Same Type Twice in Two Threads Registering a type for a second time on the same DomainParticipant is valid and doesn t have any effect For example FooSupport register type participant Foo returns DDS RETCODE OK FooSupport register type participant Foo returns DDS RETCODE OK but doesn t do anything However if both calls to FooSupport_register_type Q happened concurrently sometimes one succeeded and the other one failed 68 4 13 36 Possible Memory Leak if Finalizing DomainParticipantFactory Failed This problem has been resolved now both calls will succeed even if they are executed concurrently RTI Issue ID CORE 6167 4 13 36 Possible Memory Leak if Finalizing DomainParticipantFactory Failed If finalizing the DomainParticipantFactory failed there may have been a memory leak depending on why the finalization failed This problem has been resolved RTI Issue ID CORE 6362 4 13 37 Possible Memory Leak upon Failed DomainParticipant Creation Under certain circumstances a failed DomainParticipant creation may have caused a memory leak This problem has been resolved RTI Issue ID CORE 6377 4 13 38 Possible Segmentation Fault on Keyed Reader when Using Collaborative DataWriters or Group Ordered Access When using collaborative DataWriters or group ordered access a DataReader reading keyed samples may
9. Console 2 0 0 000000002222 66 4 13 26 Memory Leak in Unmanaged Code when Using NET API 0 0 0000020000 66 4 13 27 Monitoring Library Generated Incorrect Values for CPU and Memory Usage OS X Plat forMs Onbyi PE EA PEE E shes sa doce jase PEE ITEE EE ies eaten PEAN 67 4 13 28 NET Instances of Some Classes were not Garbage Collected 002 022200222 22 67 4 13 29 Non Recoverable Inconsistent State in Participant after Failed Call to Enable Participant 67 4 13 30 Operations Involving StatusCondition GetHashCode may have Thrown Over flowException C API Only 2 2 02 67 4 13 31 Poor Performance of DataWriter s wait_for_acknowledgments Windows Platforms Only 67 4 13 32 Possible Crash when Calling take_next_sample After Failed Registration of Builtin Type Java API Only oct cts A lok os Seu cite ot Si dso A A OT 68 4 13 33 Possible Crash if Type Unregistered from Participant while Another Participant Still using that TypeSupport C API Only 2 oo e cece ececeeeeeeeeeeeeees 68 4 13 34 Possible Failure of copy_from copy_from_no_alloc in a NET Loanable Sequence 68 4 13 35 Possible Failure when Registering Same Type Twice in Two Threads 68 4 13 36 Possible Memory Leak if Finalizing DomainParticipantFactory Failed 69 4 13 37 Possible Memory Leak upon Failed DomainParticipant Creation 222 69 4 13 38 Possible Segmen
10. Correctly Java API Only RTI Issue ID CORE 6483 4 13 18 IDL Enum did not Implement java io Serializable Correctly Java API Only The creation of an instance of a subclass of com rti dds util Enum by serializing it in Java yielded an object whose equal method would always return false when compared with other instances of the same Enum subclass RTI Issue ID CORE 6604 4 13 19 Incorrect Conversion of Time_t and Duration_t due to Overflow The Time tand Duration t conversion methods such as from_micros from_nanos Q and from_millis Q returned an incorrect value if the converted value was greater than the maximum value that can be stored in the Time_t and Duration_t objects This problem has been resolved The Time_t and Duration_t conversion methods will return TIME MAX and DURATION_INFINITE respectively if the passed in parameter produces an overflow RTI Issue ID CORE 6438 4 13 20 Incorrect IDL char Deserialization by Java DataReaders A Java DataReader did not correctly deserialize members of type char when the value was in the range 128 255 For example struct Mytyps i ehar mily je Consequently the value sent by a Data Writer was not that same as the value the receiving DataReader provided to the application This problem has been resolved RTI Issue ID CORE 6758 4 13 21 Initialize and Copy operations for DDS_WriteParams_t did not Process All Members C C APIs Only Some members in the DDS_W
11. De Met red 4 os Seno ote Begs os Vet 33 4 54 Memory Leak upon Remote Participant Discovery 2 002 2 eee e eee eee eee eee eee 33 4 5 5 Modified RTPS Wire Protocol Built in Endpoint Mask to Match OMG Specification 33 4 5 6 No Communication with Peer that was Removed Re Added 2 0 22 22 ee eee ee eee 34 4 5 7 ParticipantBuiltinTopicData was Missing Domain ID NET API Only 34 4 5 8 Possible Segmentation Fault upon Failure Asserting Remote Reader 34 4 5 9 Potential Bus Error when Discovering Remote Participants with Properties Set Solaris Plat forms on 64 bit Spare CPUs Only cerro aaae A aae I R pa 34 4 5 10 Potential Unexpected Memory Growth when Asserting a Remote Reader 34 4 5 11 Unable to Set remote_participant_allocation with incremental_count of 0 4 5 12 Unbounded Memory Growth after Failed Attempt to Ignore Participant 4 5 13 Unexpected Memory Growth if Remote Endpoint Changed QoS that is Propagated with Built in Topics 22 i225 64 70 ea ee i ee Sh eS hI ss Bt LL 4 5 14 Unexpected Memory Growth when Discovering Remote Participants 2 4 5 15 Unexpected Memory Growth when Discovering Remote Participants with Role Name 4 5 16 Unexpected PRESPsService_destroyLocalEndpointWithCursor remove remote endpoint Warning Message 0 o cee e eee cece cece ee cece eee
12. Enabled 5 5 Disabled Interfaces on Windows Systems 222222222 eeeee 5 6 HighThroughput and AutoTuning built in QoS profiles may cause Communication Failure when Writing Small Samples 2 2 22 0220 ccc areara rarr eeteeeeeeees 5 7 Segmentation Fault when Creating DTLS DomainParticipants in Multiple Threads Solaris and ONX Platforms Only sinerien eo on ose e done ddag ee eee tasees ca seeds 5 8 Typecodes Required for Request Reply Communication Pattern _ 00 0 000000000000002 2000s 5 9 Uninstalling on AIX Systems ooo c cece cece cece eee c eee e ee ceceeeeeeeceeeeeeeeeeeeeeeeees 5 10 Writer side Filtering Functions Can be Invoked Even After Filter Unregistered 5 11 Writer Side Filtering May Cause Missed Deadline 00 000 0 cece cece eee neces 78 5 12 Wrong Error Code After Timeout on write from Asynchronous Publisher 2222 78 5 13 Known Issues with Dynamic Data 0000000000000000 00000001 r rara renra renra eee eee eeeeeee 79 5 14 Known Issues in RTI Monitoring Library 22 2 0 0 cle ec c cece eee eee cece eee e eee eeeeeeeeeeeees 80 5 14 1 Problems with NDDS_ Transport _Support_set_builtin_transport_property if Participant S nds Monitoring Data 2202 29 55 84 as oi Boia ase ee ee A bP 80 5 14 2 Participant s CPU and Memory Statistics are Per Application 22222222 22 80 5 14 3 XML Based Entity Creation Nominally
13. Incompatible with Static Monitoring Library 80 Chapter 6 Experimental Features _ 222 2 0220 0 ooo 82 Chapter 1 Introduction This document includes the following e System Requirements Section Chapter 2 on page 1 e Compatibility Section Chapter 3 on page 7 e What s Fixed in 5 2 0 Section Chapter 4 on page 25 e Known Issues Section Chapter 5 on page 75 e Experimental Features Section Chapter 6 on page 82 For an overview of new features please see the What s New document Many readers will also want to look at additional documentation available online In particular RTI recom mends the following e Use the RTI Customer Portal http support rti com to download RTI software access doc umentation and contact RTI Support The RTI Customer Portal requires a username and password You will receive this in the email confirming your purchase If you do not have this email please contact license rti com Resetting your login password can be done directly at the RTI Customer Portal e The RTI Community Forum http community rti com provides a wealth of knowledge to help you use RTI Connext DDS including Best Practices Example code for specific features as well as more complete use case examples Solutions to common questions A glossary Downloads of experimental software And more Whitepapers and other articles are available from http www rti com resources Chapter 2 System Req
14. System Running Out of Memory 4 13 47 Segmentation Fault when DataWriter Creation Failed because System Running Out of Memory There was an issue that may have caused a segmentation fault when DataWriter creation failed as a con sequence of the system running out of memory In particular this issue may have occurred when using unbounded strings This problem has been resolved If a DataWriter could not be created because the system was running out of memory this may have caused a segmentation fault In particular this issue may have occurred when using unbounded strings This problem has been resolved RTI Issue ID CORE 6728 4 13 48 TypeCode equal Considered TypeCodes with Arrays of Different Dimensions as Equal TypeCode equal may have returned true for two typecodes even if they were different This occurred when the TypeCodes contained arrays with the same type but different dimensions This problem has been resolved RTI Issue ID CORE 6527 4 13 49 Unbounded Memory Growth when Calling NDDS Config Logger Set Output APIs Calling the NDDS Config Logger APIs set_output_fileQ set_output_file_name or set_output_ device Q may have caused unbounded memory growth The same issue also affected DDS_DomainPar ticipantFactory_set_qos Note that this issue was not a memory leak since all the used memory was released upon application shutdown This problem has been resolved RTI Issue ID CORE 6706 4 13 50 Unbounded Memory
15. a memory leak in applications that used the TCP transport in asymmetric mode server_bind_ port 0 The size of the memory leak depended on the number of TCP connections opened by the trans port and the value of the transport property parent message_size_max This problem has been resolved RTI Issue ID COREPLG 96 4 12 13 Memory Issue upon TCP Transport Plugin Server Disconnection There was a race condition that may have provoked a segmentation fault in the TCP Transport Plugin server upon a client disconnection As a consequence of this race condition the TCP Transport plugin server may have also run into unbounded memory growth This issue has been resolved RTI Issue ID COREPLG 320 4 12 14 Message Deserialization Errors in TCP Transport Plugin There was an issue that may have caused errors when deserializing control messages sent by the TCP Transport plugin This problem has been resolved RTI Issue ID COREPLG 297 48 4 12 15 Non RTPS Compliant UDPv6 Locator kind 4 12 15 Non RTPS Compliant UDPv6 Locator kind Connext DDS 5 1 0 and earlier releases used a UDP V6 locator kind that was not compliant with the value provided by the RTPS specification The value used in Connext DDS 5 1 0 was 5 while the RTPS spe cification specifies a value of 2 Because of this issue Connext DDS could not interoperate with other DDS vendors over UDP v6 This problem has been resolved Notice that by doing this out the box back ward compat
16. dd54dd55 This problem has been resolved RTI Issue ID COREPLG 313 4 12 3 DataWriter s Transport Priority had no Effect in TCP Transport Plugin Server Sockets The DataWriter s Transport Priority had no effect on TCP Transport Plugin server sockets This problem has been resolved RTI Issue ID COREPLG 298 4 12 4 DomainParticipant s add_peer and remove_peer not Supported by TCP Transport The TCP transport plugin did not support the DomainParticipant s add_peer and remove_peer oper ations resulting in outstanding TCP connections that were not closed This problem has been resolved RTI Issue ID COREPLG 203 4 12 5 Duplicated Transaction ID in TCP Transport Plugin Control Messages Windows Platforms Only There was an issue that may have caused the TCP Transport plugin to send the same transaction ID in dif ferent control message exchanges Consequently this may have caused errors establishing new con nections This issue which only affected Windows platforms has been resolved RTI Issue ID COREPLG 341 46 4 12 6 Error Establishing TCP Transport Client Connection could Cause Communication not to Recover 4 12 6 Error Establishing TCP Transport Client Connection could Cause Communication not fo Recover There was an issue that may have caused communication between a TCP transport plugin client and server not to recover In particular this issue may have occurred when a client dropped a connection before it was
17. eee cece E Erra arrearen nrnna 4 5 17 Unnecessary Participant Announcements after Participant Leaves the System 4 6 Fixes Related to Distributed Logger _ 0 22200 o ooo eee eee eee 46 1 Default Filter L evelsfor Java oor 25036 tate oes Pees a dd E SE Sook Bede agreia o 4 6 2 Deletion of C C Distributed Logger s DataWriters not Propagated via Discovery 4 6 3 Possible Warning when Compiling Distributed Logger Examples on UNIX Based Systems 4 7 Fixes Related to Durable Writer History 22 0 ccc cece c cece ee eee ee cece eceeeeeeeeceteeeeeeees 4 7 1 DataWriter Configured to Use Durable Writer History did not Communicate with Per SISLENCE SELVICE joo oe osc 23 fe ee ee ee eh elie te E 4 7 2 Long Delay Receiving Data from DataWriter with Durable Writer History 4 7 3 Samples not Acknowledged after Restarting DataWriter in Some Cases 22 4 74 Unexpected Memory Growth when using Durable Writer History and Keyed Topics 4 8 Fixes Related to DynamicData x ctacecnandc se rdnce ccek Sasa ncecugeevndasc ote adee otek dts aoe ee tind 4 8 1 Cannot Create DynamicDataTypeSupport Object with Typecodes Larger than 64k Java APBROMLY 5 36 E N anit cael ta docs Jha Hoetonstasia cde Sed S E A Atossa didi EAEE 4 8 2 DDS DynamicData_copy could Create Incorrect DynamicData Object 4 8 3 DDS DYNAMIC DATA PROPERTY DEFAULT DDS DYNAMIC_DATA_TYPE_ PROPERTY D
18. fully established To address this issue the TCP transport plugin now includes a new server connection negotiation timeout feature This feature will close server connections that have not completed the TCP transport negotiation after a time period specified by the new TCP transport property server_connection_negotiation_ timeout By default this property is set to 10 seconds RTI Issue ID COREPLG 311 4 12 7 Failure Enabling DomainParticipant when using UDPv6 Transport in Some Cases When using the built in UDPv6 transport plugin inclusion of a UDPv4 multicast address without an alias e g 239 255 0 1 in NDDS_ DISCOVERY PEERS file or environment variable or in the multicast_ receive_addresses list in the DiscoveryQosPolicy may have resulted in a failure during when enabling a DomainParticipant The following error may have been reported DO000 ENABLE DDS DomainParticipant enableI Automatic participant index failed to initialize PLEASE VERIFY CONSISTENT TRANSPORT DISCOVERY CONFIGURATION NOTE On Windows verify at least one network interface is enabled DDSDomainParticipant impl createI ERROR Failed to auto enable entity DomainParticipantFactory impl create participant create failure creating participant Creare ppan Ciparo This problem has been resolved RTI Issue ID CORE 2002 4 12 8 Host Improperly Identified when no IPv4 Interfaces Available The host identity was not pro
19. in a timely manner This problem has been resolved RTI Issue ID CORE 6237 4 3 5 ReadCondition not Always Triggered when Samples Available after Losing Remote Participant Liveliness A ReadCondition was not always properly triggered after loss of liveliness for a remote Participant In par ticular the ReadCondition may have not always triggered as expected in the presence of DDS_NOT_ ALIVE NO WRITERS INSTANCE STATE samples in the DataReader This problem has been resolved RTI Issue ID CORE 6358 28 4 3 6 WaitSet Operations get conditions and wait were not Thread Safe 4 3 6 WaitSet Operations get_conditions and wait were not Thread Safe Calling the WaitSet operation get_conditions from two different threads at the same time or having one thread call get_ conditions and another one call wait may have resulted in undefined behavior This problem has been resolved and these operations can be safely called concurrently Note Calling waitQ concurrently from multiple threads is not permitted and returns PRECONDITION _ NOT_MET as indicated in the API Reference HTML documentation RTI Issue ID CORE 6143 4 4 Fixes Related to ContentFilters 4 4 1 ContentFilteredTopics may not have Correctly Filtered Some C Types with Inheritance C types with some specific memory layouts generated with rtiddsgen from IDL types that use inher itance may have not been filtered correctly This could have caused dropped samples
20. member RTI Issue ID CORE 3949 e DynamicData does not support out of order assignment of members that are longer than 65 535 bytes In this situation the DynamicData API will report the following error sparsely stored member exceeds 65535 bytes For example grete Myce aulctems SiErLaGKUSLOVZ gt iil p sering SNOOZE With the above type the following sequence of operations will fail because m2 is assigned before ml and has a length greater than 65 535 characters 79 5 14 Known Issues in RTI Monitoring Library stri DD SmoeriEngma loc USO Z y memset Ser Txi ISTA Siete LSO O DDS DynamicData_set_ string data m2 DDS DYNAMIC DATA MEMBER ID UNSPECIFIED str DDS DynamicData_set_ string data m1 DDS DYNAMIC DATA MEMBER ID UNSPECIFIED str If member m1 is assigned before m2 the sequence of operations will succeed RTI Issue ID CORE 3791 Bug 13745 5 14 Known Issues in RTI Monitoring Library 5 14 1 Problems with NDDS_Transport_Support_set_builtin_transport_ property if Participant Sends Monitoring Data If a Connext DDS application uses the NDDS_Transport_Support_set_builtin_transport_property API instead of the PropertyQosPolicy to set built in transport properties it will not work with Monitoring Library if the user participant is used for sending all the monitoring data the default settings As a work around you can configure Monitoring Li
21. occurred when all of the following conditions were true e The DataWriter was configured with application acknowledgments enabled e The DataWriter was configured with durable subscriptions enabled e The DataWriter used the ODBC sample history e The sample history was restored from the database In that situation samples in the writer that met all the criteria to be considered acknowledged by the DataReaders may not have been marked as such This caused unnecessary data retransmissions and pre vented the release of those samples from the database if needed RTI Issue ID CORE 6580 4 7 4 Unexpected Memory Growth when using Durable Writer History and Keyed Topics In previous releases there may have been unbounded memory growth when using Durable Writer History on a keyed Data Writer This problem has been resolved RTI Issue ID CORE 6784 38 4 8 Fixes Related to DynamicData 4 8 Fixes Related to DynamicData 4 8 1 Cannot Create DynamicDataTypeSupport Object with Typecodes Larger than 64k Java API Only Attempting to create a DynamicDataTypeSupport object with a typecode with a size larger than 64k while using the Java API would fail This problem has been resolved There is no longer a limit imposed on the size of the typecode that can be used to created a DynamicDataTypeSupport object in the Java API RTI Issue ID CORE 6427 4 8 2 DDS_DynamicData_copy could Create Incorrect DynamicData Object Under a few circumstances
22. on Darwin and QNX systems In particular when the application set the WireProtocolQosPolicy s rtps_auto_id_kind to RTPS AUTO ID FROM MAC the middleware used to retrieve an incorrect value for the GUID that incidentally matched the IP address and some garbage instead of the MAC address This problem has been resolved RTI Issue ID CORE 6165 4 12 30 Segmentation Fault on TCP Transport if TCP Client Connection Failed to Connect Under certain circumstances a failed connection from a TCP Transport plugin client connection may have resulted in a segmentation fault In particular this may have been triggered as a result of disabling all the interfaces on the system while running the TCP Transport plugin This problem has been resolved RTI Issue ID COREPLG 278 52 4 12 31 Segmentation Fault when Creating DTLS DomainParticipants in Multiple Threads 4 12 31 Segmentation Fault when Creating DTLS DomainParticipants in Multiple Threads The creation of DTLS enabled DomainParticipants was not thread safe and may have led to a seg mentation fault in the function RTIOsapiSemaphore_take This issue has been resolved for Windows Linux and Android systems RTI Issue ID COREPLG 264 4 12 32 Sockets not Completely Closed when Using TCP Transport Plugin with TLS Support Sockets were not completely closed after a connection was disconnected This issue only affected the TCP transport plugin connections when using RTI TLS Support RTI Is
23. prevented the application from receiving the sample This problem has been resolved RTI Issue ID REQREPLY 23 4 11 3 Requester or Replier Write Timeout Caused Exception of Wrong Class C API Only If the Requester send_request or Replier send_reply operations failed because the write operation timed out they threw an AlreadyDeletedException instead of a TimeoutException This problem has been resolved now they throw TimeoutException RTI Issue ID REQREPLY 27 4 12 Fixes Related to Transports 4 12 1 Bus Error when Using Shared Memory Transport on Sparc Solaris 64 bit Platforms Connext DDS may have generated a bus error when using the shared memory transport on Sparc Solaris 64 bit platforms This problem has been resolved Notice that by doing this out the box backward com patibility with previous releases on Sparc Solaris platforms 32 bit and 64 bit using shared memory trans ports is broken 45 4 12 2 Data Corruption when Sending Large Data at a High Rate from a TCP Transport Plugin with RTI Issue ID CORE 6777 4 12 2 Data Corruption when Sending Large Data at a High Rate from a TCP Transport Plugin with Windows IOCP There may have been data corruption when sending large data at a high rate from a TCP Transport plugin with Windows IOCP You may have seen the following message from the remote TCP Transport plugin NDDS Transport _TCPv4 Connection _nonBlockingRead wrong msg signature recv 00010000 expected
24. receive data of the defined type It also generates code that takes care of low level details such as transforming the data into a machine inde pendent representation suitable for communication While this is not the common case some upgrades require you to regenerate the code produced by RTI Code Generator The regeneration process is very simple you only need to run the new version of RTI Code Generator using the original input IDL file This process will regenerate the header and source files which can then be compiled along with the rest of your application 3 2 2 Release Specific Information for Connext DDS 5 x 3 2 2 Release Specific Information for Connext DDS 5 x This section points out important differences in Connext DDS 5 x compared to 4 5f that may require changes on your part when upgrading from 4 5f or lower to 5 x 3 2 2 1 Required Change for Building with C Libraries for QNX Platforms New in Connext DDS 5 0 0 For QNX architectures in release 5 x The C libraries are now built without fno rtti and with fex ceptions To build QNX architectures with release 5 x you must build your C applications without fno exceptions in order to link with the RTI libraries In summary Do not use fno exceptions when building a C application or the build will fail It is not necessary to use fexceptions but doing so will not cause a problem It is no longer necessary to use fno rtti but doing so will not cause a pr
25. with No Message when It Failed Java APIO 1i 2B S52 EE EE se E Nat ete Peet a tances eco ERRE AAE 63 4 13 12 Error Printing Unsigned Longs with FooSupport_print_dataQ 0 00 0222 63 4 13 13 Error When Enabling DomainParticipant 2 2 2 2 222 e cece cece cece e cece cence 63 4 13 14 Error Writing Primitive Sequences with Maximum of Zero Elements NET API Only 63 4 13 15 Exception in Java while Using HashMap with DomainParticipantQos asa Key 64 4 13 16 Failure Copying Sample after Calling take read not Reported as Error NET API Only 64 4 13 17 FlowController set_property Returned Wrong Error Codes in Some Cases 64 4 13 18 IDL Enum did not Implement java io Serializable Correctly Java API Only 65 4 13 19 Incorrect Conversion of Time _t and Duration_t due to Overflow 222 65 4 13 20 Incorrect IDL char Deserialization by Java DataReaders 0 0202002 202 e eee e eee ee eee 65 4 13 21 Initialize and Copy operations for DDS_WriteParams_t did not Process All Members CCT EFAPISONIY Yena RE ete 0 See 65 4 13 22 JVM Crash when Passing Null Type or Topic Names to Participant s create _topic 66 4 13 23 Large Samples Never Repaired in Some Scenarios 222 20222 e cece eee e eee eee 66 4 13 24 Late Joiner DataReader may not have Received All Historical Data 2 66 4 13 25 Logging sent Non Printable non ASCII Data to
26. with RTI Data Distribution Service 4 4d and thereby included in Connext DDS the default XML QoS Profiles file has been renamed and is installed in a new directory e Old location name NDDSHOME resource xml NDDS_QOS_PROFILES xml e New location name NDDSHOME resource xm NDDS_QOS_PROFILES example xml 3 3 Extensible Types Compatibility If you want to use this QoS profile you need to set up your NDDSHOME environment variable at run time and rename the file NDDS_QOS_PROFILES example xml to NDDS_QOS PROFILES xml i e by default even if your NDDSHOME environment variable is set this QoS profile is not used See Section 17 2 How to Load XML Specified QoS Settings in the RTI Connext DDS Core Libraries User s Manual for details Changes in the default value for max_objects_per_thread Starting with RTI Data Distribution Service 4 4d and thereby included in Connext DDS the default value for the max_objects_per_thread field in the SystemResourceLimitsQosPolicy has been changed from 512 to 1024 Type Change in Constructor for SampleInfoSeq NET Only Starting with RTI Data Distribution Service 4 5c and thereby included in Connext DDS the constructor for SampleInfoSeq has been changed from SampleInfoSeq UInt32 maxSamples to SampleInfoSeq Int32 maxSamples This was to make it consistent with other sequences Default Send Window Sizes Changed to Infinite Starting with RTI Data Distribution Service 4 5d and thereby included in C
27. 0 bytes in the TCP Transport plugin upon clos ing a server connection In particular this was a timing issue that may have triggered in a scenario where a TCP Transport plugin was accepting and closing connections at a very high rate Note this was not a leak since the memory was properly returned upon TCP Transport plugin destruction This problem has been resolved RTI Issue ID COREPLG 305 4 12 56 Unexpected Messages when Using TCP Transport s Force Asynchronous Send The TCP Transport plugin had an issue during the clean up of connections when force_asynchronous_ send was enabled Consequently the TCP Transport plugin Client may have delivered unexpected mes sages to the remote TCP Transport plugin Server This problem has been resolved RTI Issue ID COREPLG 304 4 12 57 Unexpected TCP Transport Plugin Error on Packet Reception when Using IOCP Mode When enabling IOCP monitoring with the property socket_monitoring_kind the TCP transport plugin did not properly catth WSAECONNRESET errors This may have caused a lost connection to never recover When this problem occurred the following messages were continuously printed NDDS Transport TCPv4 receive rEA SocketGroup wait failed NDDS Transport _TCP_SocketGroup_waitForCompletionPacket error returned by GetQueuedCompletionStatus in SocketGroup wait issuing recvZero errno 10054 An existing connection was forcibly closed by the remote host 58 4 12 58 Unexpec
28. 07 3 5 2 3 How to Change message_size_max in Connext DDS 5 0 0 Applications for Compatibility with lt participant_qos gt lt property gt lt value gt lt element gt lt name gt dds transport UDPv4 builtin parent message size max lt name gt lt value gt 65507 lt value gt lt element gt lt value gt lt property gt lt participant qos gt See Chapter 15 Transport Plugins in the RTI Connext DDS Core Libraries User s Manual for more details on how to change a transport s configuration To help detect misconfigured transport settings Connext DDS 5 1 0 will send the transport information specifically the message_size_max during participant discovery Sharing this information will also make it easier for tools to report on incompatible applications in the system If two Connext DDS 5 1 0 DomainParticipants that discover each other have a common transport with dif ferent values for message_size_max the Connext DDS core will print a warning message about that con dition Notice that older Connext DDS applications do not propagate transport information therefore this checking is not done You can access a remote DomainParticipant s transport properties by inspecting the new transport_info field in the DDS_ParticipantBuiltinT opicData structure See Chapter 16 Built in Topics in the RTI Con next DDS Core Libraries User s Manual for more details about this field There is a related new field transport_info_l
29. 2 41 TCP Transport Plugin did not Send Large Samples when Using TLS force_asynchronous _ 4 12 41 TCP Transport Plugin did not Send Large Samples when Using TLS force_asynchronous_send and Windows IOCP In the 5 1 0 5 release when used with TLS Support the TCP Transport plugin could not send large mes sages if the Windows IOCP socket_monitoring_kind and force_asynchronous_send properties were both enabled This problem has been resolved RTI Issue ID COREPLG 312 4 12 42 TCP Transport Plugin Hangs when using Transport Priority The TCP Transport plugin would hang when the transport_priority_mask property was set to a value higher than Ox7fffffff This problem has been resolved RTI Issue ID COREPLG 322 4 12 43 TCP Transport Plugin More Robust Against a Failure in SSL Handshake When using TLS support the TCP Transport plugin would shut down upon a failure in the SSL hand shake In this release the TCP Transport plugin is more robust In particular if the plugin fails to complete the SSL handshake for a newly accepted connection it will print an error message and close the associated connection but it will not trigger a shutdown RTI Issue ID COREPLG 342 4 12 44 TCP Transport Plugin Reconnection Problem after Disconnecting Network Interface Linux Systems Only A disconnection of the network interface e g unplugging the network cable may have left the TCP Transport plugin in an inconsistent state preventing comm
30. EFAULT Missing from C API ooo 00 000ccc00cccceeececeeceeeeeeseeees 4 8 4 Failure when Printing DynamicData Object with Type that used Inheritance 4 8 5 Inconsistencies between DynamicData s set_char and get_char Java API Only 4 8 6 Incorrect Instance Handles on DynamicData DataReaders Subscribing to Topics with Mut able Typesi 8 Aten t A on eed See CoS oR oh eS heh ence AEA EE A eo 4 8 7 Possible Crash when Calling DDS DynamicData_equals if Types Contained Arrays C and C APIs Only 2 2 2222 eee ce eee cece eee ce cee e a oaa a aE 4 8 8 Possible Crash when Calling DynamicData get_char_seq if Sequence Passed In was Too Small JavasAPLOnly gt ss22cc3 dreara e oe Soa eden in bodies oc la a E E A E 4 8 9 Possible Memory Leak when using DynamicData with Java API 002 2222002 4 8 10 Potential Failure Writing DynamicData Object with Unset Optional Primitive Members 4 8 11 Potential Serialization Errors on DynamicData DataWriters Publishing Types Containing Wide Stmngs feos SOAP OY ns te ONE RIS LC tn Ott Oh es BNA NA 4 8 12 Segmentation Fault when Setting pool buffer max_size to Zero in DataWriter using Dynamic Data sees tan ert tel aN es Pas ee tins thes aol h cau E he Ate 4 8 13 Some DynamicData Serialization Properties Missing Java and NET APIs Only 41 4 8 14 Some Operations on DynamicData Objects with Optional Members Failed 42 4 8 15 S
31. Entities received data over multicast e The system on which the DomainParticipant ran used a firewall This problem has been resolved RTI Issue ID CORE 5954 4 12 20 Port Reservation did not Account for All Enabled Transports In previous releases RTPS port reservation incorrectly used the DiscoveryQosPolicy s enabled_trans ports configuration for reserving user data ports instead of using the TransportUnicastQosPolicy As a consequence two applications running on the same machine may have failed to open receive ports When this issue was triggered the following messages or similar ones were printed COMMENDLocalReaderRO init create unicast entryPort COMMENDSrReaderService createReader init ro PRESPsService enableLocalEndpointWithCursor create Reader in srrService PRESPsService enableLocalEndpoint enable local endpoint This problem has been resolved RTI Issue ID CORE 6464 50 4 12 21 Possible Inconsistent State in the TCP Transport Plugin after Remote Client Reconnection 4 12 21 Possible Inconsistent State in the TCP Transport Plugin after Remote Client Reconnection In some cases when reconnecting a TCP Transport plugin Client the TCP Transport plugin Server may have ended up in an inconsistent state Consequently it may have taken longer than expected to to rees tablish communication This problem has been resolved RTI Issue ID COREPLG 299 4 12 22 Possible Segmentation Fault due to Race Conditio
32. Growth when Calling NDDS Config Logger Set Output APIs Calling the NDDS Config Logger APIs set_output_fileQ set_output_file_name or set_output_ device Q may have caused unbounded memory growth The same issue also affected DDS_DomainPar ticipantFactory_set_qos Note that this issue was not a memory leak since all the used memory was released upon application shutdown This problem has been resolved RTI Issue ID CORE 6706 72 4 13 51 Unexpected Error in Publishing Application when Writing Coherent Set of Samples 4 13 51 Unexpected Error in Publishing Application when Writing Coherent Set of Samples When piggyback heartbeats are enabled this is if the DataWriterProtocolQosPolicy s rtps_reliable_ writer heartbeart_per_max_samples 0 writing a coherent set of samples may have printed the fol lowing error upon a call to end_coherent_changes PRESPsService writerSampleListenerOnQueueUpdate get pres psWriter This error prevented the pruning of expired samples during the piggyback heartbeat send In this sense if the LifespanQosPolicy s duration was set to INFINITE this problem had no consequences beyond print ing the error This problem has been resolved RTI Issue ID CORE 6203 4 13 52 Unexpected Error when get_matched_subscriptions publications Called Right After Ignoring Subscription Publication A race condition may have caused the get_matched_subscriptions get_matched_publications oper ations
33. No Resources to Satisfy History Depth If a DataWriter is configured with a History kind of KEEP_LAST max_samples gt max_instances and max_samples lt max_instances depth the documentation states that Connext DDS may discard samples of some other instance as long as at least one sample remains for such an instance max_ instances and max_samples are members of the ResourceLimitsQosPolicy depth is a member of the His toryQosPolicy In previous releases when batching is enabled Connext DDS may have discarded all the samples for an instance This problem has been resolved RTI Issue ID CORE 6140 4 2 2 Unexpected Precondition Error when Using Batching on DataWriter You may have seen the following precondition errors on DataWriters using the batching feature PRESWriterHistoryDriver finalizeBatchSample precondition The error only occurred when individual samples were invalidated in a batch out of order This error may have prevented batches from being removed from the writer history This problem has been resolved RTI Usse ID CORE 6669 4 3 Fixes Related to Conditions and Waitsets 4 3 1 Calling set_query_parameters with Same Key Only Expression in QueryCondition Caused Waitset not to be Triggered In some circumstances a call to set_ query_ parameters may have caused a key only QueryCondition to no longer be triggered In particular this issue occurred for instances that had no samples to be read in the DataRe
34. Q operations is limited when con verting to types that are not supported on all platforms This limitation applies when converting to a 64 bit long long type get_longlong and get_ulonglong operations and a 128 bit long double type get_longdouble These methods will always work for data members that are actually of the correct type but will only support conversion from values that are stored as smaller types on a sub set of platforms Conversion to 64 bit long longs from a 32 bit or smaller integer type is supported on all Windows Solaris and Linux architectures and any additional 64 bit architectures Con version to 128 bit long doubles from a float or double is only supported on Solaris SPARC archi tectures RTI Issue ID CORE 2986 e DynamicData cannot handle a union with a discriminator that is set to a value which is not defined in the type RTI Issue ID CORE 3142 e DynamicData may have problems resizing variable size members that are gt 64k in size In this case the method set_X or unbind_complex_member will fail with the error sparsely stored member exceeds 65535 bytes Note that it is not possible for a member of a sparse type to be gt 64k RTI Issue ID CORE 3177 e Types that contain bit fields are not supported by DynamicData Therefore when rtiddsspy dis covers any type that contains a bit field rtiddsspy will print this message DDS_DynamicDataTypeSupport_initialize type not supported bitfield
35. RTI Connext DDS Core Libraries Release Notes Version 5 2 0 ty 2015 Real Time Innovations Inc All rights reserved Printed in U S A First printing June 2015 Trademarks Real Time Innovations RTI NDDS RTI Data Distribution Service DataBus Connext Micro DDS the RTI logo IRTI and the phrase Your Systems Working as one are registered trade marks trademarks or service marks of Real Time Innovations Inc All other trademarks belong to their respective owners Copy and Use Restrictions No part of this publication may be reproduced stored in a retrieval system or transmitted in any form including electronic mechanical photocopy and facsimile without the prior written per mission of Real Time Innovations Inc The software described in this document is furnished under and subject to the RTI software license agreement The software may be used or copied only under the terms of the license agreement Technical Support Real Time Innovations Inc 232 E Java Drive Sunnyvale CA 94089 Phone 408 990 7444 Email support rti com Website https support rti com Chapter 1 Introduction 2220 72 355i a Be ie SINE EE Ee Site EER EY BOONE ES ASL 14 Chapter 2 System Requirements 2 1 Supported Operating Systems 22 2 2 ec ee cece cee cece eee aG Sih a ideae 1 2 2 Requirements when Using Microsoft Visual Studio 00 2 20 22 cece e cece ee eee cece eee 3 2 3 Disk and Memory Usage Go seriean a
36. RTI Issue ID CORE 6642 4 13 Fixes Related to Other Issues 4 13 1 Access Violation when Calling get on Loaned Sequence if Provided Index Out of Bounds of the Sequence Java API Only Calling a loaned sequence s get operation with a parameter of an invalid index that is an index out of the bounds of the sequence resulted in a crash when using the Java API This problem has been resolved Now instead of causing a crash a java lang IndexOutOfBoundsException will be thrown RTI Issue ID CORE 6198 4 13 2 Built in Profiles Overrode DomainParticipantFactoryQos Values Set in Application Code The values for the DomainParticipantFactoryQos may have been overridden by the built in QoS profiles if they were set in code before the DomainParticipantFactory was created and the default QoS profile inher ited from any of the built in QoS profiles This problem has been resolved The DomainPar ticipantFactory s default QoS values are no longer set in the Baseline Root built in profile but have been kept as a comment in the profile for reference RTI Issue ID CORE 6075 60 4 13 3 Copy_from Method in Bytes and KeyedBytes Built in Types may have Thrown 4 13 3 Copy_from Method in Bytes and KeyedBytes Built in Types may have Thrown Exception NET API Only The NET copy_from method in the Bytes and KeyedBytes built in types may have thrown an excep tion if the sre parameter had a length of zero elements This problem has been resol
37. Wnriter get_key valueQ 0 0 00 0000000 10 3 2 2 4 Changes in Generated Type Support Code in Connext DDS 5 0 0 2 220 22 10 3 2 2 5 Changes in Generated Type Support Code in Connext DDS 5 1 0 2 2 22 22 2222 2 10 3 2 2 6 New Default Value for DomainParticipant Resource Limit participant_property_ string max length srren a ara ar a Lec An heel EE R 11 3 2 2 7 New Default Value for DomainParticipant s participant_name name 11 3 2 2 8 Constant DDS AUTO_NAME ENTITY no Longer Available 00 11 3 2 2 9 Changes to Time_t and Duration_t Methods 00000 00022 e eee e eee 11 3 2 3 Release Specific Information for RTI Data Distribution Service 4 x Connext DDS 4 5 and DOK eee RR MORONS Dee Ais St RES 1S MOON cat ede Sid SON OIL Oat tet ON OPENER LNT St ERS 12 3 2 3 1 Type Support and Generated Code Compatibility _ 00000000000000000 222 12 3 2 3 2 Other API and Behavior Changes 2 222202 o cece eee eee eee e eee eee eeeeeeee 13 3 3 Extensible Types Compatibility 2220 20 0 00002 16 3 3 1 General Compatibility Issues 2 22 eee eee eee ence 16 3 3 2 Java Enumeration Incompatibility Issues 20 00 2222s 17 3 4 ODBC Database Compatibility 2 0 cece ce eee eee ee ce eee cece eeeeeees 17 3 5 Transport Compatibility 2 00 02 l llc cee ccc cece eee cece cence eee cece ceeeeeeeeeeeees 17 3 5 1 Shared Memory Transport Compatibility for Connext DDS 4 5
38. _interfaces_list and parent deny_interfaces_list had no effect This problem has been resolved RTI Issue ID COREPLG 344 4 12 48 TCP Transport SSL Handshake could Hang Forever The TCP Transport plugin was not robust against failures in the negotiation of the initial handshake required when enabling TLS Support Consequently a connection may have remained forever in a hand shake in progress state thus preventing communication To address this issue the TCP Transport plugin now supports a new property initial _handshake_ timeout This property controls the maximum time in seconds the initial handshake for a connection can remain in progress The default is 10 seconds If the handshake has not completed after the specified timeout the connection will be closed This way the TCP Transport plugin can restart the process of estab lishing and handshaking that connection RTI Issue ID COREPLG 303 4 12 49 Transport Plugin Resources not Cleaned Up when Remote Endpoints Removed Transport plugins may not have cleaned up resources when remote endpoints were removed For example with the TCP transport plugin this may have resulted in connections that were not closed This problem which only occurred with reliable unicast communication has been resolved RTI Issue ID CORE 6083 56 4 12 50 Two Participants on Same Node did not Communicate when One Disabled Shared Memory but 4 12 50 Two Participants on Same Node did not Communicate wh
39. act RTI Sup port Data Types with Variable Size Keys If your data type contains more than one key field and at least one of the key fields except the last one is of variable size for example if you use a string followed by a long as the key RTI Data Distribution Service 4 3e 4 4b or 4 4c DataWriters may not be compatible with RTI Data Dis tribution Service 4 4d or higher DataReaders RTI Data Distribution Service 4 3e 4 4b or 4 4c DataReaders may not be compatible with RTI Data Dis tribution Service 4 4d or higher DataWriters Specifically all samples will be received in those cases but you may experience the following problems Samples with the same key may be identified as different instances For the case in which the DataWriter uses RTI Data Distribution Service 4 4d 4 5e or Connext DDS this can only occur if the DataWriter s dis able_inline_keyhash field in the DataWriterProtocolQosPolicy is true this is not the default case Calling lookup_instance Q on the DataReader may return HANDLE _NIL even if the instance exists Please note that you probably would have had the same problem with this kind of data type already even if both your DataWriter and DataReader were built with RTI Data Distribution Service 4 3e 4 4b or 4 4c If you are using a C C or Java IDL type that belongs to this data type category in your RTI Data Dis tribution Service 4 3e 4 4b or 4 4c application you can resolve the backwards compatib
40. ader when set_query_parameters was called This problem has been resolved This behavior is described in Section 6 3 8 1 Blocking During a write in the RTI Connext DDS Core Libraries User s Manual 27 4 3 2 Disposal of Remote DataWriter may have Caused DataReader s Keyed QueryCondition not to RTI Issue ID CORE 6256 4 3 2 Disposal of Remote DataWriter may have Caused DataReader s Keyed QueryCondition not to Trigger Anymore Receiving a dispose sample as the first sample for an instance may have caused the associated instance not to trigger the QueryCondition until there was a call to set_query_parameters This problem has been resolved RTI Issue ID CORE 6318 4 3 3 Memory Leak when Using QueryConditions on Unkeyed DataReader Using a QueryCondition on unkeyed DataReaders may have caused a memory leak The problem only occurred if the QueryCondition was created while there were samples in the DataReader s queue In addi tion this problem only affected the following language bindings e NET e Java e DynamicData regardless of the language This problem has been resolved RTI Issue ID CORE 6734 4 3 4 ReadCondition and Group Access Scope did not Work Correctly When setting the PresentationQosPolicy s access_scope to GROUP_PRESENTATION_ QOS and using a Waitset to wait on a ReadCondition to read historical data the Waitset may have waited longer than necessary because the ReadCondition was not triggered
41. brary to use another participant to publish monitoring data using the property name rti monitor config new_participant_domain_id in the PropertyQosPolicy 5 14 2 Participant s CPU and Memory Statistics are Per Application The CPU and memory usage statistics published in the DomainParticipant entity statistics topic are per application instead of per DomainParticipant 5 14 3 XML Based Entity Creation Nominally Incompatible with Static Monitoring Library If setting the DomainParticipant QoS programmatically in the application is not possible i e when using XML based Application Creation the monitoring create function pointer may still be provided via an XML profile by using the environment variable expansion functionality The monitoring property within the DomainParticipant QoS profile in XML must be set as follows 80 5 14 3 XML Based Entity Creation Nominally Incompatible with Static Monitoring Library lt participant_qos gt lt property gt lt value gt lt element gt lt name gt rti monitor library lt name gt lt value gt timonitoring lt value gt lt element gt lt element gt lt name gt rti monitor create function ptr lt name gt lt value gt S MONITORFUNC lt value gt lt element gt lt value gt lt property gt lt participant qos gt Then in the application before retrieving the DomainParticipantFactory the environment variable must be set programmatically as follows sprintf varString
42. cifiled C API Only 2 2 2 o oo eee aduana naaran eeeeeeeeeeeeeeeeeeeees 45 4 11 2 Requesters may not have Received Replies of Some Types with Optional Members Java and GH APIS 2 ccc ask ETETEA EE dc calek E Mv adel as 45 4 11 3 Requester or Replier Write Timeout Caused Exception of Wrong Class C API Only 45 4 12 Fixes Related to Transports 02 000 oe eee cece eee eee cece cence eee cece cence eee eeceeeeeees 45 4 12 1 Bus Error when Using Shared Memory Transport on Sparc Solaris 64 bit Platforms 45 4 12 2 Data Corruption when Sending Large Data at a High Rate from a TCP Transport Plugin with Windows IOCP f 220250 2 Sous tee ee he a a ela ies hte hen 46 4 12 3 DataWriter s Transport Priority had no Effect in TCP Transport Plugin Server Sockets 46 4 12 4 DomainParticipant s add_peer and remove_peer not Supported by TCP Transport 46 4 12 5 Duplicated Transaction ID in TCP Transport Plugin Control Messages Windows Plat forms Onlye fete so 22825 Ae Sen ee Be et oo Ste BSS Cae Nee et OAR sta ed 46 4 12 6 Error Establishing TCP Transport Client Connection could Cause Communication not to RECOVER 342 fy2ce son undoes eetiea dag uneut onc ededenstecautenadoiacdenrasteeiduneqac aaseeucsttecmees 47 4 12 7 Failure Enabling DomainParticipant when using UDPv6 Transport in Some Cases 47 4 12 8 Host Improperly Identified when no IPv4 Interfaces Available 47 4 12 9 Log
43. crease_sample_keep_duration_factor Old name disable_positive_acks increase_sample_keep_duration_scaler New name disable_positive_acks increase_sample_keep_duration_factor In releases prior to 4 4c the NACK only feature was not supported on platforms without floating point support Older versions of RTI Data Distribution Service will not run on these platforms because floats and doubles are used in the implementation of the NACK only feature In releases 4 4c and above the 3 2 3 2 Other API and Behavior Changes NACK only feature uses fixed point arithmetic and the new DDS_Long factor fields noted above which replace the DDS_ Double scaler fields Tolerance for Destination Ordering by Source Timestamp Starting with RTI Data Distribution Service 4 4b and thereby included in Connext DDS by default the middleware is less restrictive compared to older releases on the writer side with regards to timestamps between consecutive samples if the timestamp of the current sample is less than the timestamp of the pre vious sample by a small tolerance amount writeQ will succeed If you are upgrading from RTI Data Distribution Service 4 4a or lower and the application you are upgrad ing relied on the middleware to reject timestamps that went backwards on the writer side that is when a sample s timestamp was earlier than the previous sample s there are two ways to keep the previous more restrictive behavior e I
44. d RTI Issue ID DISTLOG 137 36 4 6 2 Deletion of C C Distributed Logger s DataWriters not Propagated via Discovery 4 6 2 Deletion of C C Distributed Logger s DataWriters not Propagated via Discovery The deletion of the Distributed Logger s DataWriters after invoking the API RTI DLDistLog ger finalizeInstance was not propagated via discovery For example if you ran RTI Monitor or rtiddsspy these tools still showed the DataWriters as alive This issue only occurred with the C and C APIs These DataWriters were affected e Administration Command Response Data Writer e Administration State DataWriter e Log Message Data Writer This problem has been resolved RTI Issue ID DISTLOG 133 4 6 3 Possible Warning when Compiling Distributed Logger Examples on UNIX Based Systems You may have seen a warning when compiling Distributed Logger C and C examples on UNIX based systems This problem has been resolved RTI Issue ID DISTLOG 138 4 7 Fixes Related to Durable Writer History 4 7 1 DataWriter Configured to Use Durable Writer History did not Communicate with Persistence Service A DataWriter using Durable Writer History could not communicate with Persistence Service You may have seen the following errors on the DataWriter side WriterHistoryRemoteReaderManager assertRemoteReader precondition FATAL WriterHistoryOdbcPlugin assertRemoteReader assert virtual read PRESWriterHistoryDriver assertRemoteReader as
45. d a bus error when discovering remote DomainParticipants if the Prop ertyQosPolicy was not empty This only occurred on Solaris platforms using 64 bit Sparc CPUs This problem has been resolved RTI Issue ID CORE 6749 4 5 10 Potential Unexpected Memory Growth when Asserting a Remote Reader There may have been unexpected memory growth when a new remote reader was discovered This memory growth would only have occurred if the remote reader provided a locator that the local writer could not reach This issue has been resolved RTI Issue ID CORE 6701 34 4 5 11 Unable to Set remote_participant_allocation with incremental_count of 0 4 5 11 Unable to Set remote_participant_allocation with incremental_count of 0 If the incremental_count of remote_participant_allocation in the DomainParticipantResourceLimits QoS policy was set to 0 participant creation failed This problem has been resolved RTI Issue ID CORE 6556 4 5 12 Unbounded Memory Growth after Failed Attempt to Ignore Participant A failed attempt to ignore a remote Participant that had a DomainParticipantR esourceLimitsQosPolicy transport_info_list_max_length greater than zero may have triggered unbounded memory growth of the transport info list This problem has been resolved RTI Issue ID CORE 6735 4 5 13 Unexpected Memory Growth if Remote Endpoint Changed QoS that is Propagated with Built in Topics If a remote endpoint changed any QoS values that are propagate
46. d as part of the built in topics this resulted in unbounded memory growth in the matching local endpoint which could eventually exhaust the avail able memory This only happened if the remote endpoint had a non NULL value for the EntityQosPolicy s name or role_name fields This problem has been resolved RTI Issue ID CORE 6724 4 5 14 Unexpected Memory Growth when Discovering Remote Participants When a remote DomainParticipant was deleted from the discovery tables of the local DomainParticipant not all the memory associated with the remote DomainParticipant was released This could have led to unbounded memory growth if a lot of remote DomainParticipants were discovered and disappeared while the local DomainParticipant was running Notice that all memory was properly reclaimed when the local DomainParticipant was deleted This is why tools such as valgrind did not report this issue as a memory leak This problem has been resolved RTI Issue ID CORE 5589 4 5 15 Unexpected Memory Growth when Discovering Remote Participants with Role Name The participant_name role_name of a discovered remote DomainParticipant was not released when the remote DomainParticipant was destroyed or disappeared This could have led to unbounded memory 35 4 5 16 Unexpected PRESPsService_destroyLocalEndpointWithCursor remove remote endpoint growth if a lot of remote DomainParticipants with participant_name role_name set were discovered and disappeared wh
47. d parent deny_interfaces_ list prop erties had no Effect oirnne ke a a eee 56 4 12 48 TCP Transport SSL Handshake could Hang Forever 20022 222 ee eee ee eee 56 4 12 49 Transport Plugin Resources not Cleaned Up when Remote Endpoints Removed 56 4 12 50 Two Participants on Same Node did not Communicate when One Disabled Shared Memory but still Used UDP Loopback 2 022002 57 4 12 51 Unbounded Memory Growth upon T O Failure when Using Windows IOCP 57 4 12 52 Unexpected Error Message when Enabling TCP Transport Connection Liveliness 57 4 12 53 Unbounded Memory Growth during TCP Transport Plugin Execution 57 4 12 54 Unexpected Memory Growth in TCP Transport Client upon Connection Close 58 4 12 55 Unexpected Memory Growth in TCP Transport Server upon Connection Close 58 4 12 56 Unexpected Messages when Using TCP Transport s Force Asynchronous Send 58 4 12 57 Unexpected TCP Transport Plugin Error on Packet Reception when Using IOCP Mode 58 4 12 58 Unexpected TCP Transport Plugin Error when TCP Server Sent Data Asynchronously 59 4 12 59 Unexpected TCP Transport Plugin WSAECONNABORTED Error on Packet Reception when Using IOCP Mode 2 cece cee cc cece a cece eee ee nce e tence eenceeeenceeeeneeeenaees 59 4 12 60 Unnecessary System Resources Allocated when Transport Priority Left at Default Value 59 4 12 61 Unreadable Characters in L
48. d with the Durable Writer History and Durable Reader State features see the RTI Connext DDS Core Libraries Platform Notes For more information on database setup please see the RTI Connext DDS Core Libraries Getting Started Guide Addendum for Database Setup 3 5 Transport Compatibility 3 5 1 Shared Memory Transport Compatibility for Connext DDS 4 5f and 5 x The shared memory transport in Connext DDS 4 5f and higher does not interoperate with the shared memory transport in previous releases of RTI Data Distribution Service 3 5 2 Transport Compatibility for Connext DDS 5 1 0 If two applications one using Connext DDS and one using RTI Data Distribution Service run on the same node and they have the shared memory transport enabled they will fail with the following error D0004 CREATE Participant D0004 ENABLE NDDS Transport _Shmem_ is segment _compatible incompatible shared memory protocol detected Current version 1 0 not compatible with 2 0 A possible workaround for this interoperability issue is to disable the shared memory transport and use local communications over UDPV4 by setting participant_qos transport_builtin to DDS_ TRANSPORTBUILTIN_UDPv4 If you have an interoperability requirement and you cannot switch to UDPv4 please contact sup port rti com 3 5 2 Transport Compatibility for Connext DDS 5 1 0 3 5 2 1 Changes to message_size_max In Connext DDS 5 1 0 the default message_size_max for the UDPv4 UDPv6 TCP Secu
49. distributable Package Requirement You must have the Visual C Redistributable for Visual Studio 2012 Update 3 installed on the machine where you are running an application linked with dynamic libraries This includes dynamically linked C C and all NET and Java applications You can download Visual C Redistributable for Visual Studio 2012 Update 3 from this Microsoft web site http www microsoft com en ca download details aspx id 30679 When Using Visual Studio 2013 Redistributable Package Requirement You must have Visual C Redistributable for Visual Studio 2013 installed on the machine where you are running an application linked with dynamic libraries This includes C C dynamically linked and all NET and Java applications You can download Visual C Redistributable for Visual Studio 2013 from this Microsoft website http www microsoft com en us download details aspx id 40784 2 3 Disk and Memory Usage Disk usage for a typical host only installation is approximately 385 MB on Linux systems and 625 MB on Windows systems Each additional architecture host or target requires an additional 162 MB on Linux systems and 402 MB on Windows systems We recommend that you have at least 256 MB RAM installed on your host development system The tar get requirements are significantly smaller and they depend on the complexity of your application and hard ware architecture 2 4 Networking Support Connext DDS includes full support
50. e Notice that this compatibility issue does not affect cor rectness as the filtering will be done on the DataReader side 3 6 2 Built in Topics Due to the addition of new values in the enumeration DDS ServiceQosPolicyKind under DDS Ser viceQosPolicy Connext DDS 5 1 0 or lower applications will not be able to get information about DataWriters and DataReaders created by Connext DDS 5 2 0 or higher Infrastructure Services by reading from the Publication and Subscription built in topic DataReaders These infrastructure services are affected e RTI Routing Service e RTI Recording Service Record and Replay tools e RTI Database Integration Service formerly RTI Real Time Connect e RTI Queuing Service The 5 1 0 applications monitoring the built in topics will print the following error message DDS ServiceQosPolicy from presentation service kind ERROR Failed to get service unknown kind DDS_SubscriptionBuiltinTopicDataTransform ERROR Failed to get servic PRESCstReaderCollator addSample transform 23 3 6 3 Some Monitoring Types are not Backwards Compatible Notice that this compatibility issue does not affect matching between the 5 1 0 DataReaders DataWriters and the corresponding 5 2 0 Infrastructure Service DataReader DataWriters Within the middleware dis covery will still occur and these entities will communicate with each other 3 6 3 Some Monitoring Types are not Backwards Compatible Due to the way in which
51. e metadata fields were created or destroyed This bug affected two wrapper A PIs e Request Reply API The Replier s DataReader installs a ContentFilteredTopic on the metadata field related_sample_identity e Queuing API The QueueProducer QueueConsumer QueueRequester and QueueReplier DataReaders install a ContentFilteredTopic on the new metadata fields related_source_guid and related_source_guid Notice that this issue was not reported as a memory leak because all the memory was reclaimed after the affected DataWriters were destroyed This problem has been resolved RTI Issue ID CORE 6738 4 5 Fixes Related to Discovery 4 5 1 Discovery Failed on Publisher Side if contentfilter_property_max_ length not Long Enough to Deserialize Filter Information Discovery failed if a publishing application set the contentfilter_property_max_length to a value too small for deserializing the filter information from a matching DataReader of a subscriber application No communication would occur This situation has been solved by allowing discovery to occur in the publisher application Since the filter information cannot be retrieved writer side filtering will not be available and the filtering will occur in the subscriber publication 32 4 5 2 Discovery Packets Sent over Unicast had Incorrect Priority RTI Issue ID CORE 5875 4 5 2 Discovery Packets Sent over Unicast had Incorrect Priority The metatraffic_transport_priority field of the D
52. e pinned in memory and could not be released by the garbage collector This may have caused memory growth if an application repeatedly created and deleted DDS entities dur ing the application s life cycle This problem has been resolved no instances will remain pinned RTI Issue ID CORE 6703 4 13 29 Non Recoverable Inconsistent State in Participant after Failed Call to Enable Participant If you called enable on a disabled Participant and that call failed the Participant may have ended up in an unrecoverable state That is any further calls to enable the Participant would never succeed even if the conditions that provoked the initial failure were no longer present This problem has been resolved RTI Issue ID CORE 6264 4 13 30 Operations Involving StatusCondition GetHashCode may have Thrown OverflowException C API Only The StatusCondition overrode the System Object GetHashCode in way that may have thrown an OverflowException in 64 bit architectures This issue has been resolved RTI Issue ID CORE 6761 4 13 31 Poor Performance of DataWriter s wait_for_acknowledgments Windows Platforms Only The DataWriter s wait_for_acknowledgments operation had poor performance poor on Windows plat forms The performance was limited by the Windows timer resolution which is 15 msec by default This problem has been resolved RTI Issue ID CORE 6619 67 4 13 32 Possible Crash when Calling take_next_sample After Fai
53. eep_alive Property had no Effect on Server Sockets 53 4 12 36 TCP Transport s enable keep alive Property had no Effect on Server Sockets when Using TES Supports 22221520 betel Men thec hese a a rea AIR el eh meade SLE 54 4 12 37 TCP Transport s keep alive Properties had no Effect Linux Platforms Only 54 4 12 38 TCP Transport s keep alive Properties had no Effect when Using TLS Support Linux Plattorms Only co cc cit nero eM etki tst sad E eee oe eee Ae ete eae 54 4 12 39 TCP Transport Plugin s Connection Liveliness Stopped Working 222 54 4 12 40 TCP Transport Plugin Opened UDPv4 Sockets when Running in WAN Mode 54 4 12 41 TCP Transport Plugin did not Send Large Samples when Using TLS force_asyn chronous_send and Windows IOCP 2 000220 02 oon 55 4 12 42 TCP Transport Plugin Hangs when using Transport Priority 222222 202022 55 4 12 43 TCP Transport Plugin More Robust Against a Failure in SSL Handshake 55 4 12 44 TCP Transport Plugin Reconnection Problem after Disconnecting Network Interface LinuxeSystems Only s Sse es Aes tte ik ieee E Soon Ol soba E BEI OPE 55 4 12 45 TCP Transport Plugin Reported Invalid State Error when Running in Debug Mode 55 4 12 46 TCP Transport Plugin Stopped on Asynchronous Send Failure 000000 56 4 12 47 TCP Transport Properties parent allow_interfaces_list an
54. en One Disabled Shared Memory but still Used UDP Loopback Two participants on the same node may not have communicated under certain circumstances In particular this issue was triggered when one of the participants had disabled shared memory and the other participant had enabled both shared memory and a UDP transport with ignore_loopback_interface 1 auto In this scenario the second participant ignored the loopback interface therefore there was no communication Starting with this release the behavior for UDP transports with ignore_loopback_interface 1 has changed Specifically Connext DDS will not longer ignore the loopback interface even if shared memory is enabled on the sender Instead in order to avoid redundant traffic Connext DDS will not send traffic to UDP loopback destinations that are reachable through shared memory RTI Issue ID CORE 4052 4 12 51 Unbounded Memory Growth upon I O Failure when Using Windows IOCP An issue in the TCP Transport plugin may have caused unbounded memory growth after a failure when calling I O related OS APIs This issue only affected Windows architectures when the Windows IOCP socket monitoring kind was enabled This issue has been resolved RTI Issue ID COREPLG 353 4 12 52 Unexpected Error Message when Enabling TCP Transport Connection Liveliness The following error message appeared when a static application loaded a TCP transport plugin through QoS and the TCP transport plugin was c
55. entually exhaust the available memory This problem has been resolved RTI Issue ID CORE 6722 4 13 56 Version Number was Missing from Libraries for Windows Platforms Libraries for Windows platforms did not include the version number in the version field This problem has been resolved The version number is now included To see the version number run the DUMPBIN utility that comes with Visual Studio For example DUMPBIN HEADERS nddscore dll You will find the version number encoded in the image version in the OPTIONAL HEADER VALUES section OPTIONAL HEADER VALUES lt snip gt 50200 00 image version lt snip gt Since this field must be formatted as number number the format is lt major_version gt lt minor_ver sion gt lt terciary_version gt lt patch_version gt For example Connext DDS version 5 2 1 3 would appear as image version 50201 03 RTI Issue ID CORE 4010 4 13 57 XSD Validation Failed when type_object_max_deserialized_length was UNLIMITED The XSD validation of QoS profiles using the file rti_dds_qos_profiles xsd failed when type_object_ max_deserialized_length under lt participant_qos gt lt resource_limits gt was set to UNLIMITED This problem has been resolved RTI Issue ID CORE 6189 74 Chapter 5 Known Issues 5 1 AppAck Messages Cannot be Greater than Underlying Transport Message Size A DataReader with acknowledgment kind in the ReliabilityQosPolicy set
56. equence should have failed but didn t DDS DOMALMP Ae ecLCaOaiMie jOEecLCUjOSiMe aoaf FooTypeSupport register cyeS participant Eo0 p BarTtTypeSupport register typelperticipant OO p This problem has been resolved Now the second call to register_type in the above example will return DDS_RETCODE PRECONDITION NOT MET RTI Issue ID CORE 3962 4 13 45 RTI DDS Ping did not Print Data Values when using useKeys and Default Verbosity RTI DDS Ping rtiddsping did not print data values when using the useKeys option and default verb osity In addition the output was not formatted correctly You would have seen the following messages Sending data key 0000001Sending data key O0000002Sending data key 0000003Sending data key 0000004Sending data key 0000005Sending datar key 0000006Sending data key 0000007Sending data This problem has been resolved RTI Issue ID CORE 6820 4 13 46 Segmentation Fault in Java if Default name or role_name in EntityNameQosPolicy not NULL A Java application may have produced a segmentation fault if the default name or role_name in the EntityNameQosPolicy for a DDS Entity DomainParticipant Publisher Subscriber Data Writer or DataReader was set to anon NULL value and the user overwrote this value during entity creation to set it to NULL This problem has been resolved RTI Issue ID CORE 6772 71 4 13 47 Segmentation Fault when DataWriter Creation Failed because
57. f your DestinationOrderQosPolicy s kind is BY SOURCE_TIMESTAMP set the new field in the DestinationOrderQosPolicy source_timestamp_tolerance to 0 e If your DestinationOrderQosPolicy s kind is BY RECEPTION TIMESTAMP on the writer side consider changing it to BY SOURCE TIMESTAMP instead and setting source_timestamp_tol erance to 0 However this may not be desirable if you had a particular reason for using BY _ RECEPTION TIMESTAMP perhaps because you did not want to match readers with BY _ SOURCE TIMESTAMP If you need to keep the BY RECEPTION_TIMESTAMP setting there is no QoS setting that will give you the exact same behavior on the writer side as the previous release Starting with RTI Data Distribution Service 4 4b and thereby included in Connext DDS by default the middleware is more restrictive compared to older releases on the reader side with regards to source and reception timestamps of a sample if DestinationOrderQosPolicy kind is set to BY SOURCE _ TIMESTAMP if the reception timestamp of the sample is less than the source timestamp by more than the tolerance amount the sample will be rejected If you are upgrading from RTI Data Distribution Service 4 4a or lower your reader is using BY _ SOURCE TIMESTAMP and you need the previous less restrictive behavior set source_timestamp_tol erance to infinite on the reader side New Location and Name for Default XML QoS Profiles File formerly NDDS_ QOS _ PROFILES xml Starting
58. fand 5 x 2 17 3 5 2 Transport Compatibility for Connext DDS 5 1 0 202 18 3 5 2 1 Changes to message Size Max arredre aen cee eee cece cece e eee eTEN 18 3 5 2 2 How to Change Transport Settings in Connext DDS 5 1 0 Applications for Com patibility with 52010 E bee EE is SS he 8h te ad Bea ety 18 3 5 2 3 How to Change message_size_max in Connext DDS 5 0 0 Applications for Com patibility with 5 1 0 loool c cece cece cece cece cee ccccececceeeeeees 18 3 5 2 4 Changes to Peer Descriptor Format 2 2 2 20 3 5 3 Transport Compatibility for Connext DDS 5 2 0 _ oo eee eee eee 20 3 5 3 1 Observed Error Messages 0202 00 cece eee ccc cece eee eee eee ence eee eeeceeee 21 3 5 3 2 How to Change Transport Settings in 5 2 0 Applications for Compatibility with TEI 3 Soca AK Sette kG eee ea Soe eae ale ae eG eee ee as 22 3 5 4 Transport Compatibility for Connext DDS 5 2 0 on Solaris Platforms with Spare CPUs 22 3 6 Other Compatibility Issues 2242 gt ern Pace a Sows aa ectelicddawd and a a a e ea A AA news mone 23 3 6 ContentFiltered Topics w2i200 2 cic eae Srniee se dno cs a aA TaY EEA E Sede cena 23 326 2 Built in LOPS esaeran Rede Bn as Sec Fos calle AR tea Sn Te hea ei 58 Saleh le ig 23 3 6 3 Some Monitoring Types are not Backwards Compatible 20000 0222222 22222 e 24 Chapter 4 What s Fixed in 5 2 0 4 1 Fixes Related to Application Level Acknowledgement 0
59. first parameter void filter_data contained an invalid pointer This could res ult in undefined behavior This problem has been resolved RTI Issue ID CORE 6201 4 4 5 Memory Leak if a Custom Content Filter was not Unregistered You are not required to unregister custom content filters before DomainParticipant destruction However if a custom content filter was not unregistered there was a memory leak This problem has been resolved All still registered custom content filters are now explicitly unregistered during DomainParticipant destruc tion so there is no more memory leak RTI Issue ID CORE 6390 4 4 6 Memory Leak when Changing Expression Parameters on ContentFilteredTopic not Associated with any Reader Applications leaked memory when changing the parameters of a ContentFilteredTopic after creating it but before creating a DataReader with it The memory leak has been resolved RTI Issue ID CORE 6156 4 4 7 Possible Crash when Using ContentFilteredTopic and Builtin SQL Filter If an error occurred while creating the SQL filter for a ContentFilteredTopic there was a possibility of a crash There are a number of reasons why the creation might fail for example if there was a memory alloc ation failure This problem has been resolved RTI Issue ID CORE 68 16 4 4 8 Possible Incorrect Filter Results in AND Expressions with Optional Members Sequences or Unions A problem evaluating AND expressions in the SQL content f
60. for pluggable transports Connext DDS applications can run over vari ous communication media such as UDP IP over Ethernet and local inter process shared memory provided the correct transport plug ins for the media are installed By default the Connext DDS core uses built in UDP IPv4 and shared memory transport plug ins 8The shared memory transport is not supported on VxWorks 5 5 platforms 2 4 Networking Support A built in IPv6 transport is available disabled by default for some platforms A TCP transport is also available but is not a built in transport for some platforms See the RTI Connext DDS Core Libraries Platform Notes for details on which platforms support the IPv6 and TCP transports Chapter 2 Transitioning from 5 1 to 5 2 Chapter 2 Transitioning from 5 1 to 5 2 Please read this before installing If you are transitioning from 5 1 to 5 2 there are a few important dif ferences to be aware of e New Installation Procedure This release is packaged in a different structure than previous releases There are still host and target bundles However the host bundle is a run file and the target is a rtipkg file To install these bundles you will run the host bundle such as rti_connext_dds 5 2 0 core host x64Linux run The installer will walk you through installation After installing the host you will install your target s To do so you can use the RTI Package Installer utility that s available in RTI Launche
61. ging Level for TCP Transport Connect Errors Changed from Exception to Waming 47 4 12 10 Memory Issue upon TCP Transport Plugin Server Disconnection 0eeee eee 48 4 12 11 Memory Leak when using UDPv4 Transport Plugin on VxWorks Architectures 48 4 12 12 Memory Leak in Applications using TCP Transport in Asymmetric Mode 48 4 12 13 Memory Issue upon TCP Transport Plugin Server Disconnection 48 4 12 14 Message Deserialization Errors in TCP Transport Plugin 0 0 00000000000002 000 48 4 12 15 Non RTPS Compliant UDPv6 Locator kind _ 22 22 00 49 4 12 16 Participant Creation Failed if All Enabled Network Interfaces were IPv6 Non Linux Sys temsOnly vzos S583 ete rele tek IE Oe Can OS ARE ol Bt Ae 8 Nos 49 4 12 17 Participant Creation Failed if Shared Memory Resources could not be Allocated 49 4 12 18 Participant Creation Failed when All Enabled Network Interfaces were IPv6 49 4 12 19 Participant may have Hung on Shutdown if Multicast Enabled or in Presence of Some Firewalls Antivirus 2 2 2 0 0 000 22 cece cece eee 01ra aa eee eee oora anno eeeeeeeeeeeeeneees 50 4 12 20 Port Reservation did not Account for All Enabled Transports 0022 2 222022 50 4 12 21 Possible Inconsistent State in the TCP Transport Plugin after Remote Client Reconnection 51 4 12 22 Possible Segmentation Fault due to Race Condition in DTLS Transport
62. ialized as part of the RTPS Wire Protocol Participant Data has been mod ified to match the OMG specification In particular the bits BUILTIN ENDPOINT PARTICIPANT _ MESSAGE DATA WRITER and BUILTIN ENDPOINT PARTICIPANT MESSAGE DATA _ READER are now set to notify other peers about the Liveliness DataWriter and DataReader RTI Issue ID CORE 6452 33 4 5 6 No Communication with Peer that was Removed Re Added 4 5 6 No Communication with Peer that was Removed Re Added If a peer was removed by calling the DomainParticipant s remove_peer operation and later re added with add_peer communication with that peer did not always resume This was a timing issue that only occurred in some cases This problem has been resolved RTI Issue ID CORE 6128 4 5 7 ParticipantBuiltinTopicData was Missing Domain ID NET API Only The field domain_id was missing from the ParticipantBuiltinTopicData type in the INET API This prob lem has been resolved the domain_id has been added RTI Issue ID CORE 6598 4 5 8 Possible Segmentation Fault upon Failure Asserting Remote Reader There may have been a segmentation fault upon discovery of a remote reader This was only reproducible when there was a failure asserting the remote reader This problem has been resolved RTI Issue ID CORE 6702 4 5 9 Potential Bus Error when Discovering Remote Participants with Properties Set Solaris Platforms on 64 bit Sparc CPUs Only Applications may have generate
63. ibility with previous releases using both the UDPv6 and SHMEM transports is broken See Transport Compatibility for Connext DDS 5 2 0 Section 3 5 3 on page 20 for additional details RTI Issue ID CORE 5788 4 12 16 Participant Creation Failed if All Enabled Network Interfaces were IPv6 Non Linux Systems Only To determine part of a DomainParticipant s GUID Connext DDS will by default use the host ID of one enabled non loopback IPv4 network interface If all the interfaces on a machine were configured with IPv6 only the participant creation failed Applications can alternatively use the MAC address to determine the GUID DDS WirePro tocolQosPolicy rtps_auto_id_kind in the DomainParticipantQos However this mechanism also required at least one enabled non loopback IPv4 interface The only way to work around this situation was to manually set the host ID via the DDS WireProtocolQosPolicy rtps_host_id This problem was already resolved for Linux systems In this release the problem is also resolved for non Linux systems Now all the options to assign the GUID work in systems where only IPv6 interfaces are available although using the MAC address is recommended to increase uniqueness RTI Issue ID CORE 6160 4 12 17 Participant Creation Failed if Shared Memory Resources could not be Allocated If shared memory resources could not be allocated participation creation failed This problem has been resolved Now if this situa
64. ication between Java applications and other language C C NET applications to fail due to mismatched TypeCodes This problem has been resolved RTI Issue ID CORE 6177 4 8 16 Unset Complex Mutable Optional Members not Correctly Serialized using DynamicData When sending a type with an unset optional member that was a struct with mutable extensibility the seri alization to CDR was incorrect causing incorrect values to be deserialized on the receiving side This prob lem has been resolved RTI Issue ID CORE 6498 4 8 17 Unset Complex Optional Members not Correctly Printed in DynamicData Calling the print function on a DynamicData object with an unset complex optional member would print incorrect values for all members following the unset member in the type This problem has been resolved RTI Issue ID CORE 6497 42 4 8 18 Wide String Support was Missing for DynamicData in Java API 4 8 18 Wide String Support was Missing for DynamicData in Java API The Java API lacked support for wide strings in the DynamicData type The set_string and get_string operations on wide string members failed with the following error DDS DynamicDerte set worcring itype mismatch ror tiele watr 160 where wstr is the name of the wide string member Support for wide strings has been added To map a Java String to a wide string create a member of kind WSTRING and use the existing set_string and get_string operations A wide cha
65. ice 4 2e and higher will not interoperate with applications built with RTI Data Distribution Service 4 2c or lower Table 3 1 RTPS Versions Data Distribution Service 4 2e 4 5e br Data Distribution Service 4 2c a Data Distribution Service 4 2b and lower 3 1 3 2 double long long unsigned long long or long double Wire Compatibility If your Connext DDS application s data type uses a double long long unsigned long long or long double it will not interoperate with applications built with RTI Data Distribution Service 4 2e or lower unless you use the use42eAlignment flag when generating code with rtiddsgen 3 1 3 3 Sending Large Data between RTI Data Distribution Service 4 4d and Older Releases The large data format in RTI Data Distribution Service 4 2e 4 3 4 4b and 4 4c is not compliant with RTPS 2 1 Large data refers to data that cannot be sent as a single packet by the transport This issue is resolved in Connext DDS and in RTI Data Distribution Service 4 4d 4 5e As a result by default large data in Connext DDS and in RTI Data Distribution Service 4 4d 4 5e is not compatible with older versions of RTI Data Distribution Service You can achieve backward compatibility by setting the following properties to 1 dds tata writer provocol use 43 large dara format dds data reader prorocol use 43 large datal format The properties can be set per DataWriter DataReader or per D
66. id not enable the TCP keep alive socket option This issue did not affect TCP client sockets This problem has been resolved RTI Issue ID COREPLG 273 4 12 37 TCP Transport s keep_alive_ Properties had no Effect Linux Platforms Only When the TCP Transport plugin s keep_alive_time keep_alive_interval and keep_alive_retry_count properties only supported on Linux platforms were set they were not properly applied to TCP sockets This problem has been resolved RTI Issue ID COREPLG 255 4 12 38 TCP Transport s keep_alive_ Properties had no Effect when Using TLS Support Linux Platforms Only When using TLS Support with the TCP transport and the TCP transport s keep_alive_time keep_alive_ interval and keep_alive_retry_count properties only supported on Linux platforms were set they were not properly applied to TCP sockets This problem has been resolved RTI Issue ID COREPLG 274 4 12 39 TCP Transport Plugin s Connection Liveliness Stopped Working In the 5 1 0 38 release under certain circumstances the connection liveliness feature may have stopped working after a random amount of time This problem has been resolved RTI Issue ID COREPLG 308 4 12 40 TCP Transport Plugin Opened UDPv4 Sockets when Running in WAN Mode In previous releases the TCP transport plugin created unnecessary UDPv4 sockets when running in WAN mode This problem has been resolved RTI Issue ID COREPLG 174 54 4 1
67. ile the local DomainParticipant was running Notice that all memory was properly reclaimed when the local DomainParticipant was deleted This is why tools such as valgrind did not report this issue as a memory leak This problem has been resolved RTI Issue ID CORE 6723 4 5 16 Unexpected PRESPsService__ destroyLocalEndpointWithCursor remove remote endpoint Warning Message You may have seen the following warning message when using DomainParticipant ignore_par ticipant in a DomainParticipant to ignore itself PRESPsService destroyLocalEndpointWithCursor remove remote endpoint This warning message was misleading and it has been removed RTI Issue ID CORE 6802 4 5 17 Unnecessary Participant Announcements after Participant Leaves the System Under certain circumstances a participant may have continued to send Participant Announcements to des tinations associated with remote participants that had already left the system even if those destinations were not part of the initial discovery peers In particular this issue may have occurred for multicast or unicast destinations when the Dis coveryQosPolicy s accept_unknown_peers was set to true the default This problem has been resolved RTI Issue ID CORE 6555 4 6 Fixes Related to Distributed Logger 4 6 1 Default Filter Level for Java The default setting for Distributed Logger s filter level was TRACE when it should have been INFO This problem has been resolve
68. ility problem by regenerating the code with version of rtiddsgen distributed with RTI Data Distribution Service 4 4d You can also upgrade your whole system to this release 3 2 3 2 Other API and Behavior Changes Code Compatibility Issue in C Applications using Dynamic Data If you are upgrading from a release prior to 4 5f and use Dynamic Data in a C application you may need to make a minor code change to avoid a compilation error The error would be similar to yFile cpp 1060 error could not convert Ou 4294967295u 4294967295u Ou to DDS _DynamicDataTypeSerializationProperty t yFile cpp 1060 warning extended initializer lists only available with std c 0x or std gnut 0 yFile cpp 1060 warning extended initializer lists only available with std c 0x or std gnut 0x VE cpp LOGO errors COule not convert Ol 69556L LOZAL To MDDS DynamucDacarroperuye r 3 2 3 2 Other API and Behavior Changes MyFile cpp 1060 error could not convert Oun 4294967295u 4294967295u Ou to DDS _DynamicDataTypeSerializationProperty t The code change involves using a constructor instead of a static initializer Therefore if you have code like this DDS DynamicDataTypeProperty properties DDS DynamicDataTypeProperty t INITIALIZER typeSupport new DDSDynamicDataTypeSupport typeCode properties Replace the above with this DDS DynamicDataTypeProperty t properties typeSupport ne
69. ilter caused the following kinds of com parisons which should be false to be mistakenly evaluated as true e Comparisons involving unset null optional members e Comparisons involving sequence members above the actual length e Comparisons involving unselected union members For example given the following IDL type 30 4 4 9 Possible Segmentation Fault from ContentFilteredTopic Evaluation for Samples of Types with Strucc A ff string reguiretl Sites string opt onal sir Optional The expression required_str Hi AND optional _str Bye would evaluate as true when required _str Hi and optional _str NULL Only AND expressions had this problem Expressions such as required _str Hi OR optional str Bye and optional _str Bye were not affected This problem has been resolved and all those kind of comparisons will evaluate to false as expected RTI Issue ID CORE 6684 4 4 9 Possible Segmentation Fault from ContentFilteredTopic Evaluation for Samples of Types with wstrings The evaluation of a content filter may have caused a segmentation fault if all of these conditions were met e The DataReader was a DynamicDataReader a DataReader in the Java API or a DataReader expli citly configured to filter on serialized data this last case is not common e The data type contained one or more wstrings e The C memory layout of the data type and the wstring member had a specific alignment This problem has been re
70. ing IDL type struct Myrtyps i unsigned long ul he If you set ul to 1500 FooSupport_print_data may have printed 0 instead This problem has been resolved RTI Issue ID CORE 6154 4 13 13 Error When Enabling DomainParticipant A DomainParticipant could not be enabled if it was configured to use Secure WAN Transport When this issue occurred the following message was displayed NDDS Transport WAN plugin property from DDS property Unexpected property dds transport wan plugin wan parent domain participant ptr Closest valid property dds transport wan plugin wan parent parent domain participant ptr This problem has been resolved RTI Issue ID COREPLG 315 4 13 14 Error Writing Primitive Sequences with Maximum of Zero Elements NET API Only In previous releases when using the NET API if you published a sample in which one of the members was a primitive sequence with a maximum of zero elements the write operation would have failed with an error like this 63 4 13 15 Exception in Java while Using HashMap with DomainParticipantQos as a Key at DDS CdrStream serialize primitive sequence Sequence 1 seg in dds_dotnet 1 0 srccpp managed managed_cdr cpp line 1870 PRESNY iterhistoryDriver initializegemples serialize MerterkhistoryMemory lugin ecdcdenteytogessiconess limirtialize sample WriterHistoryMemoryPlugin getHntry add virtual sample to sessions WriterHistoryMemoryPlugin addSample get entry PRESWrite
71. is problem has been resolved RTI Issue ID CORE 6288 4 13 25 Logging sent Non Printable non ASCII Data to Console Under certain circumstances some of the logging messages printed by Connext DDS included non print able characters In particular this issue was triggered when logging verbosity was set to STATUS_ALL and logging category was set to COMMUNICATION When this issue was triggered the value for the key associated to certain events was not correctly printed as in the following example COMMENDAnonWriterService onDomainBroadcastEvent writing periodic keyed data SN 0x000000001 key 16 L7 0 bytes This problem has been resolved RTI Issue ID CORE 6181 4 13 26 Memory Leak in Unmanaged Code when Using NET API Deleting a DataWriter DataReader or DomainParticipant in the NET API caused memory leaks in unmanaged code These memory leaks were related to built in types and type registration This problem 66 4 13 27 Monitoring Library Generated Incorrect Values for CPU and Memory Usage OS X Platforms has been resolved RTI Issue ID CORE 6780 4 13 27 Monitoring Library Generated Incorrect Values for CPU and Memory Usage OS X Platforms Only On OS X platforms the CPU and memory usage values generated by RTI Monitoring Library were always zero This problem has been resolved RTI Issue ID MONITOR 199 4 13 28 NET Instances of Some Classes were not Garbage Collected Instances of certain classes wer
72. iscoveryQosPolicy was not being used to set the pri ority of discovery packets sent over unicast Instead these packets used a priority of 0 This problem has been resolved now metatraffic_transport_priority sets the transport priority of all discovery packets instead of just Heartbeat and Liveliness packets RTI Issue ID CORE 6180 4 5 3 DomainParticipantResourceLimitsQosPolicy s ignored_entity_ allocation max_count had no Effect Connext DDS provides a way to ignore remote entities by invoking any of the following DomainPar ticipant operations ignore_participant ignore_publication and ignore_subscription When an entity is ignored Connext DDS adds it to an internal ignore table whose resource limits are configured using the DomainParticipantResourceLimitsQosPolicy s ignored_entity_allocation max_count There was an issue that prevented ignored_entity_allocation max_count from being enforced Con sequently allocated memory could grow to an unlimited size This problem has been resolved RTI Issue ID CORE 6176 4 5 4 Memory Leak upon Remote Participant Discovery If the DomainParticipantResourceLimitsQosPolicy s transport_info_list_max_length was greater than zero receiving remote Participant announcements may have triggered a memory leak This problem has been resolved RTI Issue ID CORE 6562 4 5 5 Modified RTPS Wire Protocol Built in Endpoint Mask to Match OMG Specification The builtin endpoint mask ser
73. ist_max_length in the DomainParticipantResourceLimitsQosPolicy See Table 8 12 in the RTI Connext DDS Core Libraries User s Manual for more details about this field UDPv4 UDPv6 WAN and TCP Section Table 3 2 on the next page and Shared Memory Section Table 3 3 on the next page show the new default transport settings 3 5 2 4 Changes to Peer Descriptor Format Table 3 2 UDPv4 UDPv6 WAN and TCP New Default bytes Old Default bytes Non INTEGRITY Platforms INTEGRITY Platforms send_socket_buffer_size 9 216 131 072 131 072 recv_socket_buffer_size 9 216 131 072 131 072 Table 3 3 Shared Memory New Default bytes Old Default bytes Non INTEGRITY Platforms INTEGRITY Platforms receive buffer size 73 728 1 048 576 18 432 3 5 2 4 Changes to Peer Descriptor Format In Connext DDS 5 1 0 the way in which you provide a participant ID interval changed from a b to a b 3 5 3 Transport Compatibility for Connext DDS 5 2 0 In Connext DDS 5 2 0 the UDPv6 and SHMEM transport kinds changed to address an RTPS com pliance issue RTI Issue ID CORE 5788 aDue to limits imposed by the INTEGRITY platform the new default settings for all INTEGRITY platforms are treated differently than other platforms Please see the RTI Connext DDS Core Libraries Platform Notes for more information on the issues with increasing the message_size_max default values on INTEGRITY platforms Notice that interoperation with INTEGRITY platform
74. lear on a sample before it is deserialized If the sample type has a sequence the clear method for the sequence is also called In previous releases calling clear on a sequence took a long time because the implementation required a quadratic time This problem has been resolved RTI Issue ID CORE 6222 4 13 10 Deserialization of ByteSeq using ObjectinputStream Failed if Longer than 1024 Bytes Java API Only Using an ObjectInputStream to deserialize a type with a ByteSeq failed if the sequence was longer than 1024 bytes This use case may have applied for example when trying to write and read DDS samples to and from a file The error message read Exception in thread main java io IOException unable to read all expected data This problem has been resolved 62 4 13 11 DomainParticipant enable Threw Exception with No Message when It Failed Java API Only RTI Issue ID CORE 5375 4 13 11 DomainParticipant enable Threw Exception with No Message when It Failed Java API Only If a failure occurred while attempting to enableQ a DomainParticipant the resulting Java Exception con tained an empty message instead of the description of the error This problem has been resolved RTI Issue ID CORE 6325 4 13 12 Error Printing Unsigned Longs with FooSupport_print_data The FooSupport_print_data operation may have printed incorrect values for unsigned long variables on some platforms For example consider the follow
75. led Registration of Builtin Type Java 4 13 32 Possible Crash when Calling take_next_sample After Failed Registration of Builtin Type Java API Only Under certain circumstances a call to a DynamicData DataReader s take_next_sample Q may have caused a JRE crash In particular this issue may have been triggered when take_next_sample was called for a built in type after a failed call to register_type for that same built in type This problem has been resolved RTI Issue ID CORE 6240 4 13 33 Possible Crash if Type Unregistered from Participant while Another Participant Still using that TypbeSupport C API Only If the same TypeSupport was registered to more than one participant and it was unregistered from one of the participants any other participant that tried to use the TypeSupport would crash This scenario could also become a problem with built in topics and types If one participant was deleted and another participant tried to access the built in readers or use the built in types the application would crash This problem has been resolved RTI Issue ID CORE 6695 4 13 34 Possible Failure of copy_from copy_from_no_alloc in a NET Loanable Sequence The operations copy_from and copy_from_no_alloc in a NET Loanable sequence may fail in the maximum number of elements in the source sequence is different than the maximum in the destination sequence A Loanable sequence is a sequence of a type that can be published with
76. linking user defined Requesters and Repliers For example defining two Requesters or two Repliers of different types in the same object file would have caused several duplicate symbol errors There were also some undefined symbols such as lt MyReplier gt _ return_loan where lt MyReplier gt was the name given to a requester declared by using the macro RTI_ CONNEXT_ REQUESTER DECL and defined by including the file connext_c generic connext_c_ requestreply_TReqTRepReplier gen 44 4 11 Fixes Related to Request Reply Communication These problems have been resolved Now it is possible to declare more than one Requester or Replier in the same object file The missing symbols have also been fixed RTI Issue ID REQREPLY 18 4 11 Fixes Related to Request Reply Communication 4 11 1 Requester s receiveReply and Similar APIs Returned Immediately when Infinite Specified C API Only C Requester APIs that allow waiting for the reception of samples with a specified timeout would return immediately if an infinite timeout was specified This problem has been resolved RTI Issue ID REQREPLY 15 4 11 2 Requesters may not have Received Replies of Some Types with Optional Members Java and C APIs Some immutable reply types for instance extensible or final types containing optional members and a spe cific memory layout may have caused a non fatal error This may have occurred when sending or receiv ing a reply sample The non fatal error
77. mote reader using a non addressable locator for a transport with Glass ID 2 This can occur if the transport is not installed and or enabled in the local participant See https community rti com kb what does cant reach locator error message mean for additional info can t reach LOGIE ELAIMNEOOMIER 2 address 0002 0000 0100 0000 0000 0000 0000 0000 port 21m2 encapsulation 21 3 5 3 2 How to Change Transport Settings in 5 2 0 Applications for Compatibility with 5 1 0 means port Epron ey aliras SSi Wy 3 5 3 2 How to Change Transport Settings in 5 2 0 Applications for Compatibility with 5 1 0 If you need compatibility with a previous release there are two ways to do so e By setting the participant property dds transport use_510_compatible_locator_kinds to 1 in the Connext DDS 5 2 0 applications For example lt participant_gqos gt lt property gt lt value gt lt element gt lt name gt dds transport use 510 compatible locator kinds lt name gt lt value gt 1 lt value gt lt element gt lt value gt lt property gt lt participant qos gt e By using the new built in Generic 510TransportCompatibility profile Below is an example of how to inherit from this profile when configuring QoS settings lt qos profile name MyProfile base name Generic 510TransportCompatibility gt lt qos_ profile gt 3 5 4 Transport Compatibility for Connext DDS 5 2 0 on Solaris Platform
78. mples that are smal ler than 120 bytes This communication failure is due to an interaction between the batching QoS settings in the Gen eric HighThroughput profile and the DataReader s max_samples resource limit set in the Built inQosLibExp Generic StrictReliable profile The size of the batches that the DataWriter writes are limited to 30 720 bytes see max_data_bytes This means that if you are writing samples that are smaller than 30 720 max_samples bytes each batch will have more than max_samples samples in it The DataReader cannot handle a batch with more than max_samples samples and the batch will be dropped There are a number of ways to fix this problem the most straightforward of which is to overwrite the DataReader s max_samples resource limit In your own QoS profile use a higher value that accom modates the number of samples that will be sent in each batch Simply divide 30 720 by the size of your samples RTI Issue ID CORE 6411 5 7 Segmentation Fault when Creating DTLS DomainParticipants in Multiple Threads Solaris and QNX Platforms Only On Solaris and QNX platforms the creation of DTLS enabled DomainParticipants is not thread safe and may lead to a segmentation fault in the function RTIOsapiSemaphore_take This issue has been resolved for Windows Linux and Android systems RTI Issue ID COREPLG 264 5 8 Typecodes Required for Request Reply Communication Pattern Typecodes are required when using the Req
79. n in DTLS Transport DomainParticipants communicating with each other using the DTLS transport may have experienced occasional segmentation faults in the function SSL_do_handshake This issue was due to a race con dition and has been resolved RTI Issue ID COREPLG 250 4 12 23 Possible Segmentation Fault during Clean Up of TCP Transport Plugin Allocated Resources Under certain circumstances cleaning up resources in the TCP Transport plugin may have caused a seg mentation fault For example this issue may have been triggered during TCP Transport plugin destruction or after the removal of a remote endpoint This problem has been resolved RTI Issue ID COREPLG 185 4 12 24 Possible Segmentation Fault if TCP Transport Plugin Creation Failed Under certain conditions a failure in the creation of the TCP transport plugin could have caused a seg mentation fault This problem has been resolved RTI Issue ID COREPLG 245 4 12 25 Possible Segmentation Fault on Outgoing Traffic Connection Initialization Under certain circumstances a failure when initializing resources associated with the TCP Transport plu gin s outgoing traffic may have provoked a segmentation fault In particular this issue may have been triggered if there was a failure opening a connection in a TCP Client It may also have been triggered after a failure allocating the queue used by a TCP Server running with force_asynchronous_send enabled This problem has been
80. na aris Soe ctiltioadnedals dyes AAR LA RESAN 4 24 Networking Support malyar Bide soe naa see red Jantech ch Bae Slee te ddne cs Mulddagdenuseuvedsect 4 Chapter 2 Transitioning from 5 1 to 5 2 0aaaaaaaaa000a0000a0 aoaoina naor a raana aonar nr nrarannnnn 6 Chapter 3 Compatibility 3 1 Wire Protocol Compatibility lssi nesioserss ie a aa aai e 7 3 1 1 General Information on RTPS All Releases 0 00 202 e cece eeeeeee 7 3 1 2 Release Specific Information for Connext DDS 5 x Lowe e cece cece eeeeeeeeees 7 3 1 2 1 Large Data with Endpoint Discovery 00 00 22222 cece cece eee eect eeeee 7 3 1 3 Release Specific Information for Connext DDS 4 5 and 5 x oo eee eee ee 8 3212330 CRT PS V erslons 2208080 eto eee i CES SARE he ESOL ES he os hi eS 8 3 1 3 2 double long long unsigned long long or long double Wire Compatibility 8 3 1 3 3 Sending Large Data between RTI Data Distribution Service 4 4d and Older IRGleases SNe Reha AE PRE att RSA Uk E UR es tN ee Nae 8 3 2 Code Compatibility sabe lnrn aa bs ete So ie ead toes a E os 9 3 2 1 General Information All Releases 2 22 00 0020 c cee cece cece cece ee eeees 9 3 2 2 Release Specific Information for Connext DDS 5 x oo icc eee ence eee eeee 10 3 2 2 1 Required Change for Building with C Libraries for QNX Platforms New in Con next DDS 5 0 0 oe A eee 10 3 2 2 2 Changes to Custom Content Filters API 0002 0222222 10 3 2 2 3 Changes to FooData
81. nd 255 are sup ported in Java The problem has been resolved and the value set will be the same value that is returned from the get APIs as long as the values that are set fall within the valid range 0 255 RTI Issue ID CORE 6639 4 8 6 Incorrect Instance Handles on DynamicData DataReaders Subscribing to Topics with Mutable Types The instance handle obtained by invoking the DynamicData DataReader s lookup_instance operation or by accessing the field SampleInfo instance_handle may have been incorrect when DynamicData DataReaders subscribed to a Topic using mutable types with keys containing non primitive fields This issue affected users who tried to republish the samples received by a DynamicData DataReader using the instance handles provided by the same DynamicData DataReader The issue also affected RTI Routing Service The consequence of using the instance handles provided by DynamicData DataReaders to publish new samples is that the same instance may have been identified by two different instance handles ina DDS domain This would cause correctness issues when applying per instance QoS policies such as the His toryQosPolicy DeadlineQosPolicy and others The problem has been resolved RTI Issue ID CORE 6674 4 8 7 Possible Crash when Calling DDS_DynamicData_equals if Types Contained Arrays C and C APIs Only A rare crash may have occurred when calling DDS_DynamicData_equals on samples of a type that contained a
82. ng correctly processed This bug will be fixed in a future release of Connext DDS Micro As a workaround you can disable the shared memory transport in the Connext DDS application and use UDPV4 instead RTI Issue ID EDDY 1615 5 5 Disabled Interfaces on Windows Systems The creation of a DomainParticipant will fail if no interface is enabled and the Dis coveryQosPolicy multicast_receive_addresses list specified either programmatically or through the 76 5 6 HighThroughput and AutoTuning built in QoS profiles may cause Communication Failure when NDDS_DISCOVERY_PEERS file or environment variable contains a multicast address However if NDDS_DISCOVERY_PEERS only contains unicast addresses the DomainParticipant will be successfully created even if all the interfaces are disabled The creation of a DataReader will fail if its TransportMulticastQosPolicy contains a UDPv4 or UPDv6 multicast address 5 6 HighThroughput and AutoTuning built in QoS profiles may cause Communication Failure when Writing Small Samples If you inherit from either the BuiltinQosLibExp Generic StrictReliable HighThroughput or the Built inQosLibExp Generic A utoTuning built in QoS profiles your Data Writers and DataReaders will fail to communicate if you are writing small samples In Connext DDS 5 1 0 if you wrote samples that were smaller than 384 bytes you would run into this problem In version 5 2 0 onward you might experience this problem when writing sa
83. nstance_replaced call back was invalid In particular this issue was triggered when the replacement of empty instances in the DataWriter was enabled that is if the replace_empty_instances member of the DataWriter ResourceLimitsQosPolicy was true which is not the default setting This problem has been resolved RTI Issue ID CORE 6284 4 9 4 Possible Segmentation Fault or Precondition Error when Reading Samples of Previously Disposed Instance When reading keyed samples of an instance that was previously disposed a DataReader may have exper ienced a segmentation fault in the function PRESCstReaderCollator_removeNotAliveSample Q when using the release libraries or the following error when using the debug libraries REDAInlineList removeNodeEA precondition list void 0 node void 0 node gt inlineList list This issue has been resolved RTI Issue ID CORE 6261 4 10 Fixes Related to Linking 4 10 1 Failure when Linking with Other Libraries that Contain Expat Based Parsers In some scenarios the RTI XML parser failed to initialize when linking with third party libraries that included the expat library due a symbol conflict This issue has been resolved by removing the symbol conflicts RTI Issue ID CORE 6043 4 10 2 Linker Errors in C Request Reply API Several linker errors undefined and or duplicate symbols may have occurred when using the C API of the Request Reply communication pattern when
84. ntation fault only occurred when the DataReader tried to remove an expired sample while the user application was holding a loan on the sample Notice that when using the debug libraries the DataReader would not issue a segmentation fault but would enter an infinite loop printing the following message REDALMILIMeShist KemoweNocomAs lpreconditions List voici 0 node roic 0 moco Simlimehisi I list This problem has been resolved RTI Issue ID CORE 6775 4 13 42 Potential Segmentation Fault when Creating DataWriters and DataReaders The creation of a DataWriter and or DataReader may have caused a rare segmentation fault This problem has been resolved RTI Issue ID CORE 6571 4 13 43 Potential Segmentation Fault when Setting AvailabilityQosPolicy s required_matched_endpoint_groups on a DataReader Setting the AvailabilityQosPolicy s required_matched_endpoint_groups to a value other than empty on a DataReader may have caused a segmentation fault This problem has been resolved RTI Issue ID CORE 6719 70 4 13 44 Registering a Type Twice with Same Name Different Type Plugin should have Failed 4 13 44 Registering a Type Twice with Same Name Different Type Plugin should have Failed Registering a type twice with the same name and same type plugin is valid However using a different type plugin is an application error and should return DDS_RETCODE_ PRECONDITION NOT_MET In previous releases this s
85. nxOS LynxOS 4 0 4 2 5 0 target only Mac OS OS X 10 8 10 10 QNX QNX Neutrino 6 4 1 6 5 target only VxWorks VxWorks 5 5 6 3 6 9 6 9 3 2 6 9 4 7 0 target only VxWorks 653 2 3 Windows 7 8 8 1 Windows Server 2003 2008 R2 2012 R2 Windows Vista Windows XP Professional SP2 Table 2 2 Custom Supported Platforms lists additional target libraries available for Connext DDS for which RTI offers custom support If you are interested in using one of these platforms please contact your local RTI representative or email sales rti com Other platforms not listed in this document may be supported through special development and maintenance agreements Contact your RTI sales representative for details Table 2 2 Custom Supported Platforms INTEGRITY INTEGRITY 5 0 11 on PPC 8349 CPU 2 2 Requirements when Using Microsoft Visual Studio Table 2 2 Custom Supported Platforms NI Linux meee Time 3 2 on ARMv7 CPU Linux Red Hat patentee Linux 5 2 on x86 CPU with gce 4 2 1 RedHawk Linux 6 0 onx 4 CPU Linux 6 0 on x64 CPU vwo _Piavonssrantesigsimviecivanees VxWorks VxWorks 6 7 and 6 8 using JamaicaVM 6 2 1 with gcc 4 1 2 2 2 Requirements when Using Microsoft Visual Studio When Using Visual Studio 2008 Service Pack 1 Requirement You must have Visual Studio 2008 Service Pack 1 or the Microsoft Visual C 2008 SP1 Redistributable Package installed on the machine where you are running an applicati
86. o in DataWriter using Dynamic Data Setting the DataWriter property dds data_writer history memory_manager fast_pool pool_buffer_ max_size to zero when the DataWriter was using Dynamic Data may have caused a segmentation fault The problem has been resolved RTI Issue ID CORE 6675 4 8 13 Some DynamicData Serialization Properties Missing Java and NET APIs Only The DynamicData serialization properties min_size_serialized and trim_to_size under DDS_Dynam icDataProperty_t serialization were not present in the Java and NET APIs therefore they could not be configured 41 4 8 14 Some Operations on DynamicData Objects with Optional Members Failed For more information on these properties see Chapter 20 Sample Data and Instance Data Memory Man agement in the RTI Connext DDS Core Libraries User s Manual This problem has been resolved RTI Issue ID CORE 6531 4 8 14 Some Operations on DynamicData Objects with Optional Members Failed The DDS_DynamicData s unbind_complex_member or set_complex_member operations may have failed if the DynamicData object had unset optional members This problem has been resolved RTI Issue ID CORE 6594 4 8 15 Some TypeCode Information Lost when Using DynamicData Java API Only When using DynamicDataTypeSupport in the Java API some of the TypeCode information was lost Spe cifically information about user specified member IDs and optional members was lost possibly causing commun
87. oblem 3 2 2 2 Changes to Custom Content Filters API Starting with Connext DDS 5 0 0 the ContentFilter s evaluate function now receives a new struct DDS_FilterSampleInfo parameter that allows it to filter on meta data The evaluate function of previous custom filter implementations must be updated to add this new para meter 3 2 2 3 Changes to FooDataWriter get_key_value Starting with Connext DDS 5 2 0 the return value of the function FooDataWriter get_key_value has changed from DDS RETCODE_ ERROR to DDS_RETCODE BAD PARAMETER if the instance handle passed to the function is not registered This change in behavior was done to align with the DDS specification RTI Issue ID CORE 6096 3 2 2 4 Changes in Generated Type Support Code in Connext DDS 5 0 0 The rtiddsgen generated type support code for user defined data type changed in 5 0 0 to facilitate some new features If you have code that was generated with rtiddsgen 4 5 or lower you must regenerate that code using the version of rtiddsgen provided with this release 3 2 2 5 Changes in Generated Type Support Code in Connext DDS 5 1 0 The rtiddsgen generated type support code for user defined data type changed in 5 1 0 to facilitate some new features If you have code that was generated with rtiddsgen 5 0 0 or lower you must regen erate that code using the version of rtiddsgen provided with this release 3 2 2 6 New Default Value for DomainParticipant Resource Limit
88. og Messages After Some Errors in TCP Transport 60 4 12 62 Wrong Results for NDDS_ Transport _Support_lookup_transport API 0020 60 4 13 Fixes Related to Other Issues 2 e cece eee cece e cece cece cece eens eee eeeeeeeeeeeeees 60 4 13 1 Access Violation when Calling get on Loaned Sequence if Provided Index Out of Bounds of the Sequence Java API Only _ 22 2222 ooo ee 60 4 13 2 Built in Profiles Overrode DomainParticipantFactoryQos Values Set in Application Code 60 4 13 3 Copy_fromQ Method in Bytes and KeyedBytes Built in Types may have Thrown Exception NET API Only 4 13 4 Crash when Using XML based Application Creation for Multiple Participants 4 13 5 Custom Flow Controller on Built in Discovery DataWriters caused Participant Deletion to Fail 61 4 13 6 DataReader using GROUP_PRESENTATION QOS Stopped Providing Samples to Applic ation im Some Cases 2242 sSece3 ele aon eae Os Ht ie es 61 4 13 7 DDS_TypeCode_equals did not Compare Extensibility Kind of Two Types 62 4 13 8 Deleting Participants was not Thread Safe C and NET APIs Only 62 4 13 9 Deserialization of Samples with Sequences Took a Long Time in Java 220 62 4 13 10 Deserialization of ByteSeq using ObjectInputStream Failed if Longer than 1024 Bytes JavasAPLOnly Mo ssiizi oA eo lk eh aoe Oe ph RE 2h te Se Rn ata Ree I 62 4 13 11 DomainParticipant enable Threw Exception
89. omainParticipant 3 2 Code Compatibility For example lt participant_qos gt lt property gt lt value gt lt element gt lt name gt dds date writer protocol vse 43 large data Tormat lt name gt lt value gt 1 lt value gt lt element gt lt element gt lt name gt ddc modoramrcadernpr ror roco NaS Cun Oe ectisG ONC chte oea lt name gt lt value gt 1 lt value gt lt element gt lt value gt lt participant_qos gt 3 2 Code Compatibility 3 2 1 General Information All Releases The Connext DDS core uses an API that is an extension of the OMG Data Distribution Service DDS standard API version 1 2 RTI strives to maintain API compatibility between versions but will conform to changes in the OMG DDS standard The Connext DDS core primarily consists of a library and a set of header files In most cases upgrading simply requires you to recompile your source using the new header files and link the new libraries In some cases minor modifications to your application code might be required any such changes are noted in this document RTI allows you to define the data types that will be used to send and receive messages To create code for a data type Connext DDS includes RTI Code Generator also known as rtiddsgen For input RTI Code Generator takes a data type description in IDL XML XSD or WSDL format RTI Code Generator generates header files or a class in Java that can be used to send and
90. ome TypeCode Information Lost when Using DynamicData Java API Only 42 4 8 16 Unset Complex Mutable Optional Members not Correctly Serialized using DynamicData 42 4 8 17 Unset Complex Optional Members not Correctly Printed in DynamicData 42 4 8 18 Wide String Support was Missing for DynamicData in Java API 222222 43 4 9 Fixes Related to Instance Management 2 2 22 cece eee ee cc cece eee eee eeeeees 43 4 9 1 Errors after Reregistering an Instance and Exceeding max_total_instances 43 4 9 2 FooDataWriter get_key_value Reported Incorrect Error when Instance did not Exist 43 4 9 3 Invalid Instance Handle Provided by on_instance_replaced Callback if Replacement of Empty Instances was Enabled ooo oo eee eee e cece cece ccc cece cece ceeceeeeeeeeees 44 4 9 4 Possible Segmentation Fault or Precondition Error when Reading Samples of Previously Dis posed Instances Se mena eh A one Sak 6 Pol Aen re In herent 5 cond ane ad UD ariel 22s ae del uel EARR 44 4 10 Fix s Related to bimking i a I el ARE 44 4 10 1 Failure when Linking with Other Libraries that Contain Expat Based Parsers 44 4 10 2 Linker Errors in C Request Reply API 2 02 22 cece eee 44 4 11 Fixes Related to Request Reply Communication 2000 00 c cece cece c cece eee ee eee eee 45 4 11 1 Requester s receiveReply and Similar APIs Returned Immediately when Infinite Spe
91. on linked with dynamic libraries This includes dynamically linked C C and all NET and Java applications The Microsoft Visual C 2008 SP1 Redistribution Package can be downloaded from the following Microsoft websites For x86 architectures http www microsoft com downloads details aspx familyid A 5C84275 3B97 4A B7 A40D 3802B2AF5FC2 amp displaylang en For x64 architectures http www microsoft com downloads details aspx FamilyID ba9257ca 337f 4b40 8c14 157cf dffee4e amp displaylang en When Using Visual Studio 2010 Service Pack 1 Requirement You must have Visual Studio 2010 Service Pack 1 or the Microsoft Visual C 2010 SP1 Redistributable Package installed on the machine where you are running an application linked with dynamic libraries This includes dynamically linked C C and all NET and Java applications To run an application built with debug libraries of the above RTI architecture packages you must have Visual Studio 2010 Service Pack 1 installed The Microsoft Visual C 2010 Service Pack 1 Redistributable Package can be obtained from the fol lowing Microsoft websites aR equires a hardware FPU in the processor and are compatible with systems that have soft float libc 2 3 Disk and Memory Usage e For x86 architectures http www microsoft com download en details aspx id 5555 e For x64 architectures http www microsoft com download en details aspx id 14632 When Using Visual Studio 2012 Re
92. onfigured to use the connection liveliness feature DO065 ENABLE DDS DomainParticipantGlobals initializeWorkerFactoryl Potential library mismatch This may have happened if your application used the static and shared RTI core libraries simultaneously such as using the shared RTI Monitoring library and linking statically with the RTI core libraries This problem has been resolved RTI Issue ID COREPLG 319 4 12 53 Unbounded Memory Growth during TCP Transport Plugin Execution There was an issue that may have provoked an unbounded memory growth during TCP Transport plugin execution In particular this issue may have been triggered when the TCP Transport plugin reconnected to a remote peer This problem has been resolved 57 4 12 54 Unexpected Memory Growth in TCP Transport Client upon Connection Close RTI Issue ID COREPLG 296 4 12 54 Unexpected Memory Growth in TCP Transport Client upon Connection Close There may have been unexpected memory growth of 160 bytes in the TCP Transport plugin upon clos ure of a client data connection This issue affected the TCP Transport plugin running in WAN Asym metric mode as a client Note this was not a leak since the memory was properly returned upon TCP Transport plugin destruction This problem has been resolved RTI Issue ID COREPLG 310 4 12 55 Unexpected Memory Growth in TCP Transport Server upon Connection Close There may have been unexpected memory growth of 16
93. onnext DDS the send win dow size of a DataWriter is set to infinite by default This is done by changing the default values of two fields in DDS_RtpsReliableWriterProtocol_t min_send_window_ size max_send_window _size to DDS_LENGTH_UNLIMITED In RTI Data Distribution Service 4 4d the send window feature was introduced and was enabled by default in 4 5c with min_send_window_size 32 max_send_window size 256 For DataWriters with a HistoryQosPolicy kind of KEEP LAST enabling the send window could cause writes to block and possibly fail due to blocking timeout This blocking behavior changed the expected behavior of applic ations using default QoS To preserve that preestablished non blocking default behavior the send window size has been changed to be infinite by default starting in release 4 5d Users wanting the performance benefits of a finite send window will now have to configure the send win dow explicitly 3 3 Extensible Types Compatibility 3 3 1 General Compatibility Issues Connext DDS 5 x includes partial support for the Extensible and Dynamic Topic Types for DDS DDS XTypes specification from the Object Management Group OMG This support allows systems to define data types in a more flexible way and to evolve data types over time without giving up port ability interoperability or the expressiveness of the DDS type system http www omg org spec DDS XTypes 3 3 2 Java Enumeration Incompatibility Issues F
94. or information related to compatibility issues associated with the Extensible Types support see the RTI Connext DDS Core Libraries Getting Started Guide Addendum for Extensible Types 3 3 2 Java Enumeration Incompatibility Issues Connext DDS 5 2 0 fixed a bug CODEGENII 397 in Java to resolve an interoperability issue with other languages when using enumerations with unordered enumeration values For example enum MyEnum THRE SEO TWO ONE 2 ale Because of this fix a Java DataWriter built with Connext DDS 5 1 0 or lower will not match a DataReader of Connext DDS 5 2 0 or higher if the Topic contains an enumeration of the previous kind with unordered enumeration values and vice versa 3 4 ODBC Database Compatibility To use the Durable Writer History and Durable Reader State features you must install a relational data base such as MySQL In principle you can use any database that provides an ODBC driver since ODBC is a standard However not all ODBC databases support the same feature set Therefore there is no guarantee that the persistent durability features will work with an arbitrary ODBC driver We have tested the following driver MySQL ODBC 5 1 44 Starting with 4 5e support for the TimesTen database has been removed To use MySQL you also need MySQL ODBC 5 1 6 or higher For non Windows platforms UnixODBC 2 2 12 or higher is also required To see if a specific architecture has been teste
95. ory Growth when Calling NDDS Config Logger Set Output APIs 4 13 50 Unbounded Memory Growth when Calling NDDS Config Logger Set Output APIs 4 13 51 Unexpected Error in Publishing Application when Writing Coherent Set of Samples 4 13 52 Unexpected Error when get_matched_subscriptions publications Called Right After Ignoring Subscription Publication _ 2 2 2 eee e eee 4 13 53 Unexpected Memory Growth When Using DDS GROUP PRESENTATION QOS on a DataReader 2225 6 25 aeS debs Jae Soc hi ds ne tou lan eee thats teva E Obs onan A ORAA 4 13 54 Unexpected Timeout from DataReader s wait_for_historical_data when using Delegated Reliability 25 02 2235 oS a ew res Me ee RE te co ete ee 4 13 55 Unexpected Memory Growth when Setting Entity QoS name orrole_ name 4 13 56 Version Number was Missing from Libraries for Windows Platforms 4 13 57 XSD Validation Failed when type_object_max_deserialized_length was UNLIMITED Chapter 5 Known Issues 5 1 AppAck Messages Cannot be Greater than Underlying Transport Message Size 2 5 2 DataReader Cannot Persist AppAck Messages Greater Than 32767 Bytes 222222 22 5 3 DataWriter s Listener Callback on_application_acknowledgment not Triggered by Late Joining DataReaders 4 0 0022 22coceh esate a a e thn 2s ls 2 ceca aninaid ine x Sa tae ane uu Deane 5 4 Discovery with Connext DDS Micro Fails when Shared Memory Transport
96. perly determined when there were no IPv4 interfaces available This typically manifested when only IPv6 interfaces were available on the host This problem has been addressed RTI Issue ID MONITOR 170 4 12 9 Logging Level for TCP Transport Connect Errors Changed from Exception to Warning When a TCP Transport plugin Client disconnected from the Server for example after a cable dis connection the resulting error messages were too verbose In this release the logging verbosity for those 47 4 12 10 Memory Issue upon TCP Transport Plugin Server Disconnection errors has been changed from Exception to Warning RTI Issue ID COREPLG 307 4 12 10 Memory Issue upon TCP Transport Plugin Server Disconnection There was a race condition that may have provoked a segmentation fault in the TCP Transport Plugin server upon a client disconnection As a consequence of this race condition the TCP Transport plugin server may have also run into unbounded memory growth This issue has been resolved RTI Issue ID COREPLG 320 4 12 11 Memory Leak when using UDPv4 Transport Plugin on VxWorks Architectures On a VxWorks system a call to inet_ntoa Q allocates memory The Connext DDS core did not properly release the allocated memory which caused a memory leak This problem has been resolved allocated memory is now properly released RTI Issue ID CORE 6368 4 12 12 Memory Leak in Applications using TCP Transport in Asymmetric Mode There was
97. pport rti com or via the RTI Customer Portal https support rti com 82
98. r or you can run the rtipkginstall script from lt install directory gt bin For example to install the target bundle you would enter this command bin rtipkginstall lt target bundle rtipkg gt The Getting Started Guide has more details on installing e New Directory Structure The second difference you will see is that the directory structure is different This means you should not install in the same place as your current RTI release After you install both the host and target you can find the libraries in rti_connext_dds 5 2 0 lib lt target architecture gt are the header files in rti_connext_dds 5 2 0 include ndds e New Location for Scripts The scripts for all tools services and utilities are now in the bin directory these were in scripts in the previous release Chapter 3 Compatibility 3 1 Wire Protocol Compatibility 3 1 1 General Information on RTPS All Releases Connext DDS communicates over the wire using the formal Real time Publish Subscribe RTPS protocol RTPS has been developed from the ground up with performance interoperability and extensibility in mind The RTPS protocol is an international standard managed by the OMG The RTPS protocol has built in extensibility mechanisms that enable new revisions to introduce new message types extend the existing messages or extend the Quality of Service settings in the product without breaking interoperability RTPS 1 0 was introduced in 2001 The current version i
99. rHistoryDriver addWrite add_sample PRESPsWriter writeInternal collator addWrite WELLES error DDS RSCCOCS Error ERCSOtiOMm GE type DDS Retcocks Bere was thrown This problem has been resolved RTI Issue ID CORE 6137 4 13 15 Exception in Java while Using HashMap with DomainParticipantQos as a Key Use of the java util HashMap class with the DomainParticipantQos as a key produced a NullPoint erException This problem has been resolved RTI Issue ID CORE 6111 4 13 16 Failure Copying Sample after Calling take read not Reported as Error NET API Only After calling takeQ or read on a DataReader a failure when copying a sample was not reported as an error Consequently the user may have received invalid data This problem which only affected the NET API has been resolved RTI Issue ID CORE 6118 4 13 17 FlowController set_property Returned Wrong Error Codes in Some Cases FlowController set_property did not return the correct error codes in some cases e When attempting to modify an immutable property FlowController set_property returned DDS_RETCODE_INCONSISTENT POLICY instead of DDS RETCODE IMMUTABLE _ POLICY e When attempting to pass inconsistent properties it returned DDS_RETCODE BAD PARAM instead of DDS RETURN CODE INCONSISTENT POLICY This problem has been resolved and the correct error codes will be returned 64 4 13 18 IDL Enum did not Implement java io Serializable
100. racter may contain more information than a String character In this case obtaining a value with get_string may result in a loss of information since each wide string character is truncated to fit a Java String character For more information see to API Reference HTML documentation RTI Issue ID CORE 6235 4 9 Fixes Related to Instance Management 4 9 1 Errors after Reregistering an Instance and Exceeding max_total_ instances In some cases after bringing a deleted instance back to the ALIVE instance state and then exceeding the DataReaderResourceLimit max_total_instances you may have seen incorrect behavior and errors such as PRESCstReaderCollator addInstanceEntry unexpected error This problem has been resolved RTI Issue ID CORE 6577 4 9 2 FooDataWriter get_key_value Reported Incorrect Error when Instance did not Exist If the instance handle passed to FooDataWriter get_key_value was not registered this function repor ted DDS_RETCODE_ ERROR instead of DDS RETCODE BAD PARAMETER This problem has been resolved Now the function returns the more specific DDS_RETCODE BAD PARAMETER RTI Issue ID CORE 6096 43 4 9 3 Invalid Instance Handle Provided by on_instance_replaced Callback if Replacement of Empty 4 9 3 Invalid Instance Handle Provided by on_instance_replaced Callback if Replacement of Empty Instances was Enabled In certain circumstances the instance handle provided by the Data Writer s on_i
101. rameters on ContentFilteredTopic not Asso ciated with any Reader 222 0 eee ccc ccc cece eee cccc ccc eeecececececeeeeeeeeees 30 4 4 7 Possible Crash when Using ContentFilteredTopic and Builtin SQL Filter 000 30 4 4 8 Possible Incorrect Filter Results in AND Expressions with Optional Members Sequences OM WMIONS existe ht ed Coe Di ea Ria bts tet bold Ackil eR oA neste be end done ee Rank katte 30 4 4 9 Possible Segmentation Fault from ContentFilteredTopic Evaluation for Samples of Types WAU WSUINOS 3252 4 octet cen dee Mem selon tein e tee daha dhs tithe Bank athena Ves nonba tale ens 31 4 4 10 Segmentation Fault when Creating ContentFilteredTopic with Long Filter Expression 31 4 4 11 Segmentation fault when Using SQL ContentFilteredTopic on Type with Large Maximum Serialized Size 93 232 E AAEE A AES EAE AR 31 4 4 12 Unexpected Memory Growth on DataWriter when Performing Writer Side Filtering on Metadata Fields poeter EAEE T E AEE AE ATENa EENET TEES 32 4 5 Fixes Related to Discovery _ 0 02 00 02 olen ce cee a ae E E aa 32 4 5 1 Discovery Failed on Publisher Side if contentfilter_property_max_length not Long Enough to Deserialize Filter Information _ eea eA AE a A a E EO E R 32 4 5 2 Discovery Packets Sent over Unicast had Incorrect Priority 2 0 2 2 2 ee cece eee eee ee eee 33 4 5 3 DomainParticipantResourceLimitsQosPolicy s ignored entity _allocation max_count had no Eile cts 15 Syete e tamed at ene LUN
102. raries the application acknowledgment of samples out of order for keyed topics may have generated the following precondition error on the DataWriter REDAInlineList _addNodeToBackEA precondition The error message did not impact functional behavior When using the release libraries this issue may have caused DISPOSE or UNREGISTER samples to never be application level acknowledged RTI Issue ID CORE 6404 25 4 1 3 Unable to Send Application Level Acknowledgement Messages when Using Delegated Reliability 4 1 3 Unable to Send Application Level Acknowledgement Messages when Using Delegated Reliability The user specified response data of an explicit application level acknowledgment was never removed when the DataReader was configured to use delegated reliability Consequently the application level acknowledgment messages may have grown unbounded until they no longer fit in an RTPS packet Users would have seen errors indicating that the application level acknowledgment messages could not be sent This problem has been resolved RTI Issue ID CORE 6540 4 1 4 Unexpected Memory Growth on DataWriter when Using Batching and Enabling Application Level Acknowledgement The memory associated with Data Writers using batching and enabling application level acknow ledgements may have grown unbounded over time if writer_qos resource_limits max_samples was set to UNLIMITED Notice that when setting writer_qos resource_limits max_sample
103. re WAN and shared memory transports changed to provide better out of the box performance Consequently Connext DDS 5 1 0 is not out of the box compatible with applications running older versions of Connext DDS or RTI Data Distribution Service To guarantee that communication between two applications always occurs for a given transport keep a consistent value for message_size_max in all applications within a Connext DDS system 3 5 2 2 How to Change Transport Settings in Connext DDS 5 1 0 Applications for Compatibility with 5 0 0 If you need compatibility with a previous release you can easily revert to the transport settings used in Connext DDS 5 0 0 The new built in Baseline 5 0 0 QoS profile contains all of the default QoS values from Connext DDS 5 0 0 Therefore using it in a Connext DDS 5 1 0 application will ensure that Con next DDS 5 0 0 and 5 1 0 applications have compatible transport settings Below is an example of how to inherit from this profile when configuring QoS settings lt qos profile name MyProfile baceimane VEL ie LiMOOSibsOS 8 BrersS alias 5 0 WS lt qos_profile gt 3 5 2 3 How to Change message_size_max in Connext DDS 5 0 0 Applications for Compatibility with 5 1 0 The transport configuration can be adjusted programmatically or by using XML configuration The fol lowing XML snippet shows how to change message_size_max for the built in UDPv4 transport to match the Connext DDS 5 1 0 default setting of 65 5
104. resolved content RTI Issue ID COREPLG 289 51 4 12 26 Possible Segmentation Fault on TCP Transport Plugin Shutdown 4 12 26 Possible Segmentation Fault on TCP Transport Plugin Shutdown In the 5 1 0 38 release a race condition may have lead to a segmentation fault In particular this issue may have been triggered during TCP Transport plugin shutdown This issue has been resolved RTI Issue ID COREPLG 294 4 12 27 Potential Segmentation Fault when Outstanding Asynchronous Writes Exceeded write_buffer_allocation Limits There was a potential segmentation fault when using TCP Transport plugin with Windows IOCP socket monitoring kind In particular this issue may have triggered when the number of outstanding asyn chronous writes exceeded the limit set by the property write_buffer_allocation max_count This issue only affected TCPv4_ LAN and TCPv4 WAN modes it did not affect TLS over TCP modes This prob lem has been resolved RTI Issue ID COREPLG 354 4 12 28 Potential Data Corruption when Using TCP Transport Plugin with force_asynchronous_send Enabled There may have been data corruption if you enabled the TCP Transport plugin s force_asynchronous_ send property while running in LAN or WAN symmetric mode This problem has been resolved RTI Issue ID COREPLG 316 4 12 29 RTPS Auto ID from MAC did not Use MAC Address Darwin and QNX Systems Only There was an issue that prevented generation of the GUID from the MAC address
105. riteParams_t structure were not initialized properly by the constructor in C and by DDS_WriteParams_t_initializeQ in C Similarly some members were not copied by the copy operator in C and by DDS_WriteParams_t_copy in C This may have resulted in wrong beha vior when using the Data Writer s write_w_params operation This issue have been resolved RTI Issue ID CORE 6134 65 4 13 22 JVM Crash when Passing Null Type or Topic Names to Participant s create_topic 4 13 22 JVM Crash when Passing Null Type or Topic Names to Participant s create_topic If the DomainParticipant s create_topic function passed a null value for the type name of topic name this caused a crash in the Java Virtual Machine This problem has been resolved RTI Issue ID CORE 5558 4 13 23 Large Samples Never Repaired in Some Scenarios In scenarios in which the transport property message_size_max was greater than DDS_RtpsReli ableWriterProtocol s max_bytes_per_nack_response historical data samples may not have been delivered When this issue was triggered communication may have been blocked so that the writer could not send data to the reader This issue has been resolved RTI Issue ID CORE 6533 4 13 24 Late Joiner DataReader may not have Received All Historical Data A late joiner DataReader with Durability set to TRANSIENT LOCAL TRANSIENT or PERSISTENT may not have received all the historical data that was available from a matching DataWriter Th
106. rrays This problem has been resolved RTI Issue ID CORE 6528 4 8 8 Possible Crash when Calling DynamicData get_char_seq if Sequence Passed In was Too Small Java API Only When using the DynamicData get_char_seq method in Java if the sequence used to retrieve the value of the char sequence was not large enough to hold the returned sequence this caused a crash This issue has been resolved RTI Issue ID CORE 6632 40 4 8 9 Possible Memory Leak when using DynamicData with Java API 4 8 9 Possible Memory Leak when using DynamicData with Java API There was a memory leak in applications that used the Java API to create DynamicData This problem has been resolved RTI Issue ID CORE 6282 4 8 10 Potential Failure Writing DynamicData Object with Unset Optional Primitive Members A write operation on a DynamicDataWriter with a type containing optional primitive members may have failed if the written sample had unset optional primitive members This problem has been resolved RTI Issue ID CORE 6776 4 8 11 Potential Serialization Errors on DynamicData DataWriters Publishing Types Containing Wide Strings Writing a sample with a DynamicData DataWriter may have failed in some cases if the associated type contained members that were wide strings For example Sieur MyScewec wstring lt 100 gt ml This problem has been resolved RTI Issue ID CORE 6525 4 8 12 Segmentation Fault when Setting pool_buffer_max_size to Zer
107. s with Sparc CPUs In Connext DDS 5 2 0 the SHMEM transport has changed to address a potential bus error on Solaris plat forms on Sparc 64 bit CPUs The change is not backward compatible with previous Sparc Solaris releases 32 bit or 64 bit If a 5 2 0 application tries to communicate with an older version using the shared memory transport you will see this error DOO004 CREATE Participant D0004 ENABLE NDDS Transport Samen la segment compatible incompatible shared memory protocol detected Current version 3 0 not compatible with x 0 aR TI Issue ID CORE 6777 22 3 6 Other Compatibility Issues To avoid this error disable the shared memory transport by setting the QoS policy participant_qos trans port_builtin do that it does not contain the shared memory transport For example CQALciCipsmie CGos gt DELAMSOOw IE lola Wie win lt mask gt UDPv4 lt mask gt lt e anpor buil ia lt participant_qos gt 3 6 Other Compatibility Issues 3 6 1 ContentFilteredTopics e Starting with 5 1 0 Connext DDS includes a change in the generated typecode name when rtidds gen s package option is used in Java This change introduces the following backward com patibility issue DataWriters in 4 5x and below will not be able to perform writer side filtering for Connext DDS 5 1 0 DataReaders using ContentFilteredTopics You will get a ContentFilteredTopic CFT com pilation error message on the DataWriter sid
108. s 2 1 RTI plans to maintain inter operability between middleware versions based on RTPS 2 x 3 1 2 Release Specific Information for Connext DDS 5 x 3 1 2 1 Large Data with Endpoint Discovery An endpoint Data Writer or DataReader created with Connext DDS 5 x will not be discovered by an application that uses a previous release 4 5f or lower if any of these conditions are met The endpoint s TypeObject is sent on the wire and its size is greater than 65535 bytes For inform ation on TypeObjects see the RTI Connext DDS Core Libraries Getting Started Guide Addendum for Extensible Types The endpoint s UserDataQosPolicy value is greater than 65535 bytes TypeObjects and UserDataQosPolicy values with a serialized size greater than 65535 bytes require extended parameterized encapsulation when they are sent as part of the endpoint discovery inform ation This parameterized encapsulation is not understood by previous Connext DDS releases 3 1 3 Release Specific Information for Connext DDS 4 5 and 5 x 3 1 3 Release Specific Information for Connext DDS 4 5 and 5 x Connext DDS 4 5 and 5 x are compatible with RTI Data Distribution Service 4 2 4 5 except as noted below 3 1 3 1 RTPS Versions Connext DDS 4 5 and 5 x support RTPS 2 1 Some earlier releases see Table 3 1 RTPS Versions sup ported RTPS 2 0 or 1 2 Because these RTPS versions are incompatible with each other applications built with Connext DDS RTI Data Distribution Serv
109. s to UNLIMITED this issue was not reported as a memory leak because all the memory was reclaimed after the Data Writer was destroyed If writer_qos resource_limits max_samples was set to a finite number you would have seen errors on the write operation after writer_qos resource_limits max_samples was exceeded This problem has been resolved RTI Issue ID CORE 6750 4 1 5 Unexpected Memory Growth when using DataReader s acknowledge_ sample Operation Using the acknowledge_sample operation to explicitly acknowledge samples in a DataReader resulted in unbounded memory growth which could eventually exhaust the available memory A potential workaround was to use the acknowledge_all operation instead This problem has been resolved RTI Issue ID CORE 6277 4 1 6 Unexpected Timeout Error in DataWriter s wait_for_acknowledgments when using Application Level Acknowledgment Calling wait_for_acknowledgments on a VOLATILE DataWriter may have caused a DDS __ RETCODE_TIMEOUT error even if all the samples in the DataWriter s history were acknowledged by the DataReaders that were alive when the samples were published 26 4 2 Fixes Related to Batching This issue was a race condition that only occurred when new DataReaders appeared after the samples had been published The problem has been resolved RTI Issue ID CORE 6670 4 2 Fixes Related to Batching 4 2 1 Last value Per Instance Not Guaranteed when Using Batching and
110. s will require updating the transport property message_size_max so that it is consistent across all platforms The value 65507 represents the maximum user payload size that can be sent as part of a UDP packet 20 3 5 3 1 Observed Error Messages Petes a oe and lower 5 2 0 and eee noe SHMEM 0x01000000 16777216 Because of this change out the box compatibility with previous Connext DDS releases using both UDPv6 and SHMEM transports is broken Connext DDS 5 1 0 and earlier applications will not com municate out of the box with Connext DDS 5 2 0 applications over UDPv6 and SHMEM See below for how to resolve this 3 5 3 1 Observed Error Messages You may see the following error messages when the UDPvV6 transport is not enabled 5 1 0 Application can t reach locator Transporta AS address 0000 0000 0100 0000 0000 0000 0000 0000 port 21410 encapsulation erans porti p ror eye aliaslisis W 5 2 0 Application PRESParticipant checkTransportInfoMatching Warning discovered remote participant yyyyy using the shmem ISINSOOm Wilt Glass ID 2 This class ID does not match the class ID 16777216 of the same transport in the local participant xxxxx These two participants will not communicate over the shmem Eransporc Check the value of the property Viclels cicelingjoreicie WSS Sil ColmoeiewoilS Jhoyesic ie Maliaels e local participant COMMENDBeWriterService assertRemoteReader Discovered re
111. sert remote reader PRESPsService linkToRemoteReader whDriver gt assertRemoteReader PRESPsService onLinkToRemoteEndpointEvent create linkToRemoteReader This problem has been resolved RTI Issue ID CORE 6426 37 4 7 2 Long Delay Receiving Data from DataWriter with Durable Writer History 4 7 2 Long Delay Receiving Data from DataWriter with Durable Writer History A late joiner DataReader may have taken a long time to receive all historical data from a durable DataWriter even if there were few historical samples For example assume the durable DataWriter is con figured to keep the last sample for each instance last value cache Consider the following sequence of samples S1 Instance 1 S2 Instance 2 91000000 Instance 2 In this case the durable DataWriter will keep only two samples for late joiners S1 Instance 1 and S1000000 Instance 2 The problem was that when a late joiner started up it received S1 from the DataWriter immediately but it took a while to receive 1000000 The durable Data Writer did not manage sample GAP messages effi ciently it generated significant RTPS GAP traffic to declare that it did not have samples S2 to S999999 This problem has been resolved RTI Issue ID CORE 6308 4 7 3 Samples not Acknowledged after Restarting DataWriter in Some Cases In certain scenarios some samples remained unacknowledged after restarting the DataWriter This prob lem only
112. solved and applications can now use wstrings normally RTI Issue ID CORE 6287 4 4 10 Segmentation Fault when Creating ContentFilteredTopic with Long Filter Expression There may have been a segmentation fault when using ContentFilteredTopics In particular this issue may have occurred after creating a ContentFilteredTopic with an expression that resulted in a content filter prop erty larger than the maximum specified by DomainParticipantResourceLimitsQosPolicy s contentfilter_ property_max_length This problem has been resolved RTI Issue ID CORE 5872 4 4 11 Segmentation fault when Using SQL ContentFilteredTopic on Type with Large Maximum Serialized Size Using a SQL ContentFilteredTopic on a Type whose maximum serialized size was greater than 2 32 2 1 may have caused a segmentation fault 31 4 4 12 Unexpected Memory Growth on DataWriter when Performing Writer Side Filtering on Metadata For example this problem may have occurred when using a type with unbounded sequences for which the code generation was done with the unboundedSupport option struct Myrtyps sequence lt long gt m1 he This problem has been resolved RTI Issue ID CORE 6420 4 4 12 Unexpected Memory Growth on DataWriter when Performing Writer Side Filtering on Metadata Fields Performing writer side filtering on metadata fields using the built in SQL filter may have led to unbounded memory growth when new DataReaders using ContentFilteredT opics on th
113. sue ID COREPLG 331 4 12 33 TCP Connections for Server Outgoing Traffic may not have Reopened After Short TCP Client Disconnection Under certain circumstances a short disconnection of a TCP Transport plugin client from the server may have caused communication not to recover In particular the connections associated with the traffic flow ing from the TCP server to the TCP client may have never been restablished This problem has been resolved RTI Issue ID COREPLG 279 4 12 34 TCP Transport Communication Did not Recover after Client Disconnected There was a timing issue that may have prevented the TCP Transport plugin Client from reestablishing communication after a disconnection This problem has been resolved RTI Issue ID COREPLG 306 4 12 35 TCP Transport s enable_keep_alive Property had no Effect on Server Sockets When the TCP Transport plugin s enable_keep_alive property was set to 1 the sockets created by the TCP server did not enable the TCP keep alive socket option This issue did not affect TCP client sock ets This problem has been resolved RTI Issue ID COREPLG 254 53 4 12 36 TCP Transport s enable_keep_alive Property had no Effect on Server Sockets when Using TLS 4 12 36 TCP Transport s enable_keep_alive Property had no Effect on Server Sockets when Using TLS Support When using TLS Support with the TCP transport and the enable_keep_alive property was set to 1 the sockets created by the TCP server d
114. tation Fault on Keyed Reader when Using Collaborative DataWriters or Group Ordered ACcess dorran e hse fe te ke A eae oe ec ee N 69 4 13 39 Possible Race Condition during Participant Deletion may have Caused deadlock risk 1 Ee KO SemNet AAR READ OL RR RES EN A LAEE Seva AOA ee 69 4 13 40 Potential Segmentation Fault after Participant Deletion 0000000000 0002222000222 4 13 41 Potential Segmentation Fault in Unkeyed DataReaders when Trying to Remove Expired SAMpPlSS Lath he o s SONS ee Os seh tes RA Na asta tah Nel E chee tee OM A 4 13 42 Potential Segmentation Fault when Creating DataWriters and DataReaders 4 13 43 Potential Segmentation Fault when Setting AvailabilityQosPolicy s required_matched_ endpoint_groups on a DataReader 0 2 0 2 2 cece cee eee eee eee e eee eeeeeeeeee 4 13 44 Registering a Type Twice with Same Name Different Type Plugin should have Failed 4 13 45 RTI DDS Ping did not Print Data Values when using useKeys and Default Verbosity 4 13 46 Segmentation Fault in Java if Default name or role_name in EntityNameQosPolicy not NULG Joar Severin cotido shit Federals ted dle Bs shawn ogee s ae a a shea toes Sede Mantes 4 13 47 Segmentation Fault when DataWriter Creation Failed because System Running Out of Memory terina tt seas they ie ie tis Eee ie od kobe eI E A A ee ee 4 13 48 TypeCode equal Considered TypeCodes with Arrays of Different Dimensions as Equal 4 13 49 Unbounded Mem
115. ted TCP Transport Plugin Error when TCP Server Sent Data Asynchronously This problem has been resolved RTI Issue ID COREPLG 241 4 12 58 Unexpected TCP Transport Plugin Error when TCP Server Sent Data Asynchronously As a result of losing a TCP connection while sending a TCP packet the TCP server may have ended up in a state that was not properly handled This was a timing issue that only occurred in some cases while using asymmetric mode together with the property force_asynchronous send When this problem occurred the following message was continuously printed NDDS Transport TCPv4 Plugin processControlEvent control protocol error unexpected WRITE event on a NULL SR This problem has been resolved RTI Issue ID COREPLG 247 4 12 59 Unexpected TCP Transport Plugin WSAECONNABORTED Error on Packet Reception when Using IOCP Mode When enabling IOCP monitoring with the property socket_monitoring_kind the TCP transport plugin did not properly catch WSAECONNABORTED errors This may have caused a crash in the TCP Trans port plugin When this problem occurred the following message was printed NDDS Transport TCP SocketGroup_waitForCompletionPacket rror returned by GetQueuedCompletionStatus in SocketGroup wait issuing recvZero errno 10053 An established connection was aborted by the software in your host machine This problem has been resolved RTI Issue ID COREPLG 291 4 12 60 Unnecessary System Reso
116. that should have passed the filter This problem has been resolved RTI Issue ID CORE 6269 4 4 2 Default Content Filter may have Failed to Filter Some Types with Optional Members DynamicData Java and C APIs Only The SQL content filter may have produced undefined behavior typically non fatal errors or incorrect eval uation of the sample being filtered when filtering some non mutable types containing optional members The problem affected content filters on IDL types in the Java and NET APIs and on DynamicData types in all APIs IDL types in the C and C APIs were not affected Only some type definitions with a spe cific layout caused the failure This problem has been resolved RTI Issue ID CORE 6680 4 4 3 Filter Expression Parsing Errors for Variable Names Starting with Reserved Word Due to an issue in the SQL filter expression parser field names starting with a reserved keyword e g ORdinal were not parsed correctly This problem has been resolved RTI Issue ID CORE 3971 4 4 4 Invalid filter_data when ContentFilter s writer_return_loan Invoked If a user registers a C Custom Filter that contains a pointer to a user defined writer_return_loan func tion Connext DDS should call the user s function passing in three parameters void filter_data void 29 4 4 5 Memory Leak if a Custom Content Filter was not Unregistered writer_filter_data and struct DDS_CookieSeq cookies In the previous release the
117. the type assignability algorithm handled enumerations in Connext DDS 5 1 0 some of the monitoring types are not compatible with newer versions of the types This means Connext DDS 5 1 0 applications using the monitoring library may fail to match with the newer versions of the mon itoring types Newer versions of the monitoring library however will match with older versions of the monitoring types because of updates that have been made to the type assignability algorithm The only incompatibility as of the release of 5 2 0 is with the DataReaderDescription and DataWriter Description monitoring types Monitoring applications built with 5 1 0 will not be able to subscribe to the DataReaderDescription and DataWriterDescription topics published by applications that are using version 5 2 0 and later RTI Issue ID MONITOR 188 24 Chapter 4 What s Fixed in 5 2 0 This section describes bugs that have been fixed in this release 4 1 Fixes Related to Application Level Acknowledgement 4 1 1 Invalid Value for valid_response_data in Acknowledgmentinfo NET API Only In the NET API the valid_response_data member in the AcknowledgmentInfo parameter of the DataWriterListener s on_application_acknowledgment callback was always false This prob lem has been resolved RTI Issue ID CORE 6592 4 1 2 REDAInlineList_addNodeToBackEA precondition Error Message when Using Application Level Acknowledgment When using the Connext DDS debug lib
118. tion occurs the participant will be successfully created and will use other transports that have been installed and the shared memory transport will be disabled RTI Issue ID CORE 6518 4 12 18 Participant Creation Failed when All Enabled Network Interfaces were IPv6 To determine part of a DomainParticipant s GUID Connext DDS uses by default the host ID of one enabled non loopback IPv4 network interface If all the interfaces on a machine were configured with IPv6 only the participant creation failed 49 4 12 19 Participant may have Hung on Shutdown if Multicast Enabled or in Presence of Some Applications can alternatively use the MAC address to determine the GUID DDS WirePro tocolQosPolicy rtps_auto_id_kind in DomainParticipantQos However this mechanism also required at least one enabled non loopback IPv4 interface The only way to work around this situation was to manually set the host id via DDS WirePro tocolQosPolicy rtps_host_id This problem has been resolved Now all the options to assign the GUID work in systems where only IPv6 interfaces are available although using the MAC address is recommended to increase uniqueness RTI Issue ID CORE 5955 and CORE 6160 4 12 19 Participant may have Hung on Shutdown if Multicast Enabled or in Presence of Some Firewalls Antivirus A DomainParticipant may have hung on shutdown under one or a combination of the following scen arios e The DomainParticipant and or its
119. to DDS_ APPLICATION AUTO ACKNOWLEDGMENT MODE or DDS_APPLICATION _ EXPLICIT ACKNOWLEDGMENT MODE cannot send AppAck messages greater than the underlying transport message size If a DataReader tries to send an AppAck message greater than the transport message size Connext DDS will print the following error message COMMENDFacade_ sendAppAck add APP ACK to MIG COMMENDSrReaderService sendAppAck send APP ACK PRESPsService onReaderAppAckSendEvent send acknowledgment To recover from the above error the DataReader must acknowledge samples until the size of the AppAck message goes below the transport message size threshold Why does an AppAck message increase its size An AppAck message contains a list of sequence number intervals where each interval represents a set of consecutive sequence numbers that have been already acknowledged As long as samples are acknowledged in order the AppAck message will always have a single interval However when samples are acknowledged out of order the number of intervals and the size of the AppAck will increase For more information see Section 6 3 12 Application Acknowledgment in the R77 Connext DDS Core Libraries User s Manual RTI Issue ID CORE 5329 75 5 2 DataReader Cannot Persist AppAck Messages Greater Than 32767 Bytes 5 2 DataReader Cannot Persist AppAck Messages Greater Than 32767 Bytes A DataReader using durable reader state whose acknowledgment_kind in the Reliabili
120. to fail if they were called right after ignoring an entity with the ignore_publication Q ignore_sub scription operations This problem has been resolved RTI Issue ID CORE 6271 4 13 53 Unexpected Memory Growth When Using DDS_GROUP_ PRESENTATION_QOS on a DataReader DataReaders using DDS_GROUP_ PRESENTATION QOS failed to remove all the information about a remote DataWriter when that DataWriter was deleted This may have caused unbounded memory growth over time as new DataWriters were created and deleted Notice that this issue was not reported as a memory leak because all the memory was reclaimed after the DataReader was destroyed This problem has been resolved RTI Issue ID CORE 6721 4 13 54 Unexpected Timeout from DataReader s wait_for_historical_data when using Delegated Reliability When a DataWriter and matching DataReader were configured for delegated reliability with RTI Per sistence Service the DataReader s wait_for_historical_data operation always returned a TIMEOUT 73 4 13 55 Unexpected Memory Growth when Setting Entity QoS name or role_name error even if the DataReader had not received all historical data from RTI Persistence Service This prob lem has been resolved RTI Issue ID CORE 6351 4 13 55 Unexpected Memory Growth when Setting Entity QoS name or role_name Calling set_qos for an Entity that had a non NULL EntityQosPolicy name or role_name resulted in unbounded memory growth which could ev
121. tps_reliable_writer _fast heartbeat_period Workarounds to this problem included e Setting the virtual heartbeat period smaller than the RTPS fast heartbeat period e Setting writer_qos protocol availability max_data_availability_waiting_time to a finite value to unblock the reader This workaround introduced extra latency This problem has been resolved 61 4 13 7 DDS_TypeCode_equals did not Compare Extensibility Kind of Two Types RTI Issue ID CORE 6499 4 13 7 DDS_TypeCode_equals did not Compare Extensibility Kind of Two Types Given two types that are identical except in their extensibility kind for example one Mutable and one Extensible DDS_TypeCode_equals returned true This problem has been resolved now DDS_TypeCode_equals will return false if two types have dif ferent extensibility kinds RTI Issue ID CORE 6640 4 13 8 Deleting Participants was not Thread Safe C and NET APIs Only When using the C or NET APIs deleting multiple DomainParticipants from different threads was not thread safe This may have caused System AccessViolationExceptions when using the NET API and seg mentation faults when using the C API This problem has been resolved RTI Issue ID CORE 6033 4 13 9 Deserialization of Samples with Sequences Took a Long Time in Java The deserialization of samples with sequences took a long time in Java When a type is marked as EXTENSIBLE or MUTABLE the deserialize function calls c
122. tyQosPolicy is set to DDS_APPLICATION AUTO _ACKNOWLEDGMENT_ MODE or DDS_APPLICATION _ EXPLICIT ACKNOWLEDGMENT MODE cannot persist an AppAck message greater than 32767 bytes To recover from the previous error the DataReader must acknowledge samples until the size of the AppAck message goes below the transport message size threshold For more information see Section 12 4 Durable Reader State in the RTI Connext DDS Core Libraries User s Manual RTI Issue ID CORE 5360 5 3 DataWriter s Listener Callback on_application_acknowledgment not Triggered by Late Joining DataReaders The Data Writer s listener callback on_application_acknowledgment may not be triggered by late join ing DataReaders for a sample after the sample has been application level acknowledged by all live DataReaders no late joiners If your application requires acknowledgment of message receipt by late joiners use the Request Reply communication pattern with an Acknowledgment type see Chapter 22 Introduction to the Request Reply Communication Pattern in the RTI Connext DDS Core Libraries User s Manual RTI Issue ID CORE 5181 5 4 Discovery with Connext DDS Micro Fails when Shared Memory Transport Enabled Given a Connext DDS 5 2 0 application with the shared memory transport enabled a Connext DDS Micro 2 4 x application will fail to discover it This is due to a bug in Connext DDS Micro that pre vents a received participant discovery message from bei
123. uest Reply communication pattern To use this pattern do not use rtiddsgen s noTypeCode flag If typecodes are missing the Requester will log an exception 77 5 9 Uninstalling on AIX Systems RTI Issue ID REQREPLY 3 5 9 Uninstalling on AIX Systems To uninstall Connext DDS on an AIX system if the original installation is on an NFS drive the uninstaller will hang and fail to completely uninstall the product As a workaround you can remove the installation with this command ii i SUNSWALL PAE rti Commerc clels 5 2 0 5 10 Writer side Filtering Functions Can be Invoked Even After Filter Unregistered If you install a ContentFilter that implements the writer side filtering APIs Connext DDS can call those APIs even after the ContentFilter has been unregistered RTI Issue ID CORE 5356 5 11 Writer Side Filtering May Cause Missed Deadline If you are using a ContentFilteredTopic and you set the Deadline QosPolicy the deadline may be missed due to filtering by a DataWriter RTI Issue ID CORE 1634 Bug 10765 5 12 Wrong Error Code After Timeout on write from Asynchronous Publisher When using an asynchronous publisher if write times out it will mistakenly return DDS RETCODE _ ERROR instead of the correct code DDS_RETCODE_TIMEOUT RTI Issue ID CORE 2016 Bug 11362 78 5 13 Known Issues with Dynamic Data 5 13 Known Issues with Dynamic Data e The conversion of data by member access primitives get_X
124. uirements 2 1 Supported Operating Systems Connext DDS requires a multi threaded operating system This section describes the supported host and target systems In this context a host is the computer on which you will be developing a Connext DDS applic ation A target is the computer on which the completed application will run A host installation provides the RTI Code Generator tool rtiddsgen examples and documentation as well as the header files required to build a Connext DDS application for any architecture You will also need a target installation which provides the libraries required to build a Connext DDS application for that particular target architecture Table 2 1 Supported Platforms for Connext DDS 5 2 0 lists the supported platforms See the RTI Connext DDS Core Libraries Platform Notes for more information on each one Table 2 1 Supported Platforms for Connext DDS 5 2 0 AIX AIX 5 3 7 1 Anaoa anit 23 44 INTEGRITY INTEGRITY 5 0 11 10 0 2 and 11 0 4 target only Linux ARM CPU Raspbian Wheezy 7 0 2 1 Supported Operating Systems Table 2 1 Supported Platforms for Connext DDS 5 2 0 CentOS 5 4 5 5 6 0 6 2 6 4 Red Hat Enterprise Linux 4 0 5 0 5 2 5 4 5 5 6 0 6 5 7 Linux SUSE Linux Enterprise Server 11 SP2 SP3 Intel CPU Ubuntu Server 12 04 LTS Ubuntu 14 Wind River Linux 4 Freescale P2020RDB Linux Wind River Linux 3 PowerPC CPU Yellow Dog Linux 4 0 Ly
125. unication from reestablishing once the network interface reconnected This problem has been resolved RTI Issue ID COREPLG 280 4 12 45 TCP Transport Plugin Reported Invalid State Error when Running in Debug Mode Under certain circumstances a TCP Transport plugin running in debug mode may have erroneously logged an error and failed to send data In particular this issue may have been triggered after a connection was disconnected The following error was printed NDDS Transport TCPv4 Plugin verifySendResourceState _ clientEA detected send resource in an invalid state SR DISCONNECTED CC BOUND DC BOUND 55 4 12 46 TCP Transport Plugin Stopped on Asynchronous Send Failure NDDS Transport TCPv4 send sendresource state validation failed This problem has been resolved RTI Issue ID COREPLG 290 4 12 46 TCP Transport Plugin Stopped on Asynchronous Send Failure When using RTI TLS Support and the force_asynchronous_send property in NDDS_Transport_ TCPv4_Property_t or when using TCP and a socket_monitoring_kind also in NDDS_Transport_ TCPv4_Property_t of SELECT an error in the send was incorrectly treated as fatal This could have caused the TCP Transport plugin to shut down This problem has been resolved RTI Issue ID COREPLG 252 4 12 47 TCP Transport Properties parent allow_interfaces_list and parent deny_interfaces_list properties had no Effect The TCP Transport plugin properties parent allow
126. urces Allocated when Transport Priority Left at Default Value In the 5 0 0 35 release there was an issue that may have caused unnecessary waste of system resources in particular memory and sockets This issue was triggered when the TransportPriorityQosPolicy of a DataWriter or the metatraffic_transport_priority field in the DiscoveryQosPolicy was left at the default value This problem has been resolved RTI Issue ID CORE 6774 59 4 12 61 Unreadable Characters in Log Messages After Some Errors in TCP Transport 4 12 61 Unreadable Characters in Log Messages After Some Errors in TCP Transport Errors in the TCP transport may have generated log messages with unreadable characters For example RTIOsapiUtility getErrorString input buffer too small NDDS Transport TCP SocketGroup modify socket error returned by asynchronous operation recvZero in socket group errno 10057 FIFI IFI IF IF lelle lF Fle ele dele le ele m PEET EEEE E E EEEE EET E EEEE EEE EEEE E E EEEE EEHEHE EHEHEHEH NDDS Transport _TCPv4 Plugin clientProcessControlConnect attempt to modify state of socket 1012 in socket group 0574FD40 failed This problem has been resolved RTI Issue ID COREPLG 336 4 12 62 Wrong Results for NDDS_Transport_Support_lookup_transport API There was an issue that prevented NDDS_Transport_Support_lookup_transport from returning a transport that matched the passed in transport_in parameter This issue has been resolved
127. ution Service 4 2e or lower unless you use the use42eA lignment flag when generating code with rtiddsgen Changes in Generated Type Support Code The rtiddsgen generated type support code for user defined data type changed in 4 5 to facilitate some new features If you have code that was generated using rtiddsgen 4 4 or lower you must regenerate that code using the version of rtiddsgen provided with this release Cross Language Instance Lookup when Using Keyed Data Types This issue only impacts systems using RTI Data Distribution Service 4 3 In RTI Data Distribution Service 4 3 keys were serialized with the incorrect byte order when using the Java and NET APIs for the user defined data type resulting in incorrect behavior in the lookup _ instance and get_key methods when using keyed data types to communicate between applications in these languages and other programming languages This issue was resolved in Java starting in RTI Data Distribution Service 4 3e rev 01 and starting in NET in RTI Data Distribution Service 4 4b The Connext DDS NET language binding is currently supported for C and C CLI 3 2 3 2 Other API and Behavior Changes As a result of this change systems using keyed data that incorporate Java or NET applications using both RTI Data Distribution Service 4 3 and this Connext DDS release could experience problems in the lookup_instance and get_key methods If you are affected by this limitation please cont
128. ved RTI Issue ID CORE 6560 4 13 4 Crash when Using XML based Application Creation for Multiple Participants If an application attempted to concurrently create two or more DomainParticipants using XML based Application Creation a crash may have occurred These operations were not thread safe This problem has been resolved RTI Issue ID CORE 6178 4 13 5 Custom Flow Controller on Built in Discovery DataWriters caused Participant Deletion to Fail Installing a custom flow controller on the built in discovery DataWriters by setting the flow_controller_ name of the publication_writer_publish_mode and or subscription_writer_publish_mode fields in the DiscoveryConfigQosPolicy caused the call to DDS_DomainParticipant_delete_contained_entities to fail The flow controllers could not be deleted because the built in DataWriters had not been deleted yet All flow controllers are now deleted after the built in DataWriters are deleted allowing participant destruc tion to complete successfully RTI Issue ID CORE 6511 4 13 6 DataReader using GROUP_PRESENTATION_QOS Stopped Providing Samples to Application in Some Cases A DataReader using GROUP_PRESENTATION_QOS may have stopped providing samples to the application in some cases The issue occurred when the virtual heartbeat period configured with writer_ qos protocol rtps_reliable_writer virtual_heartbeat_period was smaller than the RTPS heartbeat period configured with writer_qos protocoLr
129. w DDSDynamicDataTypeSupport typeCode properties New on_instance_replaced method on DataWriterListener Starting with RTI Data Distribution Service 4 5c and thereby included in Connext DDS there is a new DataWriterListener method on_instance_replaced which supports the new instance replacement fea ture This method provides notification that the maximum instances have been used and need to be replaced If you are using a DataWriterListener from an older release you may need to add this new method to your listener Counts in Cache Status and Protocol Status changed from Long to Long Long Starting with RTI Data Distribution Service 4 5c and thereby included in Connext DDS all the count data types in DataReaderCacheStatus DataReaderProtocolStatus DataWriterCacheStatus and DataWriter ProtocolStatus changed from long to long long in the C C and NETAPIs in order to report the cor rect value for Connext DDS applications that run for very long periods of time If you have an application written with a previous release of RTI Data Distribution Service that is accessing those fields data type changes may be necessary Changes in RtpsReliableWriterProtocol t Starting with RTI Data Distribution Service 4 4c and thereby included in Connext DDS two fields in DDS_RtpsReliableWriterProtocol_t have been renamed Old name disable_positive_acks decrease_sample_keep_duration_scaler New name disable_positive_acks de
130. yCondition Caused Waitset not to be Triggered 2 eee eee eee oraaa ra aaien renons 2T 4 3 2 Disposal of Remote DataWriter may have Caused DataReader s Keyed QueryCondition not tov Tne cer AnyMore eed eres Boe 6 a no a aly ns Bd tse oe cs oh hd Bs 28 4 3 3 Memory Leak when Using QueryConditions on Unkeyed DataReader 28 4 3 4 ReadCondition and Group Access Scope did not Work Correctly 0222 022220222 2 28 4 3 5 ReadCondition not Always Triggered when Samples Available after Losing Remote Par ticipant Liveliness 2 2 2 2 e elec cece c ccc ccc cece cece cece cece ects ee nanaonan 28 4 3 6 WaitSet Operations get_conditions and wait were not Thread Safe 29 4 4 Fixes Related to ContentFilter lt 2200 2232 cost sides sx rea e Seles oes ood oda d a svete a eS daa 29 4 4 1 ContentFilteredTopics may not have Correctly Filtered Some C Types with Inheritance 29 4 4 2 Default Content Filter may have Failed to Filter Some Types with Optional Members DynamicData Java and C APIs Only 00 00000 cece cece cece eeeeeeee 29 4 4 3 Filter Expression Parsing Errors for Variable Names Starting with Reserved Word 29 4 44 Invalid filter_data when ContentFilter s writer_return_loan Invoked 29 4 4 5 Memory Leak if a Custom Content Filter was not Unregistered 200022 02222 30 4 4 6 Memory Leak when Changing Expression Pa
Download Pdf Manuals
Related Search
Related Contents
SoftBank 204SH 取扱説明書 T95045T1 User Manual DIGITALE WETTERVORHERSAGE, FUNK TEMPERATUR Oceanic ATOM 2.0 Watch User Manual Cables Direct 1.2m SCSI-3 HP68 Descargar - Twister Medical Néolibéralisme, mode d`emploi - Pro-Fil general safety 1U3K5VA User Manual(1040311) UHE Installation and User Manual Copyright © All rights reserved.
Failed to retrieve file