0% found this document useful (0 votes)
53 views

RTI Criticalissues

This document summarizes several bugs that have been resolved in RTI Connext versions 5.3.1 and later. It describes 12 bugs related to serialization, filtering, transport issues, and crashes when deleting or matching data types. For each bug, it provides the issue type, a title, description of the problem and resolution, and the version in which the resolution was introduced.

Uploaded by

bejogob209
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

RTI Criticalissues

This document summarizes several bugs that have been resolved in RTI Connext versions 5.3.1 and later. It describes 12 bugs related to serialization, filtering, transport issues, and crashes when deleting or matching data types. For each bug, it provides the issue type, a title, description of the problem and resolution, and the version in which the resolution was introduced.

Uploaded by

bejogob209
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Copyright 2018 Real-Time Innovations, Inc. (RTI).

All Rights Reserved


Critical and blocker bugs and documentation bugs to be aware of since the release of RTI Connext 5.3.1 or RTI Connext Micro 2.4.11
"Resolved - Fixed" indicates the product issue has either been resolved in a more recent (patch, port or customer specific) release or will be released as part of the next major update. Please verify the release notes for your most current release, or contact RTI Support for more information

Issue Type Key Release Notes Title Release Notes Description Workaround Status Resolution Introduced in
Bug CODEGENII-881 Segfault when calling A call to TypeSupport::deserialize_data_from_cdr_buffer may have produced a segfault if the input buffer contained unknown enum values or union discriminators. For example: Resolved Fixed 2.5.0 (5.3.0)
TypeSupport::deserialize_data_from_c {code}
dr_buffer on a buffer containing enum MyEnumSub {
unknown enum values or union unknown,
discriminators ENUM_2,
ENUM_3
};

enum MyEnumPub {
unknown,
ENUM_2,
ENUM_3,
ENUM_4
};

@mutable
struct MyTypePub {
MyEnumPub myEnum;
};

@mutable
struct MyTypeSub {
MyEnumSub myEnum;
};
{code}

If your application called MyTypePubTypeSupport::serialize_data_to_cdr_buffer on a sample in which myEnum was set to ENUM_4 and deserialized the output buffer using the API
MyTypeSubTypeSupport::deserialize_data_from_cdr_buffer, the call to this last API may have produced a segfault.
This problem has been fixed: the call to MyTypeSubTypeSupport::deserialize_data_from_cdr_buffer will deserialize ENUM_4 and convert it to unknown.

Bug CORE-7388 Function DDS.To_DDS_Wide_String When using DDS.To_DDS_Wide_String in Ada to convert a Standard.Wide_String into a DDS.Wide_String, STORAGE_ERROR was raised and the operation failed. This problem has Resolved Fixed
in Ada failed, raising exception been resolved.

Bug CORE-8256 Segmentation fault while looking up When monitoring libraries were enabled in a traditional C++ or .NET application, the use of *lookup_topicdescription()* or *find_topic()* to get a monitoring topic led to a segmentation Resolved Fixed
vendor-specific topics from a fault. This problem has been resolved. These functions now successfully retrieve the monitoring topic.
traditional C++ or .NET application
Similar problems existed for the _Distributed Logger_ topics and the _Security Plugins_ Builtin Logging topic. These problems have also been resolved.
Bug CORE-8295 Possible Continuous Failure to Send When using the shared memory transport and rapidly creating and deleting DomainParticipants, it was possible for a DataWriter or DataReader to continuously fail to send content. The Resolved Fixed 4.1x
over Shared Memory Transport following log message was generated with the NDDS_CONFIG_LOG_VERBOSITY_STATUS_ALL verbosity and NDDS_CONFIG_LOG_CATEGORY_COMMUNICATION category:

{code}
RTINetioSender_send: send failed: locator: shmem://0000:0702:0007:0000:0000:0000:0000:0000:10414
{code}

(The specific locator numbers may differ.)

This problem has been resolved.

Bug CORE-8462 Possible crash in the creation of a Applications creating an SQL content filter for a topic-type that inherits from an aliased type crashed in all the languages' APIs except for the C API. Resolved Fixed
content filter for a type with an aliased
base type For example, the creation of a DataReader with a ContentFilteredTopic based on the following IDL type "Foo" caused this problem (except in the C API):
{code:java}
struct Base { long x; };
typedef Base BaseAlias;
struct Foo : BaseAlias { long y; };
{code}
This problem has been resolved.
Bug CORE-8464 Segmentation Fault When A rare segmentation fault may have occurred in the following scenario: Resolved Fixed 4.1x
Simultaneously Removing Remote
Participant and Sending a Message to * Three DomainParticipants: P1, P2, P3.
a Third Participant * Delete P1.
* P2 receives an announcement (via ParticipantBuiltinTopicData) from P1 that it has been deleted. P2 starts removing P1 as a remote participant.
* Simultaneously, P2 sends a message to P3. For example, it could be an ACKNACK from P2's DataReader to P3's DataWriter.
* While P2 is sending the message, P2 may have crashed with a bad pointer access.

