5.4. What’s Fixed in 4.4.0
This section describes bugs fixed in Code Generator 4.4.0 (Connext 7.4.0). These are fixes since Code Generator 4.3.0 (Connext 7.3.0).
Connext 7.4.0 is an early access release. See the Connext Versions and Lifecycle page for more information on RTI’s software release model.
[Critical]: System-stopping issue, such as a crash or data loss.
[Major]: Significant issue with no easy workaround.
[Minor]: Issue that usually has a workaround.
[Trivial]: Small issue, such as a typo in a log.
5.4.1. Generated Code (Python)
5.4.1.1. [Major] @autoid(hash) annotation in Python API ignored when added to types and modules
When a type or module was annotated with @autoid, the generated Python code
ignored it and the member IDs were not calculated based on a hash. Now, any
children of a module/aggregated type annotated with @autoid will use the correct ID.
[RTI Issue ID CODEGENII-2101]
5.4.2. Generated Code (Multiple Languages)
5.4.2.1. [Major] Failure to find included files when they were relative to a file, when using -generateIncludeFiles
Code Generator failed to generate included files when using the flag
-generateIncludeFiles, when the included files were specified with a
path relative to the actual file.
[RTI Issue ID CODEGENII-2078]
5.4.2.2. [Minor] Code Generator server failed to generate code for IDL with forward declaration if you generated code for Python afterwards
If you generated code with Code Generator server for an IDL that had a forward declaration for any language but Python, and then you generated code for a simple IDL without forward declarations, for Python, you saw the following error, even though the IDL for Python didn’t have a forward declaration:
ERROR com.rti.ndds.nddsgen.emitters.PythonEmitter Error when generating code. Python code generation does not support forward declarations
ERROR com.rti.ndds.nddsgen.Main Error generating Source Files
[RTI Issue ID CODEGENII-2072]
5.4.2.3. [Minor] Code Generator server failed to process a file with “include” multiple times
If you ran Code Generator server with a file that had one or more “include” directives, then ran it again with that file, you saw the following error:
ERROR com.rti.ndds.nddsgen.IDLPreprocessor folder/file.idl:1:10: fatal error: file.idl: No such file or directory
1 | #include "file.idl"
| ^~~~~~~~~~~
compilation terminated.
ERROR com.rti.ndds.nddsgen.Main Fail: java.lang.Exception: Error executing cpp preprocessor. Finished with exit value: 1
[RTI Issue ID CODEGENII-2070]
5.4.2.4. [Minor] Code Generator server incorrectly propagated value of -allowedDataRepresentation flag through the different executions
When you used -allowedDataRepresentation in a Code Generator
server call, that flag was propagated to the different calls, so that if
you generated code for this IDL,
@allowed_data_representation(XCDR2)
struct myStruct2 {
long m1;
};
having specified -allowedDataRepresentation xcdr1 in a previous
call, you saw the following error, which was not correct:
ERROR com.rti.ndds.nddsgen.Main Fail: java.lang.RuntimeException: The data representation mask of myStruct2 does not match with the value of the flag -allowedDataRepresentation
[RTI Issue ID CODEGENII-2068]
5.4.2.5. [Minor] Code Generator server failed when processing IDL with common enumerator using -qualifiedEnumerator, then disabling that flag
When you ran Code Generator server with the flag
-qualifiedEnumerator , for the following IDL:
enum ColorA {
GREEN,
BLUE
};
enum ColorB {
GREEN,
RED
};
And then you generated code for a simple IDL (without using the
-qualifiedEnumerator flag), you saw the following error, which was
incorrect:
ERROR com.rti.ndds.nddsgen.emitters.CSourceEmitter Error when generating code for node
ERROR com.rti.ndds.nddsgen.emitters.CSourceEmitter There are multiple enums with a common enumerator, to generate code for C or C++98 you must use the -qualifiedEnumerator flag.
ERROR com.rti.ndds.nddsgen.Main Error generating Source Files
[RTI Issue ID CODEGENII-2067]
5.4.2.6. [Trivial] Code Generator server accumulated specific logging over different calls
Some of the logging of Code Generator server was accumulated over the different calls of Code Generator server, displaying the logging multiple times.
[RTI Issue ID CODEGENII-2071]
5.4.3. Hangs
5.4.3.1. [Major] rtiddsgen_server failed on macOS systems
When you ran rtiddsgen_server on a macOS system, the following error may have occurred:
RTIDDSGEN_read: Timeout, no data to be read on socket 14662
RTIDDSGEN_checkServerConnection: Please check there is no other application listening on port 14662 CMD-16 returned 255
[RTI Issue ID CODEGENII-2060]
5.4.4. Other
5.4.4.1. [Minor] Code Generator failed to import file with capitalized file extension
Code Generator failed to import an input file, regardless of the type
(IDL, .XML, or .XSD), with a capitalized file extension.
[RTI Issue ID CODEGENII-2104]
5.4.4.2. [Minor] Inconsistent IDL code generation for C and C++98
The detection of enumerator collisions for C and C++98 failed to properly detect collisions with other enumerators in different modules or with other elements with the same name. This issue could cause incorrect Code Generator errors, or generated code that would not compile. These errors did not occur for other languages like C++11, C#, Java, and Python.
The code generation process now correctly checks for enumerator
collisions, ensuring consistent behavior across all supported languages.
For C and C++98, code generation correctly fails and provides a message
indicating the need to use the -qualifiedEnumerator option when two
enumerators collide.
[RTI Issue ID CODEGENII-2133]
5.4.4.3. [Trivial] README file generated for Ada showed incorrect path for the makefile
The README generated for Ada examples (when using -language ada) was
not accurate. It stated an incorrect path for building. The generated
README for Ada now gives the correct path for building.
[RTI Issue ID CODEGENII-2105]