Skip to content

@RedhawkDeployer RedhawkDeployer released this Sep 13, 2019

The effort in REDHAWK 2.2.4 focused on:

  • Enabling the SCA File Manager to return hidden files when requesting a directory listing from the FileSystem or theFileManager.
  • Improving support when adding RFInfo, GPS, and NavData ports to a component. The generated implementation now supports the delegation pattern with the component rather than empty methods that require developer implementations.
  • Documenting how to overload BulkIO ports to implement out-of-band communications (for example, between components implemented on FPGA). Developer documentation is available at
  • Updating SoundSink to detect and use the correct version of gstreamer to enableSoundSink to work on both CentOS 6 and 7; and updating the External Dependencies in the REDHAWK Manual to include the appropriate gstreamerdependencies.
  • Correcting the blocking behavior when using an infinite queue size.
  • Improving the shared memory subsystem to reduce total memory use and provide additional controls to system deployers.
    • Modified behavior such that when BulkIO connections use shared memory for the transport, virtual memory mappings are reused across input connections to reduce the growth of the process' memory space.
    • Changed the default behavior of the shared memory allocator to increase the reuse of shared memory and reduce the growth of heap files.
    • Added runtime metrics to the shared memory allocator for observing and tuning the usage of shared memory on a system. Shared memory allocator metrics are disabled by default. Developer documentation is available at
    • Added configurable settings to the shared memory allocator that are managed via environment variables. These options allow system deployers to tune the shared memory allocator for higher concurrency or lower memory footprint, depending on the expected usage. Developer documentation is available at
  • Updating cleanes to clean the appropriate log location based on the version of omniEvents.
  • Resolving issue with Python sandbox plotting of complex data.
  • Modifying how the Device Manager deploys SharedLibrary devices. It no longer attempts to launch SharedLibrary devices as if they are Executable devices. An error message is displayed and the device is not launched.
  • Updating the REDHAWK SCA Specification and the REDHAWK ICD Specification with the application launch sequence that includes initializeProperties.
  • Fixing a condition in which C++ BulkIO input ports could cause a crash during frequent SRI updates.
  • Modifying behavior in EventChannelManager registerConsumer and registerPubslisher methods. If the event channel in the registration request does not exist, the event channel is created to satisfy the request.
  • Resolving issue with Python components that use both the generic and specific message callbacks. These components no longer have values overwritten in the generic message callback invocation. When associating both a specific message callback and a generic message callback to a message input port, the generic message callback is populated with an id/value pair, where the value is of type any.
  • Adding Boost header includes to some files to allow building with later versions of Boost.
  • Modifying the code generators to only allow persona devices to be created as SharedLibrary (not Executable). When attempting to generate code for a persona device with its xml code type set to Executable, the code generators display an error.


The following fixes were completed in REDHAWK 2.2.4:

Core Framework Fixes

  • Updated to the latest version.
  • Updated BulkIO unit tests by replacing DataSource and DataSink with StreamSource and StreamSink except in cases where DataSource or DataSink itself was being tested. In such cases, the deprecation warnings were silenced.
  • NodeBooter bash completion is installed in the Runtime install whereas previously, it was installed in the Devel rpm.
  • Fixed issue when configuring properties and assigning non-boolean values in Java. The value defaults to false rather than throwing an exception.
  • Fixed issue when using the same stream ID for multiple back-to-back streams into a single port; the SRI no longer gets corrupted.
  • Fixed an issue with multi-domain allocations where the AllocationManager would attempt to allocate all of the original requests on subsequent remote domains, as opposed to only the requests that have not been satisfied.
  • Resolved event channel connection issues when the Domain Manager and omniEvents reside on different hosts and the channel already exists.
  • Fixed issue with Python stream API to properly handle back-to-back streams.
  • Resolved synchronization issues for FrontendTunerDevice's allocateCapacity and deallocateCapacity.

IDE Fixes

  • Fixed the Event Channel processing to use persistent server connections.

Documentation Fixes

  • Corrected parameter definition for sandbox Valgrind in Working with Components, Devices, and Services section of the REDHAWK Manual.
  • Added rh.MSDD to the Basic Devices Section of the Core Assets release notes page and reordered the waveform information.

Special Resolution

The following previously reported Known Issues have been closed in REDHAWK 2.2.4 with the following resolutions:

Core Framework Special Resolutions

  • testExecute in GPP can fail depending on num cpus - Cannot Reproduce

Documentation Special Resolutions

  • Incorrect section numbers and page numbers in REDHAWK SCA Specification and ICD pdfs - Won't Fix - This issue was caused by the unoconv PDF conversion tool. The conversion tool is no longer being used.
Assets 23
You can’t perform that action at this time.