This problem has been resolved.


Bug CORE-8516 Possible crash when applications used The algorithm that verifies the compatibility of two extensible types may have crashed when one of the two types added an aliased primitive member at the end. Resolved Fixed
two extensible types that differed by
one aliased primitive member For example, an application publishing or subscribing T1 and trying to match with an application using T2 would crash:

{code}
struct T1 {
long x;
};

typedef long LongAlias;


struct T2 {
long x;
LongAlias y;
};
{code}

This problem affected types with extensible extensibility (the default). It did not affect types with final or mutable extensibility.

This problem has been resolved.


Bug CORE-8615 Unlikely segfault when deleting a An unlikely segfault may have occurred when deleting a DataReader that was part of a Subscriber, when all of the following was true: Resolved Fixed
DataReader and using GROUP * subscriber_qos.presentation.access_scope was set to DDS_GROUP_PRESENTATION_QOS or DDS_HIGHEST_OFFERED_PRESENTATION_QOS
ordered access * subscriber_qos.presentation.ordered_access was set to TRUE
* the DataReader matched a DataWriter that was part of a Publisher, where publisher_qos.presentation.access_scope was set to DDS_GROUP_PRESENTATION_QOS

This problem has been resolved.


Bug CORE-8671 Potential segmentation fault while The function NDDS_Config_Logger_set_output_device() is not thread-safe. For example, when calling this function to unregister a device, it is possible for a different thread to be Under review Unresolved
unregistering a logger output device logging a message using the device. This situation can lead to a segmentation fault in the function ADVLOGLoggerDeviceMgr_logMessageLNOOP(). This problem has been fixed.
NDDS_Config_Logger_set_output_device() is now thread-safe.
Bug CORE-8710 Segmentation fault when The functions NDDS_Config_Logger_set_output_file_set(), NDDS_Config_Logger_set_output_file(), NDDS_Config_Logger_set_output_file_name(), and Under review Unresolved
simultaneously changing log files and DDS_DomainParticipantFactory_set_qos() were not thread-safe. If any of these functions were called to change the logging output file(s) while a separate thread was writing a log
writing to a log file message, the writing thread may have crashed with a segmentation fault. This problem has been resolved. These functions are now thread-safe.
Bug CORE-8817 Possible increasing memory and CPU A publishing application that enables TopicQuery may have been subject to increasing CPU and memory usage. Resolved Fixed 5.3.0
usage in publishing applications using
TopicQueries This growth was in linear proportion to the preceding number of TopicQueries times the preceding number of samples selected, but growing with respect to a sample only for as long as
such a sample remained present in the DataWriter’s history. That is, removing a sample from the history would reset the contribution to this growth attributed to that sample.

The DataWriter keeps state for each TopicQuery it receives. This state can be deleted when all the samples that the TopicQuery selects have been delivered and acknowledged.
However, some state information was not removed until the samples were replaced (for example, when updating an instance and exceeding the history depth).

Bug CORE-8855 DDS_PublisherQos_copy() in the RTI DDS_PublisherQos_copy() in the RTI Connext DDS C API made a shallow copy for all the DDS_ThreadSettings_t it contained within the asynchronous_publisher members: Resolved Fixed 4.3x
Connext DDS C API made a shallow # asynchronous_batch_thread
copy # thread
# topic_query_publication_thread

Because of this shallow copy, if you made a copy of the DDS_PublisherQos from an original value and finalized the copy by calling finalize(), accessing the original structure would
have caused a crash, since the DDS_LongSeq corresponding to cpu_list would have been cleaned up due to the nature of shallow copy. The crash occurred because
DDS_ThreadSettings_t contained a member of type DDS_LongSeq, which, being a sequence, has just pointers to the actual values on the heap. Since other language wrappers were
calling the C API, this problem was present in all languages.

Now, DDS_PublisherQos_copy() makes a deep copy by replicating the heap values and not just the pointers, in all languages.
Bug CORE-8940 Potential crash when setting A crash may have occurred when using Java monitoring libraries with a new_participant_domain_id different than the default. This issue is now resolved: the Java monitoring libraries Resolved Fixed 5.3.0
new_participant_domain_id in Java no longer crash when setting new_participant_domain_id.
monitoring libraries
Bug CORE-8967 Segmentation fault on destruction of When using the C++ API, a segmentation fault happens if the DomainParticipantFactory is finalized in the same scope as stack-allocated DDSGuardCondition or DDSWaitset Confirmed Unresolved
DDSGuardCondition or DDSWaitset instances.
Bug CORE-8975 Converting DDS.Wide_String to When using Ada's DDS.To_Standard_Wide_String function to convert a DDS.Wide_String to a Standard.Wide_String, the function raised a CONSTRAINT_ERROR and failed to Resolved Fixed
Standard.Wide_String failed convert the string. If used in a DataReader listener, the internal reception thread stopped working without producing error messages and no new samples could be received. This
problem has been resolved.

