REDHAWK 2.2.3
The effort in REDHAWK 2.2.3 focused on:
- Adding a note in the REDHAWK Manual about compiling REDHAWK with newer versions of GCC that default to the C++11 standard.
- Adding code to
DomainEventReader
to recognize and handle object-removed events. - Adding the Querying and Configuring Components and Devices section in the REDHAWK Manual to include instructions on how to interact with properties from programs in C++, Java, or Python.
- Resolving a missing symbol issue for C++
bulkio::SampleDataBlock::copy()
methods. - Improving how
gpp_setup
responds to the host processor. If the processor cannot be determined, user input is requested.
Adding the section, Setting Host Architecture/Computer Processor Name, to the Troubleshooting appendix of the REDHAWK Manual. - Correcting the Domain Manager's behavior when a DCD has an improperly-defined connection (for example, an incorrect port name) between a device and a service. The Domain Manager now correctly completes all other valid connections defined in the DCD.
- Correcting the Device Manager's behavior to successfully reconnect with the Domain Manager in the event that the Domain Manager has to be reset.
- Modifying the
getPacket
function in Java to limit logging, which allows garbage collection to keep up when the argument ingetPacket
is set to zero. - Resolving the following issues related to shared memory transport:
- Rapidly stopping and restarting components with BulkIO shared memory connections could lead to crashes or aborts.
- Incorrect display of owner PID for shared memory heaps in
redhawk-shminfo
. - Resolving issue within the
ProcessThread
base class in C++ to take into account an updated delay value. - Providing the following updates related to generating a component using
createOctaveComponent
: - The contents of the SCD file are generated by inspecting the ports to list the interfaces.
- The contents of the
SoftPkg ID
is based on aDCE:<uuid>
instead of the m-file. - Correcting behavior when an allocation of an FEI device fails. The
frontend_tuner_status
is not updated with the failed allocation's values.
Improvements
The following improvements were added in REDHAWK 2.2.3:
Documentation Improvements
- Added documentation regarding object creation and garbage collection in Java components' and devices'
serviceFunction
.
Fixes
The following fixes were completed in REDHAWK 2.2.3:
Core Framework Fixes
- Resolved issue ensuring
--useloglib
tab complete now works withnodeBooter
. - Added a helpful error message that is displayed when Naming Service is not running.
- Provided the correct commit hash and build timestamp in RPM header.
- Updated test to override methods in
unittest.TestProgram
, for Python versions < 2.7, to skip tests related to Non-Uniform Memory Access (NUMA) when the host does not support NUMA. - Lowered NIC thresholds for Core Framework (CF) regression testing.
- Changed setup and teardown code to prepare the state of
/dev/shm
to allow the test to operate properly. - Increased wait time in
testBusyLoadAvg
test to allow CPU load average to settle. - Updated code to properly identify CPUs on virtual machines.
- Fixed failures with unit test
test_04_ApplicationFactory.py test_ExecParamToConstruct_py
. - Fixed intermittent failures for unit test
test_01_DeviceManager.py test_DeviceBadOverload
. - Resolved issue for GPP to correctly identify CPU affinity for network interfaces that support RX/TX queues.
- Changed wait conditions in the test script so that
test_01_DeviceManager.py DevCppPyJavaDeps
no longer fails intermittently. - When the Python sandbox exits and it has a reference to a Device Manager, the deactivation of the object no longer raises an exception if the object no longer exists.
- Updated
test_13_RedhawkModule.py test_API_remap
to account for new versions ofomniORBpy
. - Added better regression testing checks to deal with slower CI infrastructure.
- Added device checks throughout Core Framework tests to reduce false errors.
- Added smarter check to
test_MessageMarshalJava
to support slower continuous integration. - When a property is configured, if the new value is the same as the old value, the property change callback in the component/device is not triggered.
- Using
getPacket(0)
no longer leads to large memory growth in Java components.
IDE Fixes
- Corrected a resource leak in the command-line plotter.
- Addressed code quality issues.
- Corrected an issue with the
JavaFileFileImplTest.close()
unit test. - Fixed an error in configuring
dataBit
plots. - Improved the robustness of Domain Manager refresh in the Explorer view so that it is less likely to require a manual refresh when the Domain Manager is unexpectedly terminated and restarted.
- Added a very short duration cache of metadata for SCA filesystem objects to reduce network traffic.
- Corrected the
FrontEndDataProvider
to now only listen to the data provider preference to enable/disable the FrontEnd tuners shown in the REDHAWK Explorer view.
Documentation Fixes
- Modified a reference to Allocating a FrontEnd Tuner.
- Corrected capitalization on the REDHAWK Core Assets page.
- Corrected an incomplete sentence in the Manually Including External Libraries section of the REDHAWK Manual.
- Updated references to the node definition file to use
dcd.xml
rather than DCD. - Fixed typos in the REDHAWK Manual.
- Improved information in the Message Producer and Message Consumer sections of the REDHAWK Manual.
- Revised RF Allocation information in the Distributed Computing and RF Devices section of the REDHAWK Manual.
- Corrected capitalization of terms and references to interfaces in the REDHAWK Manual.
- Corrected the term "Linux domain sockets" with "Unix domain sockets" in the Getting Started with REDHAWK Guide and in the REDHAWK Manual.
- Corrected capitalization of the acronyms, "TCP" and "GIOP" in the Optimization appendix.
- Removed bash from code blocks in the Logging Configuration Plugin appendix.
- Updated the documentation repository releases file to enable the manuals to display in release version during development.
- Fixed capitalization inconsistencies.
- Corrected inconsistency of terms in the REDHAWK Manual.
- Removed bash from code blocks in the Configuring Logger Settings and Adjusting Logging at Runtime sections of the REDHAWK Manual.
- Updated the New Domain Manager dialog and revised text in Connecting to a Running Domain section.
- Removed references to 1.8 version of REDHAWK in the External Dependencies appendix.
- Fixed improper sub-section headings in the REDHAWK Manual.
- Fixed a missing reference and corrected an example class name in the Writing Your Own Event Consumer section of the REDHAWK Manual.
- Removed references to 32-bit OS versions that are no longer supported.
- Updated the REDHAWK Manual to include introductory sentences after section headings and before tables to describe the information being presented.
- Updated REDHAWK runtime dependency information to include
bash-completion
, which enables tab completion when running thenodeBooter
command. - Updated the GitHub link on the manuals website pages.
Special Resolution
The following previously reported Known Issues have been closed in REDHAWK 2.2.3 with the following resolutions:
IDE Special Resolutions
- Deleting an unsaved project - Won't Fix - Deleting an unsaved project causes the user to be prompted to press a non-existent Continue button. This is an Eclipse bug. https://bugs.eclipse.org/bugs/show_bug.cgi?id=333406
- Regex support does not work consistently in Event Viewer - Won't Fix - Regex support does not work consistently in Event Viewer due to a bug in Xviewer (https://bugs.eclipse.org/bugs/show_bug.cgi?id=404356).