.. include:: /../getting_started/vars.rst
.. _section-Regressions730:
Regressions in 7.3.0
********************
The following regressions were introduced in *Connext* 7.3.0.
Core Libraries
==============
Error when setting QoS on Publisher or Subscriber without endpoints
-------------------------------------------------------------------
When changing the Partition QoS Policy of *Publishers* or *Subscribers*
without endpoints (*DataWriters* or *DataReaders*), the operation can
unexpectedly fail and log this error:
.. code-block:: text
FAILURE | Notify of group or partition change.
The likelihood of running into this issue increases with the number of
*Publishers* or *Subscribers* created by your application.
**Fixed in:** 7.5.0
[RTI Issue ID CORE-15322]
.. _CORE-14912:
Crash on DDS_DomainParticipantFactory_finalize_instance when using XML-Based Application Creation
-------------------------------------------------------------------------------------------------
When using XML-Based Application Creation with multiple registered types,
``DDS_DomainParticipantFactory_finalize_instance`` could crash the JVM.
**Fixed in:** 7.4.0
[RTI Issue ID CORE-14912]
.. _CORE-15528:
Unexpected error messages when disposing of an instance while using batching and setting serialize_key_with_dispose to TRUE
---------------------------------------------------------------------------------------------------------------------------
Consider the following |DW| QoS:
.. code-block:: xml
true
true
The data type is keyed, and the serialized key is not aligned to a 4-byte boundary.
Imagine that DataWriter1 registers an instance, and then DataWriter2 uses the
resulting InstanceHandle to write and dispose that instance. DataWriter2
successfully sends one batch with a data sample of a given instance and then
attempts to send another batch whose first sample is a dispose message for that
same instance.
When using release libraries, DataWriter2 will successfully send the second
batch, but the |DR| that is reading the batch from DataWriter2 will experience
this error:
.. code-block:: text
ERROR MIGInterpreter_parse:submessage not aligned to 4
When using debug libraries, DataWriter2 will fail to send the batch and will generate this error:
.. code-block:: text
mig.2.0/srcC/generator/Generator.c:1216:RTI0x200003a:!precondition: "!(sample != ((void *)0) && (((sample)->serializedData[encapsulationIndex].serializedData.pointer == ((void *)0) || ((sample)->serializedData[encapsulationIndex].serializedData.length & 0x3) == 0)) && (((sample)->protocolParameters.pointer == ((void *)0) || ((sample)->protocolParameters.length & 0x3) == 0)))
After fixing this problem, DataWriter2 will successfully send the batch, and
the |DR| will successfully receive the batch when using either release or debug
libraries.
**Not fixed yet**
[RTI Issue ID CORE-15528]
Routing Service
===============
.. _ROUTING-1288:
Unexpected error messages when Routing Service disposes of an instance while using batching and setting serialize_key_with_dispose to TRUE
------------------------------------------------------------------------------------------------------------------------------------------
Consider the following |ROUTINGSERVICE| writer QoS:
.. code-block:: xml
true
true
The data type is keyed, and the serialized key is not aligned to a 4-byte boundary.
Imagine that |ROUTINGSERVICE| successfully sends one batch with a data sample of a given instance
and then attempts to send another batch whose first sample is a dispose message for that same instance.
When using release libraries, |ROUTINGSERVICE| will successfully send the second batch, but the |DR| that is reading the batch from |ROUTINGSERVICE| will experience this error:
.. code-block:: text
ERROR MIGInterpreter_parse:submessage not aligned to 4
When using debug libraries, |ROUTINGSERVICE| will fail to send the batch and will generate this error:
.. code-block:: text
mig.2.0/srcC/generator/Generator.c:1216:RTI0x200003a:!precondition: "!(sample != ((void *)0) && (((sample)->serializedData[encapsulationIndex].serializedData.pointer == ((void *)0) || ((sample)->serializedData[encapsulationIndex].serializedData.length & 0x3) == 0)) && (((sample)->protocolParameters.pointer == ((void *)0) || ((sample)->protocolParameters.length & 0x3) == 0)))
After fixing this problem, |ROUTINGSERVICE| will successfully send the batch, and the |DR| will successfully receive the batch when using either release or debug libraries.
**Not fixed yet**
[RTI Issue ID ROUTING-1288]