Bug QUEUEING-670 Sample Lifespan not working when Queuing Service did not expire samples when their lifespan expired, when app_ack_sample_to_producer was disabled on a SharedReaderQueue. Now, even when Resolved Fixed
app_ack_sample_to_producer app_ack_sample_to_producer is disabled, Queuing Service expires samples (using whichever method you use to control lifespan: either the queue_qos or the Lifespan QoS for the
disabled on SharedReaderQueue QueueProducer).
Bug QUEUEING-677 Improper queue shutdown when using When attempting to delete a queue with WAIT_WITHOUT_REPLACEMENT sample replacement policy set, Queuing Service may have hanged or crashed. This problem may have Resolved Fixed 5.2.0
WAIT_WITHOUT_REPLACEMENT occurred during the graceful shutdown of a queue triggered by a remote administration DELETE command. This problem has been resolved.
policy

Bug QUEUEING-678 Replicated Queuing Service instance On Windows systems, a replicated Queuing Service instance may crash immediately after reaching quorum. Under review Unresolved
may crash on Windows machines
This problem has been resolved.

Bug QUEUEING-681 Queuing Service could potentially Queuing Service may have crashed if a full queue became available during shutdown. This problem has been resolved. Resolved Fixed
crash during shutdown
Bug RECORD-933 Replay crashes when incompatible When Replay's administration DataReader uses QoS settings that are incompatible with the administration DataWriters, Replay crashes instead of exiting gracefully. Output like the Confirmed Unresolved
QoS is provided for Administration following will be printed out before the crash:
DataReader {noformat}
RTI Replay 5.3.1 initializing ...
Periodic status announcement enabled.
[D0300|Sub(80000009)|T=rti/replay/administration/command_request|CREATE Reader]DDS_DataReaderQos_to_presentation_qos:!determine multicast transport locators
[D0300|Sub(80000009)|T=rti/replay/administration/command_request|CREATE Reader]DDS_DataReader_create_presentation_readerI:ERROR: Failed to set reader QoS
[D0300|Sub(80000009)|T=rti/replay/administration/command_request|CREATE Reader]DDS_DataReader_createI:!create reader
[D0300|Sub(80000009)|T=rti/replay/administration/command_request|CREATE Reader]DDS_Subscriber_create_datareader_disabledI:!create reader
PLAYBACKRemoteConfigServer_start:!create reader
PLAYBACKRemoteConfigServer_initialize:!create connection
{noformat}
Bug RECORD-941 Replay did not replay instance state The _Replay_ service was not replaying the recorded instance state (NOT_ALIVE_DISPOSED and NOT_ALIVE_NO_WRITERS). This meant that when, for example, a dispose Creating Unresolved
changes message was recorded for an instance, _Replay_ would not dispose that instance. Documentation

This problem has been resolved.

Bug ROUTING-539 Crashed on shutdown if types Routing Service could have randomly crashed during shutdown if it obtained types from both discovery and XML configuration. This problem has been resolved. Resolved Fixed 5.0.0
provided both through discovery and
Bug ROUTING-579 TopicRoutes with TopicQuery proxy A TopicRoute with multiple outputs that enabled TopicQuery proxy mode forwarded live data only to the first output. This problem has been resolved so live data is forwarded to all Resolved Fixed 5.3.0
mode enabled forwarded live data only outputs.
Bug SEC-734 Potential crash in Spy, Ping, or Enabling Security and Secure Distributed Logging on Spy, Ping, or Persistence Service may have provoked a segfault. This problem is now resolved. Creating Unresolved 5.1.1
Persistence Service when enabling Documentation
Secure Distributed Logging
Bug SEC-842 Segmentation Fault When Trying to According to the DDS Security specification, an encoded RTPS message must have an SRTPS_POSTFIX submessage. When trying to decode an RTPS message with an Resolved Fixed 5.2.6
Decode a Malformed RTPS Message SRTPS_PREFIX but no SRTPS_POSTFIX, a segmentation fault would occur in the function MIGRtpsTrustSubmessage_deserializePostfix. This problem has been resolved by
discarding such an RTPS message.

Generated at Tue Dec 04 04:46:58 PST 2018

You might